Mengonfigurasi kebijakan pemilihan rute DNS dan health check

Halaman ini berisi penjelasan mengenai cara mengonfigurasi kebijakan pemilihan rute DNS dan mengaktifkan health check menggunakan Cloud DNS. Sebelum Anda menggunakan halaman ini, pahami kebijakan pemilihan rute DNS dan health check.

Sebelum memulai

  • Untuk mengonfigurasi kebijakan pemilihan rute DNS, buat set data resource dan pilih salah satu kebijakan pemilihan rute DNS berikut untuk diterapkan ke set data resource.

  • Kebijakan pemilihan rute DNS mendukung beberapa alamat IP per lokasi geografis dalam kebijakan pemilihan rute geolokasi. Saat Anda menentukan beberapa alamat IP untuk lokasi geografis, Cloud DNS akan menampilkan semua alamat IP yang ditentukan untuk lokasi tersebut. Anda tidak dapat menggabungkan kebijakan pemilihan rute geolokasi dengan kebijakan WRR berbobot kustom.

  • Terapkan hanya satu jenis kebijakan pemilihan rute ke set data resource dalam satu waktu.

  • Pastikan Anda mengaktifkan akses global untuk load balancer regional.

  • Sebelum mengonfigurasi kebijakan pemilihan rute DNS untuk zona publik, nonaktifkan batasan kebijakan organisasi constraints/compute.disableInternetNetworkEndpointGroup. Untuk mengetahui informasi selengkapnya, baca bagian Batasan kebijakan organisasi.

  • Pastikan Anda memiliki izin yang diperlukan untuk mengonfigurasi kebijakan pemilihan rute DNS.

Membuat kebijakan pemilihan rute DNS untuk zona pribadi

Sebelum membuat kebijakan pemilihan rute DNS untuk zona pribadi, selesaikan langkah-langkah berikut.

  1. Buat zona pribadi.
  2. Siapkan salah satu load balancer internal berikut:
  3. Buat aturan penerusan untuk load balancer internal.
  4. Siapkan health check untuk load balancer internal.

Untuk membuat kebijakan pemilihan rute DNS untuk zona pribadi, ikuti langkah-langkah berikut.

Konsol

Memulai konfigurasi

  1. Di konsol Cloud de Confiance , buka halaman Cloud DNS zones.

    Buka Cloud DNS zones

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

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

Data dasar

  1. Opsional: Di halaman Create record set with routing policy, untuk DNS name, masukkan subdomain dari nama DNS—misalnya, mail. Titik di akhir akan otomatis ditambahkan.

  2. Untuk Resource record type, pilih salah satu opsi.

  3. Untuk TTL, masukkan nilai numerik untuk time to live (TTL) data resource, yaitu lamanya waktu data dapat di-cache. Nilai ini harus berupa bilangan bulat positif.

  4. Opsional: Untuk TTL unit, pilih satuan waktu—misalnya, minutes. Defaultnya disetel ke minutes.

  5. Klik Next.

Jenis kebijakan pemilihan rute

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

Data kebijakan pemilihan rute

WRR

  1. Untuk Weight, masukkan bobot yang sesuai dengan subbagian data resource (RR) ini.

    Bobot ini harus berupa angka non-negatif dari 0,0 hingga 1000,0. Rasio traffic yang diarahkan ke target dihitung dari rasio bobot individual terhadap total di semua bobot. Misalnya, jika target A memiliki bobot 25 dan target B memiliki bobot 75, dengan total bobot 100, Cloud DNS akan merutekan 25/100 = 0,25 (25 persen) dari total traffic ke target A, dan 75/100= 0,75 (75 persen) ke target B.

  2. Di bagian IPv4 health checked targets, lakukan hal berikut:

    1. Untuk Project, pilih project tempat aturan penerusan berada.
    2. Untuk Forwarding rule, pilih aturan penerusan.

      Aturan penerusan menentukan alamat IP internal, port, dan salah satu target berikut:

  3. Klik Done.

  4. Opsional: Untuk menambahkan target lain yang menjalani health check, klik Add target.

  5. Opsional: Untuk mengizinkan alamat IPv4 tanpa health check, lakukan langkah berikut:

    1. Pilih Allow IPv4 addresses without health checking.
    2. Untuk IPv4 Address, masukkan alamat IPv4.
  6. Opsional: Untuk menambahkan set data perutean kebijakan WRR lainnya, klik Add routing data.

  7. Klik Next.

Geolokasi

  1. Untuk Geo fencing, pilih Disabled atau Enabled.

    Mengaktifkan pembatasan wilayah akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.

  2. Untuk Source region, pilih region sumber Cloud de Confiance yang valid.

  3. Di bagian IPv4 health checked targets, lakukan hal berikut:

    1. Untuk Project, pilih project tempat aturan penerusan berada.
    2. Untuk Forwarding rule, pilih aturan penerusan.

      Aturan penerusan menentukan alamat IP internal, port, dan salah satu target berikut:

  4. Klik Done.

  5. Opsional: Untuk menambahkan target lain yang menjalani health check, klik Add target.

  6. Opsional: Untuk mengizinkan alamat IPv4 tanpa health check, lakukan langkah berikut:

    1. Pilih Allow IPv4 addresses without health checking.
    2. Untuk IPv4 Address, masukkan alamat IPv4.
  7. Opsional: Untuk menambahkan set data pemilihan rute kebijakan geolokasi lain, klik Add routing data.

  8. Klik Next.

Failover

  1. Di bagian Primary health checked targets, lakukan langkah berikut:

    1. Untuk Project, pilih project tempat aturan penerusan berada.
    2. Untuk Forwarding rule, pilih aturan penerusan.

      Aturan penerusan menentukan alamat IP internal, port, dan salah satu target berikut:

  2. Di bagian Backup geolocation policy, lakukan langkah berikut:

    1. Untuk Geo fencing, pilih Disabled atau Enabled. Mengaktifkan pembatasan wilayah akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Untuk Source region, pilih region sumber Cloud de Confiance yang valid.
    3. Di bagian IPv4 health checked targets, lakukan hal berikut:

      1. Untuk Project, pilih project tempat aturan penerusan berada.
      2. Untuk Forwarding rule, pilih aturan penerusan.

        Aturan penerusan akan menentukan salah satu opsi berikut:

        • Alamat IP internal, port, dan layanan backend regional
        • Proxy HTTP(S)
        • Proxy TCP

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

  3. Klik Done.

  4. Opsional: Untuk menambahkan target lain yang menjalani health check, klik Add target.

  5. Opsional: Untuk mengizinkan alamat IPv4 tanpa health check, lakukan langkah berikut:

    1. Pilih Allow IPv4 addresses without health checking.
    2. Untuk IPv4 Address, masukkan alamat IPv4.
  6. Opsional: Untuk menambahkan set data pemilihan rute kebijakan geolokasi cadangan lainnya, klik Add routing data.

  7. Di kolom Trickle traffic (%), masukkan persentase traffic yang dikirim ke target failover, terlepas dari status health check target utama.

  8. Klik Next.

Tinjau dan buat

  1. Klik Review.
  2. Tinjau set data Cloud DNS Anda dengan konfigurasi kebijakan pemilihan rute.
  3. Klik Create.

gcloud

Untuk set data resource, Anda menetapkan kebijakan pemilihan rute (routingPolicy) atau data DNS (rrdatas), bukan keduanya. Untuk beralih antara kebijakan pemilihan rute dan data DNS, update set data resource. Misalnya, untuk mengubah set data resource yang berisi data DNS (rrdatas) agar berisi kebijakan pemilihan rute (routingPolicy), hapus rrdatas dan tambahkan routingPolicy ke set data resource yang sama.

Untuk membuat kebijakan pemilihan rute DNS untuk zona pribadi, ikuti langkah-langkah berikut.

Jalankan perintah gcloud dns record-sets create:

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

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, baca bagian Jenis data yang didukung untuk kebijakan pemilihan rute DNS.
  • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: masukkan daftar yang dibatasi 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 bobot individual terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
  • --enable-health-checking: flag untuk mengaktifkan health check. Saat Anda menggunakan flag ini, Anda harus memberikan nama aturan penerusan, bukan alamat IP di kolom --routing-policy-data.

Geolokasi

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

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, baca bagian Jenis data yang didukung untuk kebijakan pemilihan rute DNS.
  • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: masukkan daftar yang dibatasi 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 region dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
  • --enable-health-checking: flag untuk mengaktifkan health check. Saat Anda menggunakan flag ini, Anda harus memberikan nama aturan penerusan, bukan alamat IP di kolom --routing-policy-data.

Geolokasi dengan 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

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, baca bagian Jenis data yang didukung untuk kebijakan pemilihan rute DNS.
  • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: masukkan daftar yang dibatasi 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 region dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan health check.
  • --enable-geo-fencing: untuk kebijakan pemilihan rute GEO, setelan ini menentukan apakah traffic harus melakukan failover di seluruh region jika semua endpoint di region tidak responsif. Jika disetel, Cloud DNS akan 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 jika semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.
  • --enable-health-checking: flag untuk mengaktifkan health check. Saat Anda menggunakan flag ini, Anda harus memberikan nama aturan penerusan, bukan alamat IP di kolom --routing-policy-data.

Failover

gcloud dns record-sets create RRSET_NAME \
  --ttl=TTL \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE \
  --routing-policy-type=FAILOVER  \
  --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-geo-fencing \
  --enable-health-checking

Ganti kode berikut:

  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, baca bagian Jenis data yang didukung untuk kebijakan pemilihan rute DNS.
  • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhirannya.
  • ROUTING_POLICY_PRIMARY_DATA: target utama yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Selama minimal salah satu aturan penerusan ini berada dalam kondisi responsif, alamat IP semua aturan penerusan yang responsif akan digunakan untuk menjawab kueri untuk nama ini.
  • ROUTING_POLICY_BACKUP_DATA_TYPE: untuk kebijakan pemilihan rute FAILOVER, jenis kebijakan pemilihan rute yang digunakan data cadangan. Nilai ini harus berupa GEO.
  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan dalam --routing-policy-primary-data tidak responsif. Cloud DNS hanya mendukung target cadangan berbasis geografis. Format kolom ini cocok dengan format --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 target utama responsif. Rasionya harus antara 0 dan 1, seperti 0.1. Defaultnya disetel ke 0.
  • --enable-geo-fencing: untuk kebijakan pemilihan rute GEO, setelan ini menentukan apakah traffic harus melakukan failover di seluruh region jika semua endpoint di region tidak responsif. Jika disetel, Cloud DNS akan 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 jika semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.
  • --enable-health-checking: flag untuk mengaktifkan health check. Saat Anda menggunakan flag ini, Anda harus memberikan nama aturan penerusan, bukan alamat IP di kolom --routing-policy-data.

API

Gunakan metode resourceRecordSets.create.

WRR

POST https://dns.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_ID"
                "region": "REGION"
              }
            ]
          }
        },
        {
          "weight": WEIGHT,
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port": "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT_ID"
                "region": "REGION"
              }
            ]
          }
        }
      ]
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
  • WEIGHT: untuk kebijakan WRR, daftar yang dibatasi titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif Catatan: Anda harus menentukan bobot sebagai angka non-negatif. Rasio traffic yang diarahkan ke target dihitung dari rasio bobot individual terhadap total di semua bobot.
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb, globalL7ilb, atau regionalL7ilb. Setelan ini bersifat opsional.
  • IP_ADDRESS: alamat IP yang dilayani oleh 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

Geolokasi

POST https://dns.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_ID"
                "region": "REGION"
              }
            ]
          }
        },
        {
          "location": "LOCATION",
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port": "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT_ID"
                "region": "REGION"
              }
            ]
          }
        }
      ]
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
  • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan pembuatan kebijakan, seperti asia-east1
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb, globalL7ilb, atau regionalL7ilb. Setelan ini bersifat opsional.
  • IP_ADDRESS: alamat IP yang dilayani oleh aturan penerusan
  • PORT_NUMBER: nomor port load balancer internal
  • 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

Failover

Pada opsi failover, Cloud DNS hanya mendukung kebijakan GEO.

POST https://dns.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_ID"
            "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 terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
  • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun target utama dalam kondisi responsif; rasionya harus antara 0 dan 1, seperti 0.1
  • IP_ADDRESS: alamat IP yang dilayani oleh 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
  • PORT_NUMBER: nomor port load balancer internal
  • REGION: region tempat Anda membuat aturan penerusan
  • ENABLE_FENCING: untuk kebijakan pemilihan rute GEO, setelan ini menentukan apakah traffic harus melakukan failover di seluruh region jika semua endpoint di suatu region tidak responsif. Jika disetel, Cloud DNS akan 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 jika semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.
  • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan pembuatan kebijakan, seperti asia-east1
  • WEIGHT: untuk kebijakan WRR, daftar yang dibatasi titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RRDATA: nilai arbitrer yang terkait dengan set 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...

Memperbarui kebijakan pemilihan rute DNS

Untuk memperbarui kebijakan pemilihan rute set data resource, ikuti langkah-langkah berikut.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Cloud DNS zones.

    Buka Cloud DNS zones

  2. Klik zona yang ingin Anda perbarui kebijakan pemilihan rute set data resource-nya.

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

  4. Setelah Anda melakukan pembaruan, klik Save.

gcloud

Jalankan perintah gcloud dns record-sets update:

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

Geolokasi

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

Geolokasi dengan 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

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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet ini, seperti 30
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A

    Untuk daftar jenis data yang didukung, baca bagian Memilih jenis data resource.

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

  • ROUTING_POLICY_TYPE: jenis kebijakan pemilihan rute.

    Masukkan WRR untuk weighted round robin, GEO untuk geo-lokasi, 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 pemilihan rute

    • 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 bobot individual 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 region 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}.

  • --enable-geo-fencing: untuk kebijakan pemilihan rute GEO, setelan ini menentukan apakah traffic harus melakukan failover di seluruh region jika semua endpoint di region tidak responsif. Jika disetel, Cloud DNS akan 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, semua endpoint di suatu region tidak akan responsif dan Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya. Setelan default untuk opsi ini adalah false.

  • ROUTING_POLICY_PRIMARY_DATA: target utama yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Selama minimal salah satu aturan penerusan ini berada dalam kondisi responsif, alamat IP semua aturan penerusan yang responsif akan digunakan untuk menjawab kueri untuk nama ini.

  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan dalam --routing-policy-primary-data tidak responsif. Cloud DNS hanya mendukung target cadangan berbasis geografis. Format kolom ini cocok dengan format --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 target utama responsif. Rasionya harus antara 0 dan 1, seperti 0.1. Nilai defaultnya disetel 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 akan menentukan routingPolicy, Anda harus menentukan kolom routingPolicy baru secara keseluruhan.

WRR

Untuk kebijakan WRR, gunakan metode berikut:

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

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A
  • WEIGHT: untuk kebijakan WRR, daftar yang dibatasi titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RRDATA: nilai arbitrer yang terkait dengan set 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...

Geolokasi

Gunakan metode berikut:

PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
  "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_ID"
                "region": "REGION"
              }
            ]
          }
        },
        {
          "location": "LOCATION",
          "healthCheckedTargets": {
            "internalLoadBalancers": [
              {
                "loadBalancerType": "LOAD_BALANCER_TYPE"
                "ipAddress": "IP_ADDRESS"
                "port": "PORT_NUMBER"
                "ipProtocol": "IP_PROTOCOL"
                "networkUrl": "NETWORK_URL"
                "project": "PROJECT_ID"
                "region": "REGION"
              }
            ]
          }
        }
      ]
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet ini, seperti 30
  • LOCATION: untuk kebijakan GEO, geolokasi yang kebijakannya perlu Anda perbarui, seperti asia-east1
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb, globalL7ilb, atau regionalL7ilb. Setelan ini bersifat opsional.
  • IP_ADDRESS: alamat IP yang dilayani oleh 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

Menghapus kebijakan pemilihan rute DNS

Untuk menghapus kebijakan pemilihan rute, Anda harus menghapus set data resource yang berisi kebijakan pemilihan rute. Untuk melakukannya, ikuti langkah-langkah berikut.

Konsol

  1. Di konsol Cloud de Confiance , buka halaman Cloud DNS zones

    Buka Cloud DNS zones

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

  3. Di halaman Zone details, di samping nama DNS set data resource yang ingin Anda hapus, centang kotaknya.

  4. Klik Delete record sets.

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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A

    Untuk mengetahui daftar jenis data yang didukung, baca bagian Memilih jenis data resource.

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

API

Gunakan metode resourceRecordSets.delete:

DELETE https://dns.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 terkait 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 masuk, dengan nama DNS zona ini sebagai akhirannya, seperti test.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A

Langkah berikutnya