Mengonfigurasi kebijakan perutean dan health check DNS

Halaman ini menjelaskan 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. Anda tidak dapat menggabungkan kebijakan pemilihan rute kecuali saat mengonfigurasi kebijakan pemilihan rute failover. Dalam hal ini, Anda dapat menetapkan kebijakan pemilihan rute geolokasi sebagai cadangan.

  • 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, lihat Batasan kebijakan organisasi.

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

Membuat kebijakan perutean 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 pemeriksaan kondisi untuk load balancer internal.

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

Konsol

Memulai konfigurasi

  1. Di konsol Google Cloud , 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 nama DNS—misalnya, mail. Titik di akhir akan otomatis ditambahkan.

  2. Untuk Jenis data resource, pilih salah satu opsi.

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

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

  5. Klik Berikutnya.

Jenis kebijakan pemilihan rute

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

Data kebijakan pemilihan rute

WRR

  1. Untuk Bobot, masukkan bobot yang sesuai dengan subbagian data catatan 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 Aturan penerusan, pilih aturan penerusan.

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

  3. Klik Done.

  4. Opsional: Untuk menambahkan target yang diperiksa kondisinya, klik Tambahkan target.

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

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

  7. Klik Berikutnya.

Geolokasi

  1. Untuk Geo-fencing, pilih Nonaktif atau Aktif.

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

  2. Untuk Wilayah sumber, pilih wilayah sumber Google Cloud yang valid.

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

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

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

  4. Klik Done.

  5. Opsional: Untuk menambahkan target yang diperiksa kondisinya, klik Tambahkan target.

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

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

  8. Klik Berikutnya.

Failover

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

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

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

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

    1. Untuk Geo-fencing, pilih Nonaktif atau Aktif. Mengaktifkan pembatasan wilayah membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Untuk Wilayah sumber, pilih wilayah sumber Google Cloud yang valid.
    3. Di bagian IPv4 health checked targets, lakukan hal berikut:

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

        Aturan penerusan 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 yang diperiksa kondisinya, klik Tambahkan target.

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

    1. Pilih Allow IPv4 addresses without health checking.
    2. Untuk IPv4 Address, masukkan alamat IPv4.
  6. Opsional: Untuk menambahkan kumpulan data perutean kebijakan geolokasi cadangan lainnya, klik Tambahkan data perutean.

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

  8. Klik Berikutnya.

Meninjau dan membuat

  1. Klik Tinjau.
  2. Tinjau set data Cloud DNS Anda dengan konfigurasi kebijakan perutean.
  3. Klik Buat.

gcloud

Untuk set data resource, Anda menetapkan kebijakan pemilihan rute (routingPolicy) atau data DNS (rrdatas), bukan keduanya. Untuk beralih antara kebijakan perutean dan data DNS, perbarui set rekaman resource. Misalnya, untuk mengubah set data resource yang berisi data DNS (rrdatas) agar berisi kebijakan perutean (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 sufiksnya, seperti service.example.com.
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, lihat 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 akhiran.
  • 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 pemeriksaan kondisi.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan kondisi. Saat Anda menggunakan tanda 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 sufiksnya, seperti service.example.com.
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, lihat 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 akhiran.
  • 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 wilayah dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan kondisi.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan kondisi. Saat Anda menggunakan tanda 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 sufiksnya, seperti service.example.com.
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, lihat 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 akhiran.
  • 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 wilayah dengan menambahkan alamat IP yang dipisahkan dengan koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan kondisi.
  • --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 geofencing. 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 pemeriksaan kondisi. Saat Anda menggunakan tanda 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 sufiksnya, seperti service.example.com.
  • TTL: TTL, dalam detik, yang digunakan oleh resolver untuk meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A. Untuk mengetahui daftar jenis data yang didukung, lihat 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 akhiran.
  • ROUTING_POLICY_PRIMARY_DATA: target utama yang akan digunakan untuk kebijakan perutean FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Selama minimal salah satu aturan penerusan ini dalam kondisi baik, alamat IP semua aturan penerusan yang dalam kondisi baik 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 perutean FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan dalam --routing-policy-primary-data tidak berfungsi. 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. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan 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 geofencing. 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 pemeriksaan kondisi. Saat Anda menggunakan tanda 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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan dengan 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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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 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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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
  • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun target utama dalam kondisi baik; rasio 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, parameter 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...

Membuat kebijakan pemilihan rute DNS untuk zona publik

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

Konsol

Memulai konfigurasi

  1. Di konsol Google Cloud , 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 yang telah diisi sebelumnya—misalnya, mail. Titik di akhir akan otomatis ditambahkan.

  2. Untuk Jenis data resource, pilih salah satu opsi.

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

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

  5. Klik Berikutnya.

Jenis kebijakan pemilihan rute

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

Data kebijakan pemilihan rute

WRR

  1. Untuk Bobot, masukkan bobot yang sesuai dengan subbagian data catatan 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 External IP addresses, lakukan hal berikut:

    1. Untuk IP address , masukkan alamat IP eksternal.
    2. Opsional: Untuk memilih alamat IP eksternal dari Google Cloud resource dalam project saat ini, klik Pilih.
    3. Untuk mengaktifkan health check, pilih Health checking 1.
    4. Opsional: Untuk menambahkan alamat IP eksternal lain, klik Tambahkan alamat IP.
    5. Klik Done.
  3. Jika Anda mengaktifkan health check pada langkah sebelumnya, di daftar Health check, pilih health check atau buat yang baru dengan mengikuti langkah-langkah berikut.

    1. Klik Buat health check baru.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Description, masukkan deskripsi untuk pemeriksaan kondisi.
    4. Untuk Region sumber, pilih tiga Google Cloud region tempat Anda ingin mengirimkan pemeriksaan health check.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

      Protokol dan nomor port menentukan cara Cloud DNS mengirimkan pemeriksaan health check.

    7. Opsional: Untuk mengonfigurasi health check berbasis konten, untuk Respons, berikan string respons yang diharapkan, masing-masing hingga 1.024 karakter ASCII (byte tunggal).

    8. Opsional: Untuk mengaktifkan log health check, pilih Aktif untuk Log.

    9. Untuk Check interval, masukkan interval waktu dalam detik di antara pemeriksaan health check. Interval pemeriksaan adalah jumlah waktu dari awal satu pemeriksaan yang dikeluarkan oleh satu pemeriksa hingga awal pemeriksaan berikutnya yang dikeluarkan oleh pemeriksa yang sama.

    10. Untuk Waktu tunggu, masukkan jumlah waktu dalam detik yang Anda inginkan Google Cloud untuk menunggu respons terhadap penyelidikan.

    11. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berhasil berurutan agar backend dianggap responsif.

    12. Untuk Nilai minimum tidak responsif, masukkan jumlah hasil pemeriksaan gagal berturut-turut agar backend dianggap tidak responsif.

    13. Klik Buat.

  4. Klik Berikutnya.

Geolokasi

  1. Untuk Geo-fencing, pilih Nonaktif atau Aktif. Mengaktifkan pembatasan wilayah membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
  2. Untuk Wilayah sumber, pilih wilayah sumber Google Cloud yang valid.
  3. Di bagian External IP addresses, lakukan hal berikut:
    1. Untuk IP address , masukkan alamat IP eksternal.
    2. Opsional: Untuk memilih alamat IP eksternal dari resource Google Cloud dalam project saat ini, klik Pilih.
    3. Untuk mengaktifkan health check, pilih Health checking 1.
    4. Opsional: Untuk menambahkan alamat IP eksternal lain, klik Tambahkan alamat IP.
    5. Klik Done.
  4. Jika Anda mengaktifkan health check pada langkah sebelumnya, di daftar Health check, pilih health check atau buat yang baru dengan mengikuti langkah-langkah berikut.

    1. Klik Buat health check baru.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Description, masukkan deskripsi untuk pemeriksaan kondisi.
    4. Untuk Region sumber, pilih tiga Google Cloud region tempat Anda ingin mengirimkan pemeriksaan health check.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

      Protokol dan nomor port menentukan cara Cloud DNS mengirimkan pemeriksaan health check.

    7. Opsional: Untuk mengonfigurasi health check berbasis konten, untuk Respons, berikan string respons yang diharapkan, masing-masing hingga 1.024 karakter ASCII (byte tunggal).

    8. Opsional: Untuk mengaktifkan log health check, pilih Aktif untuk Log.

    9. Untuk Check interval, masukkan interval waktu dalam detik di antara pemeriksaan health check. Interval pemeriksaan adalah jumlah waktu dari awal satu pemeriksaan yang dikeluarkan oleh satu pemeriksa hingga awal pemeriksaan berikutnya yang dikeluarkan oleh pemeriksa yang sama.

    10. Untuk Waktu tunggu, masukkan jumlah waktu dalam detik yang Anda inginkan Google Cloud untuk menunggu respons terhadap penyelidikan.

    11. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berhasil berurutan agar backend dianggap responsif.

    12. Untuk Nilai minimum tidak responsif, masukkan jumlah hasil pemeriksaan gagal berturut-turut agar backend dianggap tidak responsif.

    13. Klik Buat.

  5. Klik Berikutnya.

Failover

  1. Di bagian Target alamat IP eksternal utama, untuk Alamat IP, masukkan alamat IP eksternal utama yang diperiksa kesehatannya untuk data ini.
  2. Opsional:Untuk memilih alamat IP eksternal utama dari Google Cloud resource dalam project saat ini, klik Pilih.
  3. Opsional: Untuk menambahkan alamat IP eksternal utama lainnya, klik Tambahkan target. Jika DNSSEC diaktifkan, Anda hanya dapat menambahkan satu target alamat IP eksternal primer .
  4. Di bagian Kebijakan geolokasi cadangan, lakukan tindakan berikut:
    1. Untuk Geo-fencing, pilih Nonaktif atau Aktif. Mengaktifkan pembatasan wilayah membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Untuk Wilayah sumber, pilih wilayah sumber Google Cloud yang valid.
    3. Di bagian External IP addresses, lakukan hal berikut:
      1. Untuk IP address , masukkan alamat IP eksternal.
      2. Opsional: Untuk memilih alamat IP eksternal dari Google Cloud resource dalam project saat ini, klik Pilih.
      3. Untuk mengaktifkan health check, pilih Health checking 1.
      4. Opsional: Untuk menambahkan alamat IP eksternal lain, klik Tambahkan alamat IP.
    4. Klik Done.
  5. Jika Anda mengaktifkan health check di langkah sebelumnya, pilih health check dalam daftar Health check.

    Jika Anda belum memiliki health check, buat health check baru.

    1. Klik Buat health check baru.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Description, masukkan deskripsi untuk pemeriksaan kondisi.
    4. Untuk Region sumber, pilih tiga Google Cloud region tempat Anda ingin mengirimkan pemeriksaan health check.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

    Protokol dan nomor port menentukan cara Cloud DNS mengirimkan pemeriksaan health check.

    1. Opsional: Untuk mengonfigurasi health check berbasis konten, untuk Respons, berikan string respons yang diharapkan, masing-masing hingga 1.024 karakter ASCII (byte tunggal).
    2. Opsional: Untuk mengaktifkan log health check, pilih Aktif untuk Log.
    3. Untuk Check interval, masukkan interval waktu dalam detik di antara pemeriksaan health check. Interval pemeriksaan adalah jumlah waktu dari awal satu pemeriksaan yang dikeluarkan oleh satu pemeriksa hingga awal pemeriksaan berikutnya yang dikeluarkan oleh pemeriksa yang sama.
    4. Untuk Waktu tunggu, masukkan jumlah waktu dalam detik yang Anda inginkan Google Cloud untuk menunggu respons terhadap penyelidikan.
    5. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berhasil berurutan agar backend dianggap responsif.
    6. Untuk Nilai minimum tidak responsif, masukkan jumlah hasil pemeriksaan gagal berturut-turut agar backend dianggap tidak responsif.
    7. Klik Buat.
  6. Di kolom Teteskan traffic (%), masukkan persentase traffic yang dikirim ke target failover, terlepas dari status health check target utama.

  7. Dalam daftar Health check, pilih health check.

  8. Klik Berikutnya.

Meninjau dan membuat

  1. Klik Tinjau.
  2. Tinjau set data Cloud DNS Anda dengan konfigurasi kebijakan perutean.
  3. Klik Buat.

gcloud

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

  1. Untuk mengaktifkan health check dalam kebijakan pemilihan rute DNS untuk zona publik, buat health check untuk endpoint eksternal.

    Jalankan perintah gcloud beta compute health-checks create:

    gcloud beta compute health-checks create PROTOCOL HEALTH_CHECK_NAME \
        --global \
        --check-interval=CHECK_INTERVAL \
        --source-regions=SOURCE_REGIONS \
        --port=PORT_NUMBER
    

    Ganti kode berikut:

    • PROTOCOL: protokol yang digunakan untuk health check. Opsi yang valid adalah http, https, ssl, atau tcp.
    • HEALTH_CHECK_NAME: nama health check.
    • CHECK_INTERVAL: jumlah waktu sejak awal koneksi sistem probe health check hingga awal koneksi berikutnya. Unit dalam hitungan detik. Nilai CHECK_INTERVAL harus antara 30 dan 300 detik.
    • SOURCE_REGIONS: daftar yang dipisahkan koma untuk Google Cloud region tempat Anda ingin mengirim probe pemeriksaan kondisi.
    • PORT_NUMBER: nomor port untuk permintaan health check.
  2. Untuk membuat ResourceRecordSet dan menerapkan kebijakan perutean ke ResourceRecordSet tersebut, jalankan perintah gcloud beta dns record-sets create.

    WRR

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

    Ganti kode berikut:

    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhiran.
    • ROUTING_POLICY_DATA: data kebijakan perutean. 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. Bobot harus berupa bilangan non-negatif dari 0hingga 1000.
    • HEALTH_CHECK_NAME: nama pemeriksaan kondisi yang Anda buat di langkah sebelumnya.

    Geolokasi

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

    Ganti kode berikut:

    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhiran.
    • ROUTING_POLICY_DATA: data kebijakan perutean. Masukkan daftar yang dipisahkan titik koma dalam format ${region}=${IP_address},${IP_address}, seperti asia-east1=198.51.100.1;us-central1=203.0.113.1, 203.0.113.2. 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 pemeriksaan kondisi.
    • HEALTH_CHECK_NAME: nama pemeriksaan kondisi yang Anda buat di langkah sebelumnya.

    Geolokasi dengan pembatasan wilayah

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

    Ganti kode berikut:

    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhiran.
    • ROUTING_POLICY_DATA: data kebijakan perutean. 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 pemeriksaan kondisi.
    • HEALTH_CHECK_NAME: nama pemeriksaan kondisi yang Anda buat di langkah sebelumnya.

      --enable-geo-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. Gunakan --no-enable-geo-fencing untuk menonaktifkan geofencing. Jika tidak disetel, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya jika semua endpoint di suatu region tidak responsif. Nilai defaultnya adalah false.

    Failover

    gcloud beta 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=ROUTING_POLICY_BACKUP_DATA \
        --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \
        --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \
        --health-check=HEALTH_CHECK_NAME
    

    Ganti kode berikut:

    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona terkelola sebagai akhiran.
    • ROUTING_POLICY_PRIMARY_DATA: target utama yang akan digunakan untuk kebijakan perutean FAILOVER. Target ini harus berupa referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Selama minimal salah satu aturan penerusan ini dalam kondisi baik, alamat IP semua aturan penerusan yang dalam kondisi baik akan digunakan untuk menjawab kueri untuk nama ini.
    • ROUTING_POLICY_BACKUP_DATA: target pencadangan yang akan digunakan untuk kebijakan perutean 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 --routing-policy-data saat --routing-policy-type = 'GEO', seperti asia-east1=forwarding-rule-2.
    • ROUTING_POLICY_BACKUP_DATA_TYPE: untuk kebijakan pemilihan rute FAILOVER, jenis kebijakan pemilihan rute yang digunakan data cadangan. Nilai ini harus GEO.
    • BACKUP_DATA_TRICKLE_RATIO: rasio traffic yang akan dikirim ke target cadangan, meskipun target utama dalam kondisi baik. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.
    • HEALTH_CHECK_NAME: nama pemeriksaan kondisi yang Anda buat di langkah sebelumnya.

API

  1. Untuk mengaktifkan health check di kebijakan pemilihan rute DNS untuk zona publik, gunakan metode healthChecks.insert.

  2. Untuk membuat ResourceRecordSet dan menerapkan kebijakan perutean ke ResourceRecordSet tersebut, 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": {
        "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
        "wrr": {
          "items": [
            {
              "weight": WEIGHT,
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            },
            {
              "weight": WEIGHT,
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            }
          ]
        }
      }
    }
    

    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 akhiran.
    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • HEALTH_CHECK_NAME: nama health check.
    • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan dengan 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 berat sebagai angka non-negatif. Rasio traffic yang diarahkan ke target dihitung dari rasio bobot individual terhadap total di semua bobot.
    • 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.
    • EXTERNAL_ENDPOINTS: alamat IP internet yang akan diperiksa kondisinya.

    Geolokasi

    POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
    {
      "name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
      "routingPolicy": {
        "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
        "geo": {
          "enableFencing": ENABLE_FENCING
          "items": [
            {
              "location": "LOCATION",
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            },
            {
              "location": "LOCATION",
              "rrdata": ["RRDATA"],
              "healthCheckedTargets": {
                "externalEndpoints": ["EXTERNAL_ENDPOINTS"]
              }
            }
          ]
        }
      }
    }
    

    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 akhiran.
    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • HEALTH_CHECK_NAME: nama health check.
    • 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. Opsi yang valid adalah true dan false. Setelan default untuk opsi ini adalah false.
    • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan pembuatan kebijakan, seperti asia-east1.
    • 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.
    • EXTERNAL_ENDPOINTS: alamat IP internet yang akan diperiksa kondisinya.

    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": {
        "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
        "primaryBackup": {
          "trickleTraffic": TRICKLE_TRAFFIC,
          "primaryTargets": {
              "rrdata": ["RRDATA"]
          },
          "backupGeoTargets": {
            "enableFencing": ENABLE_FENCING,
            "items": [
              {
                "location": "LOCATION",
                "rrdatas": ["RRDATA]
              },
              {
                "location": "LOCATION",
                "rrdatas": ["RRDATA", "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 akhiran.
    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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.
    • HEALTH_CHECK_NAME: nama health check.
    • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun target utama dalam kondisi baik; rasio harus antara 0 dan 1, seperti 0.1.
    • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan pembuatan kebijakan, seperti asia-east1.
    • 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.
    • 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. Setelan default untuk opsi ini adalah false.

Memperbarui kebijakan perutean DNS

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

Konsol

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

    Buka Cloud DNS zones

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

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

  4. Setelah Anda melakukan pembaruan, klik Simpan.

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 sufiksnya, 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, lihat Pilih 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 akhiran

  • ROUTING_POLICY_TYPE: jenis kebijakan perutean.

    Masukkan WRR untuk round robin berbobot, 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 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 bobot individual terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan kondisi.
    • 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 pemeriksaan kondisi.
    • 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, ini menentukan apakah traffic harus di-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 geofencing. Jika tidak disetel, semua endpoint di suatu region tidak responsif dan Cloud DNS mengarahkan kueri ke region terdekat berikutnya. Setelan default untuk opsi ini adalah false.

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

  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang akan digunakan untuk kebijakan perutean FAILOVER. Target ini digunakan saat semua aturan penerusan yang ditentukan dalam --routing-policy-primary-data tidak berfungsi. 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. Rasio harus antara 0 dan 1, seperti 0.1. Nilai 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.

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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, 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 perutean DNS

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

Konsol

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

    Buka Cloud DNS zones

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

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

  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 sufiksnya, seperti service.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A

    Untuk mengetahui daftar jenis data yang didukung, lihat 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 akhiran

API

Gunakan resourceRecordSets.delete metode:

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 akhiran
  • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai sufiksnya, seperti test.example.com
  • RRSET_TYPE: jenis data resource dari ResourceRecordSet ini, seperti A

Langkah berikutnya