Menerapkan 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 Anda 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: Menyiapkan OAuth 2.0.
  4. Dalam project ini, perhatikan informasi berikut yang harus Anda masukkan di langkah selanjutnya:
    • Client ID (xxxxxx.apps.googleusercontent.com).
    • Project ID yang ingin Anda gunakan. Anda dapat menemukan ID ini di bagian atas halaman Overview pada Konsol Google Cloud. Anda juga dapat meminta pengguna untuk memberikan nama project yang ingin mereka gunakan dalam aplikasi Anda.

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

gcloud auth login

Untuk memilih project yang berbeda dari 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 tidak dapat mereferensikan lebih dari satu kebijakan server DNS. Jika Anda perlu menentukan penerusan masuk dan keluar untuk jaringan VPC, buat satu kebijakan yang mendefinisikan 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 subnet alamat IPv4 utama 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 kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dibatasi 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 kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dibatasi koma yang mengkueri server nama alternatif
  • ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif; perutean 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
}

Buat kebijakan server untuk

gcloud

Agar dapat 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 kebijakan
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dibatasi koma tempat alamat penerusan masuk harus dibuat dan harus mengkueri server nama alternatif
  • ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat Anda gunakan sebagai server nama alternatif. Perutean pribadi hanya digunakan untuk server nama alternatif yang memiliki alamat RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: daftar alamat IP yang dipisahkan koma yang dapat digunakan sebagai server nama alternatif, yang diakses dengan 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 diterapkan ke jaringan VPC, Cloud DNS membuat sekumpulan alamat IP internal regional yang berfungsi sebagai tujuan yang dapat menjadi tujuan pengiriman kueri DNS oleh sistem lokal atau resolver nama. 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 penerus masuk menerima dan menerima kueri dari terowongan Cloud VPN atau lampiran Cloud Interconnect (VLAN) di region yang sama dengan alamat IP internal regional. Instance VM dapat mengakses penerusan masuk melalui salah satu alamat IP internal 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 menampilkan daftar 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 ini memberikan informasi tentang cara mengubah jaringan VPC dan mengaktifkan atau menonaktifkan penerusan masuk.

Mengubah jaringan VPC

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

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

gcloud

Untuk mengubah daftar jaringan tempat kebijakan server DNS diterapkan, 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 memberlakukan kebijakan tersebut; daftar jaringan VPC yang Anda tentukan 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 bagi kebijakan server DNS, jalankan perintah dns policies update:

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

Ganti NAME dengan nama kebijakan.

Membuat daftar 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.