Mengelola kebijakan perutean dan health check DNS

Kebijakan perutean DNS mengarahkan traffic berdasarkan jenis kueri (misalnya, round robin atau geolokasi berbobot). Anda dapat mengonfigurasi kebijakan ini dengan membuat kumpulan data resource yang berisi nilai kebijakan perutean tertentu. Nilai ini menentukan cara lalu lintas dirutekan. Misalnya, dalam kebijakan round robin berbobot, setiap kumpulan data resource memiliki bobot yang ditetapkan yang memengaruhi distribusi traffic.

Halaman ini memberikan informasi tentang cara membuat, mengedit, dan menghapus kebijakan perutean DNS, serta mengaktifkan health check menggunakan Cloud DNS. Sebelum menggunakan halaman ini, pahami ringkasan kebijakan DNS.

Untuk menggunakan kebijakan perutean DNS, buat kumpulan data resource dan pilih salah satu kebijakan perutean DNS berikut yang akan diterapkan ke kumpulan data resource:

  • Kebijakan perutean round robin (WRR) berbobot: Gunakan WRR untuk menentukan bobot yang berbeda per kumpulan data resource untuk nama DNS. Kebijakan perutean DNS memastikan traffic didistribusikan sesuai dengan bobot yang dikonfigurasi. Menggabungkan kebijakan perutean WRR dengan kebijakan perutean geolokasi tidak didukung.

  • Kebijakan pemilihan rute geolokasi (GEO): Gunakan GEO untuk menentukan geolokasi sumber dan untuk memberikan jawaban yang sesuai dengan geografi tersebut. Kebijakan perutean geolokasi menerapkan kecocokan terdekat untuk lokasi sumber jika sumber traffic tidak sama persis dengan item kebijakan apa pun.

    GEO memetakan sumber untuk DNS publik dan pribadi dengan cara berikut:

    • Untuk DNS publik: alamat IP sumber atau subnet klien Extension for DNS (EDNS) dari kueri digunakan.
    • Untuk DNS pribadi, subnet klien EDNS tidak digunakan. Lokasi kueri adalah lokasi sistem yang mengirimkan paket untuk kueri tersebut:
      • Untuk kueri dari instance virtual machine (VM) dengan antarmuka jaringan di jaringan VPC, lokasi kueri adalah region yang berisi VM.
      • Untuk kueri yang diterima oleh titik entri kebijakan server masuk, lokasi kueri adalah region tunnel Cloud VPN, lampiran VLAN Cloud Interconnect, atau perangkat Router yang menerima paket untuk kueri. Region alamat IP titik masuk tidak relevan. Untuk informasi selengkapnya, lihat Jaringan dan region untuk kueri masuk di halaman "Kebijakan server DNS".
  • Kebijakan pemilihan rute yang dibatasi wilayah: Gunakan pembatasan wilayah untuk membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif. Untuk informasi selengkapnya tentang pembatasan wilayah, lihat Kebijakan pemilihan rute yang dibatasi wilayah.

  • Kebijakan perutean failover: Gunakan failover untuk menyiapkan konfigurasi pencadangan aktif. Untuk mengetahui detailnya, lihat Kebijakan pemilihan rute failover.

Kebijakan perutean DNS juga mendukung banyak alamat IP untuk setiap lokasi geografis. Jika ditentukan untuk lokasi geografis tertentu, beberapa alamat IP akan ditampilkan sesuai dengan kebijakan WRR dengan bobot yang sama. Menggabungkan kebijakan perutean berbasis geografis dengan kebijakan WRR berbobot khusus tidak didukung.

Health check

Cloud DNS mendukung health check untuk Load Balancer Jaringan passthrough internal dan Load Balancer Aplikasi internal yang mengaktifkan akses global, serta Load Balancer Aplikasi internal lintas region.

Setelah menyiapkan Load Balancer Jaringan passthrough internal, siapkan kebijakan perutean yang sesuai dalam Cloud DNS menggunakan Konsol Google Cloud,gcloud CLI, atau API, yang menentukan Load Balancer Jaringan passthrough internal. Langkah ini meliputi penyiapan beberapa bucket WRR atau GEO, dan setiap bucket dapat berisi beberapa Load Balancer Jaringan passthrough internal.

Untuk Load Balancer Jaringan passthrough internal, Cloud DNS memeriksa informasi respons pada setiap backend instance load balancer untuk menentukan apakah load balancer responsif atau tidak responsif. Cloud DNS menerapkan batas default sebesar 20%, dan jika setidaknya 20% instance backend responsif, endpoint load balancer dianggap responsif. Kebijakan perutean DNS menandai endpoint sebagai responsif atau tidak responsif berdasarkan batas ini, lalu merutekan traffic sebagaimana mestinya.

Untuk Load Balancer Aplikasi internal dan Load Balancer Aplikasi internal lintas region, Cloud DNS memeriksa kondisi keseluruhan Load Balancer Aplikasi internal, dan memungkinkan Load Balancer Aplikasi internal memeriksa sendiri kondisi backend instance.

Jika endpoint ditandai tidak responsif, kondisi berikut dapat terjadi:

  • Jika ada beberapa alamat VIP yang diprogram untuk melanggar kebijakan, hanya alamat VIP sehat yang akan ditampilkan.
  • Jika semua alamat VIP yang diprogram terhadap bucket kebijakan tidak responsif, baris kebijakan tersebut telah gagal. Perilaku berikut berlaku:

    • Untuk kebijakan WRR, Cloud DNS mendistribusikan traffic ke bucket berat sehat berikutnya.
    • Untuk kebijakan GEO yang tidak mengaktifkan pagar, lalu lintas akan beralih ke geografi terdekat berikutnya.
    • Untuk kebijakan dengan pembatasan wilayah yang mengaktifkan pagar, alamat VIP di bucket geografis terdekat akan ditampilkan sebagaimana adanya.
    • Untuk kebijakan failover, Cloud DNS mengalihkan traffic ke bucket failover.
    • Jika semua bucket kebijakan tidak responsif, Cloud DNS akan berperilaku seolah-olah semua endpoint responsif.

Sebelum memulai

Prosedur ini mengasumsikan bahwa Anda telah menyelesaikan langkah berikut:

  1. Membuat zona terkelola dan menyelesaikan prasyarat untuk membuat zona.
  2. Siapkan salah satu load balancer internal berikut:
  3. Membuat aturan penerusan untuk load balancer internal.
  4. Menyiapkan health check untuk load balancer internal.

Membuat kebijakan perutean DNS

Untuk membuat kumpulan data resource dan menerapkan kebijakan perutean ke kumpulan data tersebut, ikuti langkah-langkah berikut.

Konsol

Memulai konfigurasi

  1. Di Konsol Google Cloud, buka halaman Cloud DNS zones.

    Buka zona Cloud DNS

  2. Klik nama zona terkelola yang ingin Anda tambahi data.

  3. Di halaman Zone details, klik Add with routing policy.

Data dasar

  1. Di halaman Create record set with routing policy, di kolom DNS name, masukkan subdomain zona DNS, misalnya, mail. Tanda titik di akhir akan otomatis ditambahkan.

  2. Pilih Jenis data resource—misalnya, A.

  3. Di kolom TTL, masukkan nilai numerik untuk waktu aktif data resource, yang merupakan jumlah waktu yang dapat di-cache. Nilai ini harus berupa bilangan bulat positif.

  4. Di menu Unit TTL, pilih satuan waktu—misalnya, 30 minutes.

  5. Klik Next.

Jenis kebijakan pemilihan rute

  1. Dalam daftar Routing policy, pilih Weighted round robin, Geolocation, atau Failover.
  2. Klik Next.

Data kebijakan pemilihan rute

  1. Jika Anda memilih Weighted round robin, di bagian Data perutean kebijakan round robin berbobot, lakukan tindakan berikut:

    1. Di kolom Weight, masukkan bobot yang sesuai dengan subbagian data resource record (RR) ini. Bobot ini harus berupa angka yang tidak negatif dari 0,0 hingga 1000,0. Rasio traffic yang diarahkan ke target dihitung dari rasio berat individu terhadap total di semua bobot.
    2. Di bagian Add health check target, lakukan hal berikut:

      1. Dalam daftar Project, pilih project tempat aturan penerusan berada.
      2. Dalam daftar Type, pilih internal passthrough Network Load Balancer, internal Application Load Balancer, atau Cross-region internal Application Load Balancer.
      3. Dalam daftar Aturan penerusan, pilih aturan penerusan.

        Aturan penerusan menentukan alamat IP internal, port, dan layanan backend regional atau proxy HTTP(S). Agar Cloud DNS dapat berfungsi dengan health check, Anda harus mengaktifkan akses global untuk load balancer internal.

    3. Untuk mengizinkan alamat IPv4 tanpa health check, pilih Allow IPv4 addresses without health check.

    4. Di kolom Alamat IPv4, masukkan alamat IPv4.

  2. Jika Anda memilih Geolocation, lakukan hal berikut:

    1. Untuk Pembatasan wilayah, pilih Dinonaktifkan atau Diaktifkan. Mengaktifkan pembatasan wilayah akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Di menu Source region, pilih region sumber Google Cloud yang valid, seperti asia-east1.
    3. Di bagian Add health check target, lakukan hal berikut:

      1. Dalam daftar Project, pilih project tempat aturan penerusan berada.
      2. Dalam daftar Type, pilih internal passthrough Network Load Balancer, internal Application Load Balancer, atau Cross-region internal Application Load Balancer.
      3. Dalam daftar Aturan penerusan, pilih aturan penerusan.

        Aturan penerusan menentukan alamat IP internal, port, dan layanan backend regional atau proxy HTTP(S). Agar Cloud DNS dapat berfungsi dengan health check, Anda harus mengaktifkan akses global untuk load balancer internal.

    4. Untuk mengizinkan alamat IPv4 tanpa health check, pilih Allow IPv4 addresses without health check.

    5. Di kolom Alamat IPv4, masukkan alamat IPv4.

  3. Jika Anda memilih Failover, lakukan tindakan berikut:

    1. Di kolom Trickle traffic (%), masukkan persentase traffic yang dikirim ke target failover, terlepas dari status health check target utama.
    2. Di bagian Target utama, lakukan hal berikut:

      1. Dalam daftar Project, pilih project tempat aturan penerusan berada.
      2. Dalam daftar Type, pilih internal passthrough Network Load Balancer, internal Application Load Balancer, atau Cross-region internal Application Load Balancer.
      3. Dalam daftar Aturan penerusan, pilih aturan penerusan.

        Aturan penerusan menentukan alamat IP internal, port, dan layanan backend regional atau proxy HTTP(S). Agar Cloud DNS dapat berfungsi dengan health check, Anda harus mengaktifkan akses global untuk load balancer internal.

    3. Di bagian Kebijakan geolokasi cadangan, lakukan hal berikut:

      1. Untuk Pembatasan wilayah, pilih Dinonaktifkan atau Diaktifkan. Mengaktifkan pembatasan wilayah akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
      2. Di menu Source region, pilih region sumber Google Cloud yang valid, seperti asia-east1.
      3. Di bagian Add health check target, lakukan hal berikut:

        1. Dalam daftar Project, pilih project tempat aturan penerusan berada.
        2. Dalam daftar Type, pilih internal passthrough Network Load Balancer, internal Application Load Balancer, atau Cross-region internal Application Load Balancer.
        3. Dalam daftar Aturan penerusan, pilih aturan penerusan.

        Jika semua alamat IP utama tidak responsif, traffic akan otomatis ditangani sesuai dengan kebijakan geolokasi cadangan.

    4. Untuk mengizinkan alamat IPv4 tanpa health check, pilih Allow IPv4 addresses without health check.

    5. Di kolom Alamat IPv4, masukkan alamat IPv4.

  4. Klik Next.

Tinjau dan buat

  1. Klik Tinjau.
  2. Tinjau kumpulan data Cloud DNS Anda dengan konfigurasi kebijakan perutean.
  3. Opsional: Klik Equivalent comment line untuk melihat perintah gcloud CLI untuk membuat kumpulan data ini dengan kebijakan perutean.
  4. Klik Create.

gcloud

ResourceRecordSet dapat berisi routingPolicy atau rrdatas, tetapi tidak keduanya. Mengubah antara rrdatas atau routingPolicy didukung saat mengupdate ResourceRecordSets. Misalnya, jika Anda ingin mengupdate ResourceRecordSet yang berisi rrdatas, Anda dapat menghapus rrdatas dan menambahkan routingPolicy ke ResourceRecordSet yang sama.

Untuk membuat ResourceRecordSet dan menerapkan kebijakan pemilihan rute ke ResourceRecordSet, ikuti langkah-langkah berikut.

Jalankan perintah gcloud dns record-sets create.

Untuk kebijakan Geografi

gcloud dns record-sets create RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=GEO \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-health-checking

Untuk kebijakan WRR

gcloud dns record-sets create RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=WRR \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-health-checking

Untuk kebijakan pembatasan wilayah

gcloud dns record-sets create RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=GEO \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-geo-fencing
    --enable-health-checking

Untuk kebijakan failover

gcloud dns record-sets create RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=FAILOVER \
    --enable-geo-fencing \
    --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
    --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
    --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
    --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
    --enable-health-checking

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • TTL: TTL dalam hitungan detik saat resolver men-cache ResourceRecordSet ini, seperti 30
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

    Untuk daftar jenis data yang didukung, lihat Memilih jenis data resource.

  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya

  • ROUTING_POLICY_TYPE: jenis kebijakan perutean

    Masukkan WRR untuk round robin berbobot, GEO untuk lokasi geografis, atau FAILOVER untuk kebijakan failover. Anda tidak dapat mengubah kolom ini setelah kebijakan memiliki jenis yang dipilih. Anda hanya dapat menghapus kebijakan dan menambahkan kebijakan baru dengan jenis yang berbeda.

  • ROUTING_POLICY_DATA: data kebijakan perutean

    • Untuk --routing-policy-type=WRR, masukkan daftar yang dipisahkan titik koma dalam format ${weight_percent}:${rrdatas}, seperti .8=203.0.113.1;.2=198.51.100.1. Tentukan bobot sebagai desimal non-negatif. Rasio traffic yang diarahkan ke target dihitung dari rasio setiap bobot terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
    • Untuk --routing-policy-type=GEO, masukkan daftar yang dipisahkan titik koma dalam format ${region}=${IP_address}, seperti asia-east1=198.51.100.1;us-central1=203.0.113.1. Anda dapat menentukan beberapa alamat IP untuk satu wilayah dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
    • Untuk --routing-policy-type=FAILOVER, masukkan nama aturan penerusan yang Anda buat dalam format ${region}=${Forwarding rule name}.

    Anda harus menentukan jenis kebijakan perutean dan data kebijakan perutean. Jika menentukan satu, Anda tidak boleh membiarkan tanda lain kosong.

  • --enable-geo-fencing: untuk kebijakan perutean GEO, hal ini menentukan apakah traffic harus failover lintas region jika semua endpoint di suatu region tidak responsif. Jika ditetapkan, Cloud DNS selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Gunakan --no-enable-geo-fencing untuk menonaktifkan pembatasan wilayah. Jika tidak disetel, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di suatu region tidak responsif. Setelan default-nya adalah false.

  • ROUTING_POLICY_PRIMARY_DATA: target utama yang digunakan untuk kebijakan perutean FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Asalkan setidaknya salah satu dari aturan penerusan ini responsif, alamat IP dari semua aturan penerusan yang baik akan digunakan untuk menjawab kueri untuk nama ini.

  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang digunakan untuk kebijakan perutean FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan di --routing-policy-primary-data tidak responsif. Cloud DNS hanya mendukung target pencadangan berbasis geografis. Format kolom ini cocok dengan --routing-policy-data saat --routing-policy-type = 'GEO', seperti asia-east1=forwarding-rule-2.

  • ROUTING_POLICY_BACKUP_DATA_TYPE: untuk kebijakan perutean FAILOVER, jenis kebijakan perutean yang digunakan data cadangan. Nilai ini harus GEO.

  • BACKUP_DATA_TRICKLE_RATIO: rasio traffic yang akan dikirim ke target cadangan, meskipun setelan primernya responsif. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.

  • --enable-health-checking: flag untuk mengaktifkan health check. Saat menggunakan flag ini, Anda harus memberikan nama aturan penerusan, bukan alamat IP di kolom --routing-policy-data.

API

Gunakan metode resourceRecordSets.create.

Untuk kebijakan Geografi

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
          "geo": {
              "items": [
              {
                  "location": "LOCATION",
                  "healthCheckedTargets": {
                     "internalLoadBalancers": [
                      {
                       "loadBalancerType": "LOAD_BALANCER_TYPE"
                       "ipAddress": "IP_ADDRESS"
                       "port" : "PORT_NUMBER"
                       "ipProtocol": "IP_PROTOCOL"
                       "networkUrl": "NETWORK_URL"
                       "project": "PROJECT"
                       "region": "REGION"
                      }
                     ]
                  }
              },
              {
                  "location": "LOCATION",
                  "healthCheckedTargets": {
                     "internalLoadBalancers": [
                      {
                       "loadBalancerType": "LOAD_BALANCING_TYPE"
                       "ipAddress": "IP_ADDRESS"
                       "port" : "PORT_NUMBER"
                       "ipProtocol": "IP_PROTOCOL"
                       "networkUrl": "NETWORK_URL"
                       "project": "PROJECT"
                       "region": "REGION"
                      }
                     ]
                  }
              },
              }
           ]

        }
     }
}

Untuk kebijakan WRR

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
  "name": "RRSET_NAME",
        "type": "RRSET_TYPE",
        "ttl": TTL,
  "routingPolicy": {
    "wrr": {
      "items": [
        {
          "weight": WEIGHT,
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port" : "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT"
                "region": "REGION"
              }
            ]
          }
        },
        {
          "weight": WEIGHT,
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port" : "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT"
                "region": "REGION"
              }
            ]
          }
        },
      ]
    }
  }
}

Untuk kebijakan GAGAL untuk Geografi

Dalam opsi failover, Cloud DNS hanya mendukung kebijakan GEO.

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
  "name": "RRSET_NAME",
        "type": "RRSET_TYPE",
        "ttl": TTL,
  "routingPolicy": {
    "primaryBackup": {
      "trickleTraffic": TRICKLE_TRAFFIC,
      "primaryTargets": {
        "internalLoadBalancers": [
          {
            "ipAddress": "IP_ADDRESS"
            "ipProtocol": "IP_PROTOCOL"
            "loadBalancerType": "LOAD_BALANCER_TYPE"
            "networkUrl": "NETWORK_URL"
            "port": "PORT_NUMBER"
            "project": "PROJECT"
            "region": "REGION"
           }
         ]
       },
       "backupGeoTargets": {
         "enableFencing": ENABLE_FENCING,
         "items": [
           {
             "location": "LOCATION",
             "rrdatas": [
               "RRDATA"
             ]
           },
           {
             "location": "LOCATION",
             "rrdatas": [
               "RRDATA"
             ]
           }
         ]
       }
     },
   }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti service-zone; nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya
  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A
  • TTL: TTL dalam hitungan detik saat resolver men-cache ResourceRecordSet ini, seperti 30
  • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun setelan primernya responsif; rasio harus antara 0 dan 1, seperti 0.1
  • ENABLE_FENCING: untuk kebijakan perutean GEO, hal ini menentukan apakah traffic akan melakukan failover di seluruh region jika semua endpoint di suatu region tidak responsif. Jika ditetapkan, Cloud DNS selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak disetel, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.
  • LOCATION: untuk kebijakan GEO, geolokasi tempat Anda perlu membuat kebijakan, seperti asia-east1
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RR_DATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1 rrdata2 rrdata3, seperti 198.51.100.1 203.0.113.1...
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb
  • IP_ADDRESS: alamat IP yang dilayani aturan penerusan
  • PORT_NUMBER: nomor port
  • IP_PROTOCOL: menentukan protokol yang digunakan untuk health check; opsi yang valid adalah tcp dan udp
  • NETWORK_URL: URL jaringan tempat aturan penerusan ini diterapkan
  • REGION: region tempat Anda membuat aturan penerusan

Memperbarui kebijakan perutean DNS

Untuk memperbarui kebijakan perutean kumpulan data resource, ikuti langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud, buka halaman Cloud DNS zone.

    Buka zona Cloud DNS

  2. Klik zona yang ingin Anda perbarui kebijakan perutean kumpulan data resource-nya.

  3. Di halaman Zone details, di samping kumpulan data resource yang ingin Anda perbarui, klik Edit.

  4. Setelah melakukan pembaruan yang diperlukan, klik Simpan.

gcloud

Jalankan perintah gcloud dns record-sets update :

Untuk kebijakan Geografi

gcloud dns record-sets update RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=GEO \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-health-checking

Untuk kebijakan WRR

gcloud dns record-sets update RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=WRR \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-health-checking

Untuk kebijakan pembatasan wilayah

gcloud dns record-sets update RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=GEO \
    --routing-policy-data=ROUTING_POLICY_DATA \
    --enable-geo-fencing
    --enable-health-checking

Untuk kebijakan failover

gcloud dns record-sets update RRSET_NAME \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \
    --routing-policy-type=FAILOVER \
    --enable-geo-fencing \
    --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \
    --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \
    --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
    --enable-health-checking

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • TTL: TTL dalam hitungan detik saat resolver men-cache ResourceRecordSet ini, seperti 30
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

    Untuk daftar jenis data yang didukung, lihat Memilih jenis data resource.

  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya

  • ROUTING_POLICY_TYPE: jenis kebijakan perutean

    Masukkan WRR untuk round robin berbobot, GEO untuk lokasi geografis, atau FAILOVER untuk kebijakan failover. Anda tidak dapat mengubah kolom ini setelah kebijakan memiliki jenis yang dipilih. Anda hanya dapat menghapus kebijakan dan menambahkan kebijakan baru dengan jenis yang berbeda.

  • ROUTING_POLICY_DATA: data kebijakan perutean

    • Untuk --routing-policy-type=WRR, masukkan daftar yang dipisahkan titik koma dalam format ${weight_percent}:${rrdatas}, seperti .8=203.0.113.1;.2=198.51.100.1. Tentukan bobot sebagai desimal non-negatif. Rasio traffic yang diarahkan ke target dihitung dari rasio setiap bobot terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
    • Untuk --routing-policy-type=GEO, masukkan daftar yang dipisahkan titik koma dalam format ${region}=${IP_address}, seperti asia-east1=198.51.100.1;us-central1=203.0.113.1. Anda dapat menentukan beberapa alamat IP untuk satu wilayah dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
    • Untuk --routing-policy-type=FAILOVER, masukkan nama aturan penerusan yang Anda buat dalam format ${region}=${Forwarding rule name}.

    Anda harus menentukan jenis kebijakan perutean dan data kebijakan perutean. Jika menentukan satu, Anda tidak boleh membiarkan tanda lain kosong.

  • --enable-geo-fencing: untuk kebijakan perutean GEO, hal ini menentukan apakah traffic harus failover lintas region jika semua endpoint di suatu region tidak responsif. Jika ditetapkan, Cloud DNS selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Gunakan --no-enable-geo-fencing untuk menonaktifkan pembatasan wilayah. Jika tidak disetel, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di suatu region tidak responsif. Setelan default-nya adalah false.

  • ROUTING_POLICY_PRIMARY_DATA: target utama yang digunakan untuk kebijakan perutean FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Asalkan setidaknya salah satu dari aturan penerusan ini responsif, alamat IP dari semua aturan penerusan yang baik akan digunakan untuk menjawab kueri untuk nama ini.

  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang digunakan untuk kebijakan perutean FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan di --routing-policy-primary-data tidak responsif. Cloud DNS hanya mendukung target pencadangan berbasis geografis. Format kolom ini cocok dengan --routing-policy-data saat --routing-policy-type = 'GEO', seperti asia-east1=forwarding-rule-2.

  • BACKUP_DATA_TRICKLE_RATIO: rasio traffic yang akan dikirim ke target cadangan meskipun setelan primernya responsif. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.

  • --enable-health-checking: Mengaktifkan health check aturan penerusan yang disediakan sebagai rrdata ke --routing-policy-data.

API

Gunakan metode resourceRecordSets.patch. Tentukan hanya salah satu dari rrset.rrdatas atau rrset.routingPolicy. Jika menentukan routingPolicy, Anda harus menentukan kolom routingPolicy baru secara keseluruhan.

Untuk kebijakan GEO, gunakan metode berikut:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
          "geo": {
              "items": [
              {
                  "location": "LOCATION",
                  "healthCheckedTargets": {
                     "internalLoadBalancers": [
                      {
                       "loadBalancerType": "LOAD_BALANCER_TYPE"
                       "ipAddress": "IP_ADDRESS"
                       "port" : "PORT_NUMBER"
                       "ipProtocol": "IP_PROTOCOL"
                       "networkUrl": "NETWORK_URL"
                       "project": "PROJECT"
                       "region": "REGION"
                      }
                     ]
                  }
              },
              {
                  "location": "LOCATION",
                  "healthCheckedTargets": {
                     "internalLoadBalancers": [
                      {
                       "loadBalancerType": "LOAD_BALANCING_TYPE"
                       "ipAddress": "IP_ADDRESS"
                       "port" : "PORT_NUMBER"
                       "ipProtocol": "IP_PROTOCOL"
                       "networkUrl": "NETWORK_URL"
                       "project": "PROJECT"
                       "region": "REGION"
                      }
                     ]
                  }
              },
              }
           ]

        }
     }
}

Untuk kebijakan WRR, gunakan metode berikut:

PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
        "name": "RRSET_NAME.",
        "type": "RRSET_TYPE",
        "ttl": TTL,
        "routingPolicy": {
          "wrrPolicy": {
              "item": [
                    {
                        "weight": WEIGHT,
                        "rrdatas": ["RR_DATA"]
                    },
                    {
                        "weight": WEIGHT,
                        "rrdatas": ["RR_DATA"]
                     }
               ],
            }
      }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti service-zone; nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya
  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A
  • TTL: TTL dalam hitungan detik saat resolver men-cache ResourceRecordSet ini, seperti 30
  • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun setelan primernya responsif; rasio harus antara 0 dan 1, seperti 0.1
  • ENABLE_FENCING: untuk kebijakan perutean GEO, hal ini menentukan apakah traffic akan melakukan failover di seluruh region jika semua endpoint di suatu region tidak responsif. Jika ditetapkan, Cloud DNS selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak disetel, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.
  • LOCATION: untuk kebijakan GEO, geolokasi tempat Anda perlu memperbarui kebijakan, seperti asia-east1
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RR_DATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1 rrdata2 rrdata3, seperti 198.51.100.1 203.0.113.1...
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb
  • IP_ADDRESS: alamat IP yang dilayani aturan penerusan
  • PORT_NUMBER: nomor port
  • IP_PROTOCOL: menentukan protokol yang digunakan untuk health check; opsi yang valid adalah tcp dan udp
  • NETWORK_URL: URL jaringan tempat aturan penerusan ini diterapkan
  • REGION: region tempat Anda membuat aturan penerusan

Hapus kebijakan perutean DNS

Untuk menghapus kebijakan perutean, Anda harus menghapus kumpulan data resource yang berisi kebijakan perutean. Untuk melakukannya, ikuti langkah-langkah berikut.

Konsol

  1. Di Konsol Google Cloud, buka halaman Cloud DNS zones.

    Buka zona Cloud DNS

  2. Klik zona yang kumpulan data resource-nya ingin Anda hapus.

  3. Di halaman Zone details, di samping nama DNS kumpulan data resource yang ingin Anda hapus, pilih kotak centangnya.

  4. Klik Hapus kumpulan data.

gcloud

Jalankan perintah gcloud dns record-sets delete :

gcloud dns record-sets delete RRSET_NAME \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE \

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

    Untuk daftar jenis data yang didukung, lihat Memilih jenis data resource.

  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti service-zone; nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya

API

Gunakan resourceRecordSets.delete metode:

DELETE https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang berafiliasi dengan ResourceRecordSet ini, seperti my-zone-name; nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya
  • RRSET_NAME: nama DNS yang cocok dengan kueri yang masuk dengan nama DNS zona ini sebagai akhirannya, seperti test.example.com
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

Langkah selanjutnya