Membuat, mengubah, dan menghapus zona

Halaman ini berisi petunjuk untuk membuat, memperbarui, mencantumkan, dan menghapus zona terkelola Cloud DNS. Sebelum menggunakan halaman ini, pahami ringkasan Cloud DNS dan Istilah utama.

Sebelum memulai

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

Jika Anda akan 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 sudah ada, atau Anda dapat 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-langkah selanjutnya:
    • Client ID (xxxxxx.apps.googleusercontent.com).
    • Project ID yang ingin Anda gunakan. Anda dapat menemukan ID di bagian atas halaman Overview di konsol Google Cloud . Anda juga dapat meminta pengguna mencantumkan nama project yang ingin ia gunakan di 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

Jika Anda ingin menjalankan perintah gcloud pada resource Google Cloud di project lain, tentukan opsi --project untuk perintah ini dan untuk perintah gcloud lainnya di sepanjang halaman ini.

Membuat zona terkelola

Tiap zona terkelola yang Anda buat dikaitkan dengan projectGoogle Cloud . Bagian berikut menjelaskan cara membuat jenis zona terkelola yang didukung Cloud DNS.

Membuat zona publik

Untuk membuat zona terkelola baru, selesaikan langkah-langkah berikut.

Konsol

  1. Di konsol Google Cloud , buka halaman Create a DNS zone.

    Buka Create a DNS zone

  2. Untuk Zone type, pilih Public.

  3. Masukkan Zone name seperti my-new-zone.

  4. Masukkan akhiran DNS name untuk zona menggunakan nama domain yang Anda miliki. Semua data di zona memiliki akhiran ini, misalnya: example.com.

  5. Di bagian DNSSEC, pilih Off, On, atau Transfer. Untuk mengetahui informasi selengkapnya, baca bagian Mengaktifkan DNSSEC untuk zona terkelola yang ada.

  6. Klik Create. Halaman Zone details akan ditampilkan.

gcloud

Jalankan perintah dns managed-zones create:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --labels=LABELS \
    --visibility=public

Ganti kode berikut:

  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • DNS_SUFFIX: akhiran DNS untuk zona Anda, seperti example.com
  • LABELS: daftar pasangan nilai kunci yang dipisahkan koma opsional seperti dept=marketing atau project=project1. Untuk mengetahui informasi selengkapnya, baca dokumentasi SDK

Terraform

resource "google_dns_managed_zone" "example_zone" {
  name        = "example-zone"
  dns_name    = "example-${random_id.rnd.hex}.com."
  description = "Example DNS zone"
  labels = {
    name = "value"
  }
}

resource "random_id" "rnd" {
  byte_length = 4
}

API

Kirim permintaan POST menggunakan metode managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{
  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "public"
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat zona terkelola dibuat
  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • DNS_NAME: akhiran DNS untuk zona Anda, seperti example.com

Membuat zona pribadi

Untuk membuat zona pribadi terkelola baru dengan data DNS pribadi yang dikelola oleh Cloud DNS, selesaikan langkah-langkah berikut. Untuk mengetahui informasi selengkapnya, baca Praktik terbaik untuk zona pribadi Cloud DNS.

Konsol

  1. Di konsol Google Cloud , buka halaman Create a DNS zone.

    Buka Create a DNS zone

  2. Untuk Zone type, pilih Private.

  3. Masukkan Zone name seperti my-new-zone.

  4. Masukkan akhiran DNS name untuk zona pribadi. Semua data di zona memiliki akhiran ini, misalnya: example.private.

  5. Opsional: Tambahkan deskripsi.

  6. Di bagian Options, pilih Default (private).

  7. Pilih jaringan Virtual Private Cloud (VPC) yang zona pribadinya harus terlihat. Hanya jaringan VPC yang Anda pilih yang diberi otorisasi untuk mengkueri data di zona.

  8. Klik Create.

gcloud

Jalankan perintah dns managed-zones create:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --labels=LABELS \
    --visibility=private

Ganti kode berikut:

  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • DNS_SUFFIX: akhiran DNS untuk zona Anda, seperti example.private
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma yang diizinkan untuk mengkueri zona
  • LABELS: daftar pasangan nilai kunci yang dipisahkan koma opsional seperti dept=marketing atau project=project1. Untuk mengetahui informasi selengkapnya, baca dokumentasi SDK

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    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
}

API

Kirim permintaan POST menggunakan metode managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{

  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "private",
  "privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "networks": [
      {
        "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
        "networkUrl": "VPC_NETWORK_1"
      },
      {
        "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
        "networkUrl": "VPC_NETWORK_2"
      },
      ....
    ]
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat zona terkelola dibuat
  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • DNS_NAME: akhiran DNS untuk zona Anda, seperti example.private
  • VPC_NETWORK_1 dan VPC_NETWORK_2: URL untuk jaringan VPC dalam project yang sama yang dapat mengkueri data dalam zona ini. Anda dapat menambahkan beberapa jaringan VPC seperti yang ditunjukkan. Untuk menentukan URL jaringan VPC, gunakan perintah gcloud berikut, dengan mengganti VPC_NETWORK_NAME dengan nama jaringan:

    gcloud compute networks describe VPC_NETWORK_NAME \
     --format="get(selfLink)"
    

Membuat zona dengan izin IAM khusus

Izin Identity and Access Management (IAM) untuk zona yang dikelola resource individual dapat Anda manfaatkan untuk menyiapkan izin baca, tulis, atau administrator khusus untuk zona terkelola yang berbeda dalam project yang sama.

Untuk mengetahui petunjuk tentang cara membuat zona dengan izin Identity and Access Management (IAM) khusus, baca bagian Membuat zona dengan izin IAM khusus.

Membuat zona DNS Direktori Layanan

Anda dapat membuat zona Direktori Layanan yang memungkinkan layanan berbasis Google Cloud mengkueri namespace Direktori Layanan Anda melalui DNS.

Untuk mengetahui petunjuk mendetail tentang cara membuat zona DNS Direktori Layanan, baca bagian Mengonfigurasi zona DNS Direktori Layanan.

Untuk mengetahui petunjuk tentang cara menggunakan DNS untuk mengkueri Direktori Layanan, baca bagian Membuat kueri menggunakan DNS.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    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
}

Membuat zona pribadi pencarian balik terkelola

Zona pencarian balik terkelola adalah zona pribadi dengan atribut khusus yang menginstruksikan Cloud DNS untuk melakukan pencarian PTR terhadap data DNS Compute Engine. Anda harus menyiapkan zona pencarian balik terkelola untuk Cloud DNS agar dapat me-resolve data PTR non-RFC 1918 dengan benar untuk instance virtual machine (VM) Anda.

Untuk mengetahui petunjuk tentang cara membuat zona pribadi pencarian balik terkelola baru, baca bagian Membuat zona pencarian balik terkelola.

Membuat zona penerusan

Dengan zona penerusan, Anda dapat menarget server nama untuk zona pribadi tertentu. Untuk mengetahui petunjuk tentang cara membuat zona penerusan pribadi terkelola baru, baca bagian Membuat zona penerusan.

Membuat zona peering

Peering DNS dapat Anda gunakan guna mengirim permintaan untuk data yang berasal dari namespace satu zona ke jaringan VPC lain. Untuk mengetahui petunjuk tentang cara membuat zona peering, baca bagian Membuat zona peering.

Membuat zona binding lintas project

Buat zona pribadi terkelola yang dapat dihubungkan ke jaringan yang dimiliki oleh project lain dalam organisasi yang sama. Untuk mengetahui petunjuk tentang cara membuat zona binding lintas project, baca bagian Zona binding lintas project.

Memperbarui zona terkelola

Cloud DNS dapat Anda gunakan untuk mengubah atribut tertentu dari zona publikterkelola atau zona pribadi terkelola .

Memperbarui zona publik

Anda dapat mengubah deskripsi atau konfigurasi DNSSEC zona publik.

Konsol

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

    Buka Cloud DNS zones

  2. Klik zona publik yang ingin Anda perbarui.

  3. Klik Edit.

  4. Untuk mengubah setelan DNSSEC, di bagian DNSSEC, pilih Off, On, atau Transfer. Untuk mengetahui informasi selengkapnya, baca bagian Mengaktifkan DNSSEC untuk zona terkelola yang ada.

  5. Opsional: Perbarui deskripsi.

  6. Klik Save.

gcloud

Jalankan perintah dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --dnssec-state=STATE

Ganti kode berikut:

  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • STATE: setelan DNSSEC seperti Off, On, atau Transfer

Memperbarui zona pribadi

Anda dapat mengubah jaringan VPC yang menjadi tempat zona pribadi terlihat.

Konsol

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

    Buka Cloud DNS zones

  2. Klik zona pribadi yang ingin Anda perbarui.

  3. Klik Edit.

  4. Pilih jaringan yang zona pribadinya harus terlihat. Hanya jaringan VPC yang dipilih yang diizinkan untuk mengkueri data di zona.

  5. Klik Save.

gcloud

Jalankan perintah dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST

Ganti kode berikut:

  • NAME: nama zona Anda
  • DESCRIPTION: deskripsi zona Anda
  • VPC_NETWORK_LIST: daftar jaringan VPC yang dipisahkan koma yang diizinkan untuk mengkueri zona

Memperbarui label

Untuk menambahkan label baru, mengubah label yang ada, menghapus label yang dipilih, atau menghapus semua label di zona terkelola, selesaikan langkah-langkah berikut.

gcloud

Jalankan perintah dns managed-zones update:

gcloud dns managed-zones update NAME \
    --update-labels=LABELS
gcloud dns managed-zones update NAME \
    --remove-labels=LABELS
gcloud dns managed-zones update NAME \
    --clear-labels

Ganti kode berikut:

  • NAME: nama zona Anda
  • LABELS: daftar pasangan nilai kunci yang dipisahkan koma opsional seperti dept=marketing atau project=project1. Untuk mengetahui informasi selengkapnya, baca dokumentasi SDK

Membuat daftar dan mendeskripsikan zona terkelola

Bagian berikut menunjukkan cara mencantumkan atau mendeskripsikan zona terkelola.

Mencantumkan zona terkelola

Untuk mencantumkan semua zona terkelola Anda dalam sebuah project, selesaikan langkah-langkah berikut.

Konsol

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

    Buka Cloud DNS zones

  2. Lihat zona terkelola di panel kanan.

gcloud

Jalankan perintah dns managed-zones list:

gcloud dns managed-zones list

Untuk mencantumkan semua zona terkelola, ubah perintah sebagai berikut:

gcloud dns managed-zones list 
--filter="visibility=public"
Untuk mencantumkan semua zona pribadi terkelola, ubah perintah sebagai berikut:

gcloud dns managed-zones list \
   --filter="visibility=private"

Mendeskripsikan zona terkelola

Untuk melihat atribut zona terkelola, selesaikan langkah-langkah berikut.

Konsol

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

    Buka Cloud DNS zones

  2. Klik zona yang ingin Anda periksa.

gcloud

Jalankan perintah dns managed-zones describe:

gcloud dns managed-zones describe NAME

Ganti NAME dengan nama zona Anda.

Menghapus zona terkelola

Jika Anda menghapus zona, data DNS-nya akan dihapus secara permanen dan tidak dapat dipulihkan. Untuk mencegah kehilangan data DNS, ekspor data zona Anda sebelum penghapusan. Untuk mengetahui informasi tentang cara mengekspor data zona, baca bagian Mengimpor dan mengekspor kumpulan data resource.

Untuk menghapus zona terkelola, selesaikan langkah-langkah berikut.

Konsol

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

    Buka Cloud DNS zones

  2. Klik zona terkelola yang ingin Anda hapus.

  3. Klik Delete zone.

gcloud

  1. Hapus semua data di zona, kecuali data SOA dan NS. Untuk mengetahui informasi selengkapnya, baca bagian Menghapus data. Anda dapat mengosongkan seluruh zona dengan cepat dengan mengimpor file kosong ke dalam kumpulan data. Untuk mengetahui informasi selengkapnya, baca bagian Mengimpor dan mengekspor kumpulan data. Contoh:

    touch empty-file
    gcloud dns record-sets import -z NAME \
       --delete-all-existing \
       empty-file
    rm empty-file
    

    Ganti NAME dengan nama zona Anda.

  2. Untuk menghapus zona pribadi terkelola yang baru, jalankan perintah dns managed-zones delete:

    gcloud dns managed-zones delete NAME
    

    Ganti NAME dengan nama zona Anda.

Langkah berikutnya