Penerusan DNS keluar FQDN Cloud DNS

1. Pengantar

ef2d068c413a15bd.png

Codelab ini akan memandu Anda menyiapkan zona penerusan keluar Cloud DNS menggunakan Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) sebagai target penerusan. Fitur ini memungkinkan Anda mengarahkan traffic DNS ke alamat IP yang di-resolve dari nama DNS, bukan hard code alamat IP dalam konfigurasi zona penerusan. Hal ini sangat berguna saat alamat IP DNS resolver backend Anda berubah, karena Anda dapat memperbarui data DNS untuk FQDN, dan Cloud DNS akan otomatis mengambil perubahan tersebut.

Di akhir codelab ini, Anda akan dapat mengonfigurasi zona penerusan Cloud DNS yang menggunakan hal berikut:

  • Target FQDN yang cocok dengan zona pribadi dengan data A/AAAA.
  • Target FQDN yang didukung oleh kebijakan perutean Cloud DNS (geolokasi atau round robin berbobot) untuk afinitas regional atau distribusi traffic.

Ringkasan penerusan FQDN

Dengan penerusan Cloud DNS, Anda dapat me-resolve nama DNS pribadi yang dihosting di luar Google Cloud Platform (misalnya, di infrastruktur lokal atau cloud lainnya) dari resource Google Cloud Platform. Secara tradisional, fitur ini mendukung penerusan ke daftar alamat IP target. Penerusan FQDN memperluas hal ini dengan memungkinkan Anda menentukan FQDN sebagai target penerusan di zona penerusan.

Saat FQDN ditentukan, Cloud DNS akan me-resolve-nya ke alamat IP menggunakan pencarian internal, yang menggunakan logika resolusi jaringan sumber. Artinya, target FQDN dapat cocok dengan zona pribadi, kebijakan perutean DNS (geolokasi atau round robin berbobot), atau bahkan nama domain publik Internet. Cloud DNS kemudian meneruskan kueri ke IP tujuan yang di-resolve.

Yang akan Anda build

Penerusan FQDN regional dengan zona pribadi baru

Anda akan membuat penyiapan yang mencapai afinitas regional untuk traffic DNS. Hal ini melibatkan pembuatan zona DNS pribadi dan mengonfigurasi kebijakan pemilihan rute geolokasi di dalamnya, lalu menautkan zona penerusan ke target FQDN ini. Hal ini memastikan bahwa traffic dari region tertentu (misalnya, us-east1) diteruskan ke server DNS regional yang sesuai.

Penerusan FQDN dengan zona pribadi yang ada

Anda akan mempelajari cara membuat zona penerusan yang menargetkan FQDN yang didukung oleh data A/AAAA dalam zona DNS pribadi yang ada. Ini menunjukkan penerusan kueri ke alamat IP yang ditentukan secara statis yang di-resolve menggunakan target penerusan FQDN.

Yang akan Anda pelajari

Konsep penerusan FQDN

Anda akan memahami bahwa penerusan FQDN memperluas penerusan DNS dengan memungkinkan Anda menentukan target penerusan FQDN, bukan hanya alamat IP sebagai target penerusan untuk kueri keluar.

Manfaat penerusan FQDN

Anda akan mempelajari bahwa fitur ini menghilangkan kebutuhan untuk pembaruan manual saat alamat IP DNS resolver backend berubah, karena Cloud DNS otomatis mengambil perubahan dari data DNS FQDN. Hal ini juga memungkinkan penskalaan infrastruktur DNS yang lebih fleksibel dengan mengizinkan server DNS berada di belakang nama bersama atau diskalakan secara dinamis.

Integrasi dengan kebijakan perutean Cloud DNS

Anda akan mempelajari cara penerusan FQDN dapat digabungkan dengan kebijakan perutean Cloud DNS (geolokasi atau round robin berbobot) untuk mencapai afinitas regional, mengoptimalkan performa untuk deployment yang beragam secara geografis, dan mendistribusikan traffic berdasarkan bobot yang dikonfigurasi.

Sintaksis perintah Google Cloud CLI

Anda akan memahami perintah gcloud dns managed-zones create dan flag-nya yang relevan (--forwarding-targets, --private-forwarding-targets) untuk menyiapkan zona penerusan FQDN.

Prasyarat

Untuk menyelesaikan codelab ini, Anda memerlukan hal berikut:

2. Mempersiapkan

Memahami skenario penerusan FQDN

Penerusan FQDN Cloud DNS mendukung beberapa skenario penggunaan:

  • Zona pribadi dengan data A/AAAA: Jika FQDN cocok dengan data A/AAAA di zona pribadi, alamat IP yang di-resolve akan ditambahkan ke daftar penerusan, dan perilakunya identik dengan penerusan ke alamat IP target secara langsung.
  • Zona pribadi dengan kebijakan geolokasi: Kebijakan geolokasi memungkinkan Anda menentukan geolokasi sumber dan memberikan jawaban yang sesuai, sehingga memverifikasi distribusi traffic berdasarkan geografi. Hal ini penting untuk penerusan dan afinitas DNS regional.
  • Zona pribadi dengan kebijakan weighted round robin (WRR): Kebijakan WRR memungkinkan penentuan bobot yang berbeda per alamat IP untuk nama DNS, yang memverifikasi bahwa traffic didistribusikan sesuai dengan bobot yang dikonfigurasi.
  • Zona publik dengan data A/AAAA: Jika FQDN tidak cocok dengan nama pribadi yang terlihat oleh jaringan yang sama, Cloud DNS akan mencoba me-resolve-nya menggunakan internet publik.

Memahami perintah Google Cloud CLI untuk penerusan FQDN

Untuk membuat zona penerusan dengan target penerusan FQDN menggunakan perintah gcloud CLI, Anda akan menggunakan perintah gcloud dns managed-zones create. Flag kunci untuk menentukan target FQDN adalah --forwarding-targets atau --private-forwarding-targets. Lihat dokumen untuk mengetahui detail tentang metode pemilihan rute standar dan khusus.

  • --forwarding-targets: Daftar alamat IPv4/IPv6 atau satu nama domain server nama target yang akan menerima penerusan kueri dari zona. Diabaikan untuk visibilitas publik. Alamat non-RFC1918 akan diteruskan ke target melalui Internet. Alamat RFC1918 akan diteruskan melalui VPC.
  • --private-forwarding-targets: Daftar alamat IPv4/IPv6 atau satu nama domain server nama target yang akan menerima penerusan kueri dari zona. Diabaikan untuk visibilitas publik. Semua alamat yang ditentukan untuk parameter ini akan dijangkau melalui VPC.

Contoh sintaksis:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --forwarding-targets=DEFAULT_FQDN_TARGET \
    --visibility=private

Perhatikan bahwa Anda dapat menentukan --private-forwarding-targets, bukan --forwarding-targets.

Menyiapkan project Google Cloud Platform

Login ke gcloud CLI.

gcloud auth login

Membuat project.

gcloud projects create my-codelab-project

Aktifkan Cloud DNS API. Mungkin perlu waktu beberapa menit hingga perubahan ini diterapkan.

gcloud services enable dns.googleapis.com

Codelab ini menggunakan jaringan VPC default yang dibuat dengan project baru. Anda juga dapat membuat jaringan baru untuk digunakan.

3. Menyiapkan penerusan FQDN regional (dengan zona pribadi baru)

Skenario ini menunjukkan cara mencapai penerusan DNS regional, yang memastikan traffic dari region tertentu diteruskan ke server DNS dalam region yang sama.

Membuat zona DNS pribadi

Pertama, buat zona DNS pribadi (misalnya, foo.com.) yang akan menghosting FQDN Anda dan kebijakan perutean geolokasi terkait. Zona ini harus terlihat oleh jaringan default Anda.

gcloud dns managed-zones create my-zone \
    --description="Private Zone for FQDN outbound DNS forwarding." \
    --dns-name=foo.com. \
    --networks=default \
    --visibility=private

Membuat kumpulan data kebijakan perutean geolokasi dalam zona pribadi

Selanjutnya, buat kumpulan data (misalnya, geo.foo.com.) dalam my-zone dan terapkan kebijakan pemilihan rute geolokasi. Contoh ini mengonfigurasi alamat IP untuk asia-east1 dan asia-west1.

gcloud dns record-sets create geo.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --routing-policy-type="GEO" \
    --routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"

Catatan: Jika pembatasan wilayah dinonaktifkan (default dan direkomendasikan), kueri akan diarahkan ke region responsif terdekat jika target di region asli tidak responsif.

Membuat zona penerusan dengan target FQDN

Buat zona penerusan (geo.test.com.) yang terlihat di jaringan default yang sama, dan tetapkan geo.foo.com. (FQDN dengan kebijakan perutean geolokasi) sebagai target penerusannya.

gcloud dns managed-zones create my-geo-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
    --dns-name=geo.test.com. \
    --networks=default \
    --private-forwarding-targets=geo.foo.com. \
    --visibility=private

Setiap kueri DNS yang cocok dengan geo.test.com kini diteruskan ke IP yang di-resolve (misalnya, 192.168.0.1 atau 192.168.0.2) dari geo.foo.com., berdasarkan wilayah sumber kueri.

4. Menyiapkan penerusan FQDN (dengan zona pribadi yang ada)

Memiliki zona DNS pribadi yang sudah ada

Asumsikan Anda sudah memiliki zona DNS pribadi bernama my-zone (foo.com.) yang terlihat oleh jaringan default.

Buat data resource DNS dalam zona pribadi ini

Buat data jenis A untuk a.foo.com. dalam my-zone yang ada.

gcloud dns record-sets create a.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --rrdatas=1.2.3.4

Membuat zona penerusan dan menentukan target FQDN

Serupa dengan skenario FQDN regional, buat zona penerusan dan tentukan a.foo.com. sebagai target penerusan.

gcloud dns managed-zones create my-a-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
    --dns-name=a.test.com. \
    --networks=default \
    --private-forwarding-targets=a.foo.com. \
    --visibility=private

Setiap kueri DNS yang cocok dengan a.test.com. akan diteruskan ke alamat IP yang di-resolve 1.2.3.4 dari a.foo.com.

5. Pembersihan

Sebelum zona pribadi dapat dihapus, semua ResourceRecordSet dalam zona pribadi harus dihapus terlebih dahulu (kecuali data NS dan SOA, yang dibuat secara otomatis dan harus selalu ada di zona pribadi).

Hapus kebijakan perutean geolokasi di zona pribadi.

gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"

Hapus data A di zona pribadi.

gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"

Hapus zona pribadi.

gcloud dns managed-zones delete "my-zone"

Hapus zona penerusan untuk kebijakan perutean geolokasi.

gcloud dns managed-zones delete "my-geo-fwd-zone"

Hapus zona penerusan untuk data A.

gcloud dns managed-zones delete "my-a-fwd-zone"

6. Selamat

Selamat, Anda telah berhasil mempelajari cara menggunakan penerusan DNS keluar FQDN.

Bacaan lebih lanjut

Dokumen referensi