Mengonfigurasi kebijakan perutean dan health check DNS

Halaman ini menjelaskan cara mengonfigurasi kebijakan pemilihan rute DNS dan mengaktifkan health check menggunakan Cloud DNS. Sebelum menggunakan halaman ini, pahami kebijakan perutean dan health check DNS.

Untuk menggunakan kebijakan pemilihan rute DNS, buat kumpulan data resource dan pilih salah satu kebijakan pemilihan rute DNS berikut untuk diterapkan ke kumpulan data resource:

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

Hanya satu jenis kebijakan perutean yang dapat diterapkan ke kumpulan data resource sekaligus. Anda tidak dapat menggabungkan kebijakan perutean kecuali saat mengonfigurasi kebijakan perutean failover. Dalam hal ini, Anda dapat menetapkan kebijakan perutean geolokasi sebagai cadangan. Akses global harus diaktifkan untuk load balancer regional.

Membuat kebijakan perutean DNS untuk zona pribadi

Sebelum Anda membuat kebijakan perutean 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 perutean 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 tempat Anda ingin menambahkan 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 Jenis data resource, pilih salah satu opsi.

  3. Untuk TTL, masukkan nilai numerik untuk time to live data resource, yaitu jumlah waktu yang dapat digunakan untuk menyimpan data dalam 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 perutean

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

Data kebijakan perutean

WRR

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

    Bobot ini harus berupa angka non-negatif dari 0,0 hingga 1.000,0. Rasio traffic yang dirutekan ke target dihitung dari rasio bobot masing-masing terhadap total di semua bobot. Misalnya, jika target A memiliki bobot 25 dan target B memiliki bobot 75, dengan total bobot 100, Cloud DNS 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 lain yang telah diperiksa kesehatannya, klik Tambahkan target.

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

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

  7. Klik Berikutnya.

Geolokasi

  1. Untuk Pagar virtual, pilih Nonaktif atau Aktif.

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

  2. Untuk Region sumber, pilih region 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 lain yang telah diperiksa kesehatannya, klik Tambahkan target.

  6. Opsional: Untuk mengizinkan alamat IPv4 tanpa pemeriksaan kesehatan, 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 hal berikut:

    1. Untuk Pagar virtual, pilih Nonaktif atau Aktif. Mengaktifkan geofencing akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Untuk Region sumber, pilih region 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 ditangani secara otomatis sesuai dengan kebijakan geolokasi cadangan.

  3. Klik Done.

  4. Opsional: Untuk menambahkan target lain yang telah diperiksa kesehatannya, klik Tambahkan target.

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

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

  7. Di kolom Traffic trickle (%), 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 kumpulan data Cloud DNS Anda dengan konfigurasi kebijakan perutean.
  3. Klik Create.

gcloud

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

Untuk membuat kebijakan perutean 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, tempat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource 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 yang dikelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: 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 dirutekan ke target dihitung dari rasio bobot masing-masing terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan status.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan status. Saat 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 akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, tempat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource 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 yang dikelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: 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 koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan status.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan status. Saat 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 akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, tempat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource 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 yang dikelola sebagai akhirannya.
  • ROUTING_POLICY_DATA: 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 koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan status.
  • --enable-geo-fencing: untuk kebijakan pemilihan rute GEO, kebijakan ini menentukan apakah traffic harus dialihkan ke seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, 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 ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Nilai defaultnya adalah false.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan kesehatan. Saat 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 akhirannya, seperti service.example.com.
  • TTL: TTL, dalam detik, tempat resolver meng-cache ResourceRecordSet, seperti 30.
  • RRSET_TYPE: jenis data resource 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 yang dikelola 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 setidaknya salah satu aturan penerusan ini sehat, alamat IP dari semua aturan penerusan yang sehat 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 GEO.
  • ROUTING_POLICY_BACKUP_DATA: target cadangan yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini digunakan jika semua aturan penerusan yang ditentukan di --routing-policy-primary-data tidak sehat. Cloud DNS hanya mendukung target pencadangan 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 jika primary responsif. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.
  • --enable-geo-fencing: untuk kebijakan pemilihan rute GEO, kebijakan ini menentukan apakah traffic harus dialihkan ke seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, 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 ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Nilai defaultnya adalah false.
  • --enable-health-checking: flag untuk mengaktifkan pemeriksaan kesehatan. Saat 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://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "wrr": {
    "items": [
      {
        "weight": WEIGHT,
        "healthCheckedTargets": {
          "internalLoadBalancers": [
            {
              "loadBalancerType": "LOAD_BALANCER_TYPE"
              "ipAddress": "IP_ADDRESS"
              "port" : "PORT_NUMBER"
              "ipProtocol": "IP_PROTOCOL"
              "networkUrl": "NETWORK_URL"
              "project": "PROJECT_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 ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, tempat resolver meng-cache ResourceRecordSet ini, seperti 30
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif Catatan: Anda harus menentukan bobot sebagai bilangan non-negatif. Rasio traffic yang dirutekan ke target dihitung dari rasio bobot masing-masing 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 ditayangkan 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 berlaku
  • REGION: region tempat Anda membuat aturan penerusan`

Geolokasi

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
          "name": "RRSET_NAME",
          "type": "RRSET_TYPE",
          "ttl": TTL,
          "routingPolicy": {
        "geo": {
            "items": [
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCER_TYPE"
                    "ipAddress": "IP_ADDRESS"
                    "port" : "PORT_NUMBER"
                    "ipProtocol": "IP_PROTOCOL"
                    "networkUrl": "NETWORK_URL"
                    "project": "PROJECT_ID"
                    "region": "REGION"
                    }
                  ]
                }
            },
            {
                "location": "LOCATION",
                "healthCheckedTargets": {
                  "internalLoadBalancers": [
                    {
                    "loadBalancerType": "LOAD_BALANCING_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 ResourceRecordSet ini, seperti A
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
  • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan Anda untuk membuat kebijakan, seperti asia-east1
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb, globalL7ilb, atau regionalL7ilb. Setelan ini bersifat opsional.
  • IP_ADDRESS: alamat IP yang ditayangkan 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 berlaku
  • REGION: region tempat Anda membuat aturan penerusan

Failover

Dalam opsi failover, Cloud DNS hanya mendukung kebijakan GEO.

POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
      "type": "RRSET_TYPE",
      "ttl": TTL,
"routingPolicy": {
  "primaryBackup": {
    "trickleTraffic": TRICKLE_TRAFFIC,
    "primaryTargets": {
      "internalLoadBalancers": [
        {
          "ipAddress": "IP_ADDRESS"
          "ipProtocol": "IP_PROTOCOL"
          "loadBalancerType": "LOAD_BALANCER_TYPE"
          "networkUrl": "NETWORK_URL"
          "port": "PORT_NUMBER"
          "project": "PROJECT_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 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 primary dalam kondisi baik; rasio harus antara 0 dan 1, seperti 0.1
  • IP_ADDRESS: alamat IP yang ditayangkan 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 berlaku
  • PORT_NUMBER: nomor port load balancer internal
  • REGION: region tempat Anda membuat aturan penerusan
  • ENABLE_FENCING: untuk kebijakan pemilihan rute GEO, ini menentukan apakah traffic harus di-failover di seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, Cloud DNS akan selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Defaultnya adalah false.
  • LOCATION: untuk kebijakan GEO, geolokasi yang memerlukan Anda untuk membuat kebijakan, seperti asia-east1
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RRDATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1 rrdata2 rrdata3, seperti 198.51.100.1 203.0.113.1...

Membuat kebijakan pemilihan rute DNS untuk zona publik (Pratinjau)

Untuk membuat kebijakan perutean 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 tempat Anda ingin menambahkan 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 otomatis—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 data resource, yaitu jumlah waktu yang dapat 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 perutean

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

Data kebijakan perutean

WRR

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

    Bobot ini harus berupa angka non-negatif dari 0,0 hingga 1.000,0. Rasio traffic yang dirutekan ke target dihitung dari rasio bobot masing-masing terhadap total di semua bobot. Misalnya, jika target A memiliki bobot 25 dan target B memiliki bobot 75, dengan bobot total 100, Cloud DNS 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 resource Google Cloud dalam project saat ini, klik Select.
    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 pemeriksaan kesehatan di langkah sebelumnya, dalam daftar Health check, pilih health check atau buat yang baru dengan mengikuti langkah-langkah berikut.

    1. Klik Create a new health check.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Deskripsi, masukkan deskripsi untuk pemeriksaan kesehatan.
    4. Untuk Region sumber, pilih tiga region Google Cloud yang ingin Anda gunakan untuk mengirim probe pemeriksaan kesehatan.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

      Protokol dan nomor port menentukan cara Cloud DNS mengirim probe health check.

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

    8. Opsional: Untuk mengaktifkan log health check, untuk Logs, pilih On.

    9. Untuk Check interval, masukkan interval waktu dalam detik 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 habis, masukkan jumlah waktu dalam detik yang Anda inginkan agar Google Cloud menunggu respons terhadap pemeriksaan.

    11. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berturut-turut yang berhasil agar backend dianggap responsif.

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

    13. Klik Create.

  4. Klik Berikutnya.

Geolokasi

  1. Untuk Pagar virtual, pilih Nonaktif atau Aktif. Mengaktifkan geofencing akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
  2. Untuk Region sumber, pilih region 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 resource Google Cloud di project saat ini, klik Select.
    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 pemeriksaan kesehatan di langkah sebelumnya, dalam daftar Health check, pilih health check atau buat yang baru dengan mengikuti langkah-langkah berikut.

    1. Klik Create a new health check.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Deskripsi, masukkan deskripsi untuk pemeriksaan kesehatan.
    4. Untuk Region sumber, pilih tiga region Google Cloud yang ingin Anda gunakan untuk mengirim probe pemeriksaan kesehatan.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

      Protokol dan nomor port menentukan cara Cloud DNS mengirim probe health check.

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

    8. Opsional: Untuk mengaktifkan log health check, untuk Logs, pilih On.

    9. Untuk Check interval, masukkan interval waktu dalam detik 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 habis, masukkan jumlah waktu dalam detik yang Anda inginkan agar Google Cloud menunggu respons terhadap pemeriksaan.

    11. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berturut-turut yang berhasil agar backend dianggap responsif.

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

    13. Klik Create.

  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 resource Google Cloud dalam project saat ini, klik Select.
  3. Opsional: Untuk menambahkan alamat IP eksternal utama lainnya, klik Tambahkan target. Jika DNSSEC diaktifkan, Anda hanya dapat menambahkan satu target alamat IP eksternal utama .
  4. Di bagian Backup geolocation policy, lakukan hal berikut:
    1. Untuk Pagar virtual, pilih Nonaktif atau Aktif. Mengaktifkan geofencing akan membatasi traffic ke geolokasi tertentu meskipun semua endpoint di geolokasi tersebut tidak responsif.
    2. Untuk Region sumber, pilih region 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 resource Google Cloud dalam project saat ini, klik Select.
      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 pemeriksaan kesehatan di langkah sebelumnya, pilih pemeriksaan kesehatan di daftar Health check.

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

    1. Klik Create a new health check.
    2. Untuk Name, masukkan nama untuk health check.
    3. Opsional: Untuk Deskripsi, masukkan deskripsi untuk pemeriksaan kesehatan.
    4. Untuk Region sumber, pilih tiga region Google Cloud yang ingin Anda gunakan untuk mengirim probe pemeriksaan kesehatan.
    5. Opsional: Di daftar Protokol, pilih protokol.
    6. Untuk Port, masukkan nomor port.

    Protokol dan nomor port menentukan cara Cloud DNS mengirim probe health check.

    1. Opsional: Untuk mengonfigurasi health check berbasis konten, untuk Response, berikan string respons yang diharapkan, masing-masing dengan panjang hingga 1.024 karakter ASCII (satu byte).
    2. Opsional: Untuk mengaktifkan log health check, untuk Logs, pilih On.
    3. Untuk Check interval, masukkan interval waktu dalam detik 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 habis, masukkan jumlah waktu dalam detik yang Anda inginkan agar Google Cloud menunggu respons terhadap pemeriksaan.
    5. Untuk Batas responsif, masukkan jumlah hasil pemeriksaan berturut-turut yang berhasil agar backend dianggap responsif.
    6. Untuk Nilai minimum tidak responsif, masukkan jumlah hasil pemeriksaan berturut-turut yang gagal agar backend dianggap tidak responsif.
    7. Klik Create.
  6. Di kolom Traffic trickle (%), masukkan persentase traffic yang dikirim ke target failover, terlepas dari status health check target utama.

  7. Di daftar Health check, pilih health check.

  8. Klik Berikutnya.

Meninjau dan membuat

  1. Klik Tinjau.
  2. Tinjau kumpulan data Cloud DNS Anda dengan konfigurasi kebijakan perutean.
  3. Klik Create.

gcloud

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

  1. Untuk mengaktifkan health check di kebijakan perutean 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 dari awal koneksi satu sistem probe health check hingga awal sistem berikutnya. Unit dalam hitungan detik. Nilai CHECK_INTERVAL harus antara 30 dan 300 detik.
    • SOURCE_REGIONS: daftar yang dipisahkan koma dari region Google Cloud tempat Anda ingin mengirim probe pemeriksaan kesehatan.
    • PORT_NUMBER: nomor port untuk permintaan health check.
  2. Untuk membuat ResourceRecordSet dan menerapkan kebijakan perutean ke dalamnya, 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 imbuhan, seperti service.example.com.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • RRSET_TYPE: jenis data resource 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 akhirannya.
    • ROUTING_POLICY_DATA: data kebijakan pemilihan rute. 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 positif dari 0 hingga 1000.
    • HEALTH_CHECK_NAME: nama pemeriksaan kesehatan 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 imbuhan, seperti service.example.com.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A.
    • MANAGED_ZONE: zona terkelola yang terkait dengan ResourceRecordSet ini, seperti service-zone. Nama ResourceRecordSet ini harus memiliki nama DNS zona yang dikelola sebagai akhirannya.
    • ROUTING_POLICY_DATA: data kebijakan pemilihan rute. 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 koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan kesehatan.
    • HEALTH_CHECK_NAME: nama pemeriksaan kesehatan 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 imbuhan, seperti service.example.com.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • RRSET_TYPE: jenis data resource 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 akhirannya.
    • ROUTING_POLICY_DATA: data kebijakan pemilihan rute. 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 koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan kesehatan.
    • HEALTH_CHECK_NAME: nama pemeriksaan kesehatan yang Anda buat di langkah sebelumnya.

      --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 ditetapkan, 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 ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di 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 imbuhan, seperti service.example.com.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
    • RRSET_TYPE: jenis data resource 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 akhirannya.
    • ROUTING_POLICY_PRIMARY_DATA: target utama yang akan digunakan untuk kebijakan pemilihan rute FAILOVER. Target ini harus merupakan referensi ke satu atau beberapa aturan penerusan, seperti forwarding-rule-1. Selama setidaknya salah satu aturan penerusan ini berfungsi, alamat IP dari semua aturan penerusan yang berfungsi 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 di --routing-policy-primary-data tidak responsif. Cloud DNS hanya mendukung target pencadangan berbasis geografis. Format kolom ini cocok dengan format --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. Ini harus berupa GEO.
    • BACKUP_DATA_TRICKLE_RATIO: rasio traffic yang akan dikirim ke target cadangan, meskipun primary dalam kondisi baik. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.
    • HEALTH_CHECK_NAME: nama pemeriksaan kesehatan yang Anda buat di langkah sebelumnya.

API

  1. Untuk mengaktifkan pemeriksaan status di kebijakan perutean DNS untuk zona publik, gunakan metode healthChecks.insert.

  2. Untuk membuat ResourceRecordSet dan menerapkan kebijakan pemilihan rute ke dalamnya, gunakan metode resourceRecordSets.create.

    WRR

        POST https://www.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/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "wrr": {
                    "items": [{
                        "weight": WEIGHT,
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "weight": 1.0,
                        "healthCheckedTargets": {
                            "rrdata": ["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 akhirannya.
    • RRSET_NAME: nama DNS yang cocok dengan kueri masuk dengan nama DNS zona ini sebagai imbuhan, seperti service.example.com.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A.
    • HEALTH_CHECK_NAME: nama health check.
    • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif. Catatan: Anda harus menentukan bobot sebagai bilangan non-negatif. Rasio traffic yang dirutekan ke target dihitung dari rasio bobot masing-masing terhadap total di semua bobot.
    • RRDATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1,rrdata2,rrdata3, seperti 198.51.100.1, 203.0.113.1.

    Geolokasi

        POST https://www.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/beta/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME"
                "geo": {
              "enableFencing": ENABLE_FENCING
                    "items": [{
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["RRDATA"]
                        }
                    }, {
                        "location": "LOCATION",
                        "healthCheckedTargets": {
                            "rrdata": ["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 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 ResourceRecordSet ini, seperti A.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • HEALTH_CHECK_NAME: nama health check.
    • ENABLE_FENCING: untuk kebijakan pemilihan rute GEO, ini menentukan apakah traffic harus dialihkan ke seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, Cloud DNS akan selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Opsi yang valid adalah true dan false. Setelan default untuk ini adalah false.
    • LOCATION: untuk kebijakan GEO, geolokasi tempat Anda perlu membuat kebijakan, seperti asia-east1.
    • RRDATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1,rrdata2,rrdata3, seperti 198.51.100.1, 203.0.113.1.

    Failover

    Dalam opsi failover, Cloud DNS hanya mendukung kebijakan GEO.

        POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
        {
            "name": "RRSET_NAME",
            "type": "RRSET_TYPE",
            "ttl": TTL,
            "routingPolicy": {
                "healthCheck": "https://www.googleapis.com/compute/beta/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 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 ResourceRecordSet ini, seperti A.
    • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30.
    • HEALTH_CHECK_NAME: nama health check.
    • TRICKLE_TRAFFIC: rasio traffic yang akan dikirim ke target cadangan meskipun primary dalam kondisi baik; rasio harus antara 0 dan 1, seperti 0.1.
    • RRDATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1,rrdata2,rrdata3, seperti 198.51.100.1, 203.0.113.1.
    • ENABLE_FENCING: untuk kebijakan pemilihan rute GEO, ini menentukan apakah traffic harus di-failover di seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, Cloud DNS akan selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Setelan default untuk ini adalah false.
    • LOCATION: untuk kebijakan GEO, geolokasi tempat Anda perlu membuat kebijakan, seperti asia-east1.

Memperbarui kebijakan perutean DNS

Untuk memperbarui kebijakan pemilihan rute 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 pemilihan rute set data resource-nya ingin Anda perbarui.

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

  4. Setelah 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 akhirannya, seperti service.example.com
  • TTL: TTL, dalam detik, saat resolver meng-cache ResourceRecordSet ini, seperti 30
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

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

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

  • ROUTING_POLICY_TYPE: jenis kebijakan pemilihan rute.

    Masukkan WRR untuk round robin berbobot, GEO untuk geolokasi, 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 dirutekan ke target dihitung dari rasio bobot masing-masing terhadap total di semua bobot. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan status.
    • 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 koma. Nama aturan penerusan adalah nilai yang dapat diterima dan menghasilkan pemeriksaan status.
    • 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, kebijakan ini menentukan apakah traffic harus gagal di seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, 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 ditetapkan, semua endpoint di region tidak responsif dan Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya. Setelan default untuk 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 setidaknya salah satu aturan penerusan ini sehat, alamat IP dari semua aturan penerusan yang sehat 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 jika semua aturan penerusan yang ditentukan di --routing-policy-primary-data tidak sehat. Cloud DNS hanya mendukung target pencadangan 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 primary responsif. Rasio harus antara 0 dan 1, seperti 0.1. Defaultnya ditetapkan ke 0.

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

API

Gunakan metode resourceRecordSets.patch. Tentukan hanya 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://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
      "name": "RRSET_NAME.",
      "type": "RRSET_TYPE",
      "ttl": TTL,
      "routingPolicy": {
        "wrrPolicy": {
            "item": [
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  },
                  {
                      "weight": WEIGHT,
                      "rrdatas": ["RRDATA"]
                  }
            ],
          }
    }
}

Geolokasi

Gunakan metode berikut:

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

      }
  }
}

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 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 primary dalam kondisi baik; rasio harus antara 0 dan 1, seperti 0.1
  • ENABLE_FENCING: untuk kebijakan pemilihan rute GEO, ini menentukan apakah traffic harus dialihkan ke seluruh region jika semua endpoint di region tidak responsif. Jika ditetapkan, Cloud DNS akan selalu mengarahkan kueri ke region terdekat, meskipun semua endpoint di region tersebut tidak responsif. Jika tidak ditetapkan, Cloud DNS akan mengarahkan kueri ke region terdekat berikutnya saat semua endpoint di region tidak responsif. Defaultnya adalah false.
  • LOCATION: untuk kebijakan GEO, geolokasi tempat Anda perlu memperbarui kebijakan, seperti asia-east1
  • WEIGHT: untuk kebijakan WRR, daftar yang dipisahkan titik koma dalam format ${weight_percent}=${rrdatas}, seperti .8=10.128.1.1;.2=10.130.1.1; tentukan bobot sebagai desimal non-negatif
  • RRDATA: nilai arbitrer yang terkait dengan kumpulan data resource, seperti 198.51.100.5; Anda juga dapat memasukkan beberapa nilai, rrdata1 rrdata2 rrdata3, seperti 198.51.100.1 203.0.113.1...
  • LOAD_BALANCER_TYPE: jenis load balancer, seperti regionalL4ilb, globalL7ilb, atau regionalL7ilb. Setelan ini bersifat opsional.
  • IP_ADDRESS: alamat IP yang ditayangkan 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 berlaku
  • REGION: region tempat Anda membuat aturan penerusan

Menghapus kebijakan perutean DNS

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

Konsol

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

    Buka Cloud DNS zones

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

  3. Di halaman Detail zona, di samping nama DNS kumpulan 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 akhirannya, seperti service.example.com
  • RRSET_TYPE: jenis data resource ResourceRecordSet ini, seperti A

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

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

API

Gunakan resourceRecordSets.delete metode:

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

Ganti kode berikut:

  • PROJECT_ID: ID project
  • MANAGED_ZONE: zona terkelola yang 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 ResourceRecordSet ini, seperti A

Langkah selanjutnya