Mengonfigurasi kebijakan server Cloud DNS

Halaman ini menjelaskan cara mengonfigurasi kebijakan server Cloud DNS dan menggunakannya dengan jaringan Virtual Private Cloud (VPC). Sebelum menggunakan halaman ini, tinjau ringkasan kebijakan server DNS.

Sebelum memulai

Cloud DNS API mengharuskan Anda membuat project Google Cloud dan mengaktifkan Cloud DNS API.

Jika membuat aplikasi yang menggunakan REST API, Anda juga harus membuat client ID OAuth 2.0.

  1. Jika Anda belum memilikinya, daftar untuk membuat Akun Google.
  2. Aktifkan Cloud DNS API di konsol Google Cloud. Anda dapat memilih project Compute Engine atau App Engine yang ada, atau membuat project baru.
  3. Jika perlu membuat permintaan ke REST API, Anda harus membuat ID OAuth 2.0. Lihat Menyiapkan OAuth 2.0.
  4. Dalam project, catat informasi berikut yang perlu Anda masukkan di langkah berikutnya:
    • Client ID (xxxxxx.apps.googleusercontent.com).
    • Project ID yang ingin Anda gunakan. Anda dapat menemukan ID di bagian atas halaman Ringkasan di konsol Google Cloud. Anda juga dapat meminta pengguna untuk memberikan nama project yang ingin mereka gunakan di aplikasi Anda.

Jika belum menjalankan Google Cloud CLI sebelumnya, Anda harus menjalankan perintah berikut untuk menentukan nama project dan melakukan autentikasi dengan konsol Google Cloud:

gcloud auth login

Untuk memilih project yang berbeda dengan yang telah Anda pilih sebelumnya, tentukan opsi --project di command line.

Membuat kebijakan server DNS

Setiap objek kebijakan server DNS dapat menentukan salah satu kebijakan server berikut:

Setiap jaringan VPC dapat mereferensikan tidak lebih dari satu kebijakan server DNS. Jika Anda perlu menentukan penerusan masuk dan keluar untuk jaringan VPC, buat satu kebijakan yang menentukan kebijakan masuk dan keluar.

Membuat kebijakan server masuk

Untuk membuat kebijakan server masuk, ikuti petunjuk berikut. Cloud DNS membuat kumpulan alamat IP forwarder masuk dari rentang alamat IPv4 utama subnet di setiap jaringan VPC tempat kebijakan diterapkan. Setelah membuat kebijakan, Anda dapat mencantumkan titik entri yang dibuat Cloud DNS.

gcloud

Untuk membuat kebijakan server masuk, jalankan perintah dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-inbound-forwarding

Ganti kode berikut:

  • NAME: nama untuk kebijakan
  • DESCRIPTION: deskripsi untuk kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma, tempat alamat penerusan masuk harus dibuat

Terraform

resource "google_dns_policy" "default" {
  name                      = "example-inbound-policy"
  enable_inbound_forwarding = true

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Membuat kebijakan server keluar

Untuk menentukan daftar server nama alternatif untuk jaringan VPC, Anda dapat membuat kebijakan server keluar.

gcloud

Untuk membuat kebijakan server keluar, jalankan perintah dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST

Ganti kode berikut:

  • NAME: nama untuk kebijakan
  • DESCRIPTION: deskripsi untuk kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma yang mengkueri server nama alternatif
  • ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif; pemilihan rute pribadi hanya digunakan untuk server nama alternatif yang memiliki alamat RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif, yang diakses dengan menggunakan perutean pribadi

Terraform

resource "google_dns_policy" "default" {
  name = "example-outbound-policy"

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Membuat kebijakan server untuk keduanya

gcloud

Untuk membuat kebijakan server DNS untuk penerusan masuk dan keluar, jalankan perintah dns policies create:

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \
    --enable-inbound-forwarding

Ganti kode berikut:

  • NAME: nama untuk kebijakan
  • DESCRIPTION: deskripsi untuk kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma tempat alamat penerusan masuk harus dibuat dan yang harus mengkueri server nama alternatif
  • ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif. Pemilihan rute pribadi hanya digunakan untuk server nama alternatif yang memiliki alamat RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif, yang diakses menggunakan perutean pribadi.

Terraform

resource "google_dns_policy" "example_policy" {
  name                      = "example-policy"
  enable_inbound_forwarding = true

  enable_logging = true

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.network_1.id
  }
  networks {
    network_url = google_compute_network.network_2.id
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Mencantumkan titik entri penerusan masuk

Saat kebijakan server masuk berlaku untuk jaringan VPC, Cloud DNS akan membuat kumpulan alamat IP internal regional yang berfungsi sebagai tujuan tempat sistem lokal atau resolver nama Anda dapat mengirim kueri DNS. Alamat ini berfungsi sebagai titik entri ke urutan resolusi nama jaringan VPC Anda.

Aturan firewall Google Cloud tidak berlaku untuk alamat internal regional yang berfungsi sebagai titik entri untuk penerusan masuk. Cloud DNS menerima traffic TCP dan UDP di port 53 secara otomatis.

Setiap penerusan masuk menerima dan menerima kueri dari tunnel Cloud VPN atau lampiran Cloud Interconnect (VLAN) di region yang sama dengan alamat IP internal regional. Instance VM dapat mengakses penerusan masuk melalui alamat IP internal mana pun di jaringan VPC yang sama. Untuk mengakses penerusan masuk, antarmuka jaringan harus memiliki alamat IP eksternal atau subnet NIC harus mengaktifkan Akses Google Pribadi.

gcloud

Untuk mencantumkan kumpulan alamat IP internal regional yang berfungsi sebagai titik entri untuk penerusan masuk, jalankan perintah compute addresses list:

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

Memperbarui kebijakan DNS

Bagian berikut memberikan informasi tentang cara mengubah jaringan VPC dan mengaktifkan atau menonaktifkan penerusan masuk.

Mengubah jaringan VPC

Daftar berikut menjelaskan hal yang terjadi saat Anda mengubah daftar jaringan VPC tempat kebijakan DNS berlaku:

  • Jika kebijakan menentukan kebijakan masuk, titik entri untuk forwarder masuk akan dibuat di jaringan VPC sesuai kebutuhan.
  • Jika kebijakan menentukan kebijakan keluar, urutan resolusi nama setiap jaringan VPC akan diperbarui untuk menyertakan server nama alternatif yang ditentukan.

gcloud

Untuk mengubah daftar jaringan yang menerapkan kebijakan server DNS, jalankan perintah dns policies update:

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Ganti kode berikut:

  • NAME: nama untuk kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma yang menjadi cakupan kebijakan; daftar jaringan VPC yang Anda tentukan akan menggantikan daftar sebelumnya

Mengaktifkan atau menonaktifkan penerusan masuk

Anda dapat mengaktifkan penerusan masuk untuk kebijakan server DNS yang hanya menentukan kebijakan keluar (server nama alternatif). Anda juga dapat menonaktifkan penerusan masuk untuk kebijakan DNS yang ada.

gcloud

Untuk mengaktifkan penerusan masuk untuk kebijakan server DNS, jalankan perintah dns policies update:

gcloud dns policies update NAME \
    --enable-inbound-forwarding

Untuk menonaktifkan penerusan masuk untuk kebijakan server DNS, jalankan perintah dns policies update:

gcloud dns policies update NAME \
    --no-enable-inbound-forwarding

Ganti NAME dengan nama kebijakan.

Mencantumkan kebijakan DNS

gcloud

Untuk mencantumkan kebijakan server DNS di project Anda, jalankan perintah dns policies list:

gcloud dns policies list

Menghapus kebijakan DNS

gcloud

Untuk menghapus kebijakan server, jalankan perintah dns policies delete:

gcloud dns policies delete NAME

Ganti NAME dengan nama kebijakan yang akan dihapus.

Langkah selanjutnya

  • Untuk menemukan solusi atas masalah umum yang mungkin Anda alami saat menggunakan Cloud DNS, lihat Pemecahan masalah.
  • Untuk mendapatkan ringkasan Cloud DNS, lihat Ringkasan Cloud DNS.