Halaman ini menunjukkan cara mengonfigurasi setelan DNS untuk domain menggunakan Cloud DNS dan Cloud Tools untuk PowerShell. Panduan ini membahas contoh sederhana pembuatan zona terkelola untuk mengatur domain dan subdomainnya, lalu menambahkan data resource ke zona untuk memberikan informasi yang menentukan perilaku server DNS saat menangani permintaan ke domain zona.
Dokumen ini mengasumsikan bahwa Anda memiliki nama domain dan alamat IP yang dapat Anda arahkan ke nama domain. Jika tidak, Anda dapat mendaftarkan nama domain melalui Google Domains atau registrar domain lain pilihan Anda.
Baca referensi cmdlet Cloud Tools for PowerShell untuk mempelajari cmdlet Cloud DNS lebih lanjut. Untuk mempelajari Cloud DNS lebih lanjut secara umum, baca Ringkasan Cloud DNS.
Membuat zona terkelola untuk domain Anda
Seluruh namespace DNS terdiri dari banyak domain, yang akan segera menyertakan nama domain Anda sendiri. Zona terkelola di Cloud DNS memodelkan zona DNS dan berfungsi sebagai penampung untuk mengatur data DNS (seperti entri A, CNAME, atau TXT) untuk akhiran nama DNS yang sama. Misalnya, data untuk "example.com." dan subdomain seperti "first.example.com." dapat berada di zona yang sama karena memiliki akhiran "example.com." yang sama. Perhatikan titik di akhir, yang diperlukan dan menandakan nama DNS absolut.
Untuk memulai, siapkan zona terkelola guna mengatur data DNS yang akan Anda buat untuk nama domain. Anda dapat membuat zona terkelola baru dan menambahkannya ke project konsol Google Cloud menggunakan cmdlet Add-GcdManagedZone
:
Add-GcdManagedZone ` -Name "my-new-zone" ` -DnsName "example.com." ` -Description "This is my first zone."
Tindakan ini akan membuat zona baru dengan detail yang ditentukan dan menambahkannya ke project saat ini dari konfigurasi gcloud CLI yang aktif, meskipun Anda juga memiliki opsi untuk menentukan ID project yang berbeda jika diinginkan. Tindakan ini juga akan membuat data SOA dan NS default di zona untuk Anda.
Namun, untuk memublikasikan data baru di zona ke internet, Anda juga perlu memperbarui server nama domain untuk menggunakan Cloud DNS. Meskipun domain Anda terdaftar dengan Google Domains, Anda tetap harus mengupdate server namanya.
Anda dapat menemukan server nama Cloud DNS yang ditetapkan ke domain dengan menggunakan cmdlet Get-GcdManagedZone
di zona terkelola yang mengatur domain untuk menampilkan informasi tentang zona:
Get-GcdManagedZone -Zone "my-new-zone"
Menambahkan dan menghapus kumpulan data resource
Data resource DNS memberikan informasi yang menentukan perilaku server DNS saat menangani permintaan yang dikirim ke domain. Misalnya, data DNS dapat digunakan untuk memberi tahu server alamat IP mana yang di-resolve oleh domain, menunjukkan server mail exchange yang dapat digunakan untuk domain, dan banyak lagi.
Di Cloud DNS, Anda dapat menambahkan atau menghapus data DNS di zona untuk
mengonfigurasi perilaku tersebut. Untuk menambahkan atau menghapus kumpulan data resource yang tidak dapat diubah, Anda tidak
beroperasi pada data di zona secara langsung. Sebagai gantinya, Anda membuat data resource
independen atau mengambil data yang ada menggunakan cmdlet New-GcdResourceRecordSet
dan Get-GcdResourceRecordSet
, lalu mengirim permintaan
perubahan dengan data ini ke zona tertentu menggunakan cmdlet
Add-GcdChange
.
Membuat kumpulan data resource
Anda dapat menggunakan cmdlet helper New-GcdResourceRecordSet
untuk membuat kumpulan data resource yang dapat Anda masukkan dalam perubahan, lalu menambahkan ke atau menghapus dari zona terkelola.
Misalnya, jika Anda ingin membuat data A untuk mengarahkan domain ke alamat IPv4 eksternal dalam format #.#.#.# (jika Anda memiliki alamat IPv6, gunakan data AAAA), Anda dapat menggunakan perintah berikut:
$ARecord = New-GcdResourceRecordSet ` -Name "example.com." -Rrdata "107.1.23.134" -Type "A"
Demikian pula, untuk membuat data CNAME untuk subdomain www sehingga "www.example.com" me-resolve ke IP yang sama dan berperilaku sama seperti "example.com", Anda dapat menggunakan perintah berikut:
$CNAMERecord = New-GcdResourceRecordSet ` -Name "www.example.com." -Rrdata "example.com." -Type "CNAME"
Jenis data resource yang didukung yang dapat Anda buat dan sertakan dalam perubahan pada zona adalah A, AAAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, dan TXT. Untuk mendapatkan bantuan dalam menentukan data yang Anda perlukan dan cara membuatnya, lihat format data resource yang didukung untuk Cloud DNS.
Mengambil kumpulan data resource
Jika ingin mengambil kumpulan data resource yang ada di zona, Anda dapat menggunakan
cmdlet Get-GcdResourceRecordSet
untuk menampilkan semua data di zona, lalu
mengindeks hasilnya:
$allRecords = Get-GcdResourceRecordSet -Zone "my-new-zone" $record0 = $allRecords[0]
Jika hanya menginginkan data dari jenis tertentu, Anda dapat memfilter hasil sesuai kebutuhan:
$ARecord = Get-GcdResourceRecordSet -Zone "my-new-zone" -Filter "A"
Menerapkan perubahan pada zona terkelola
Cmdlet New-GcdResourceRecordSet
dan Get-GcdResourceRecordSet
menampilkan set data resource, tetapi tidak menambahkan data ke atau menghapusnya dari
apa pun. Untuk itu, gunakan cmdlet Add-GcdChange
:
Add-GcdChange ` -Zone "my-new-zone" -Add $record1,$record2 -Remove $record0
Misalnya, untuk menambahkan data A dan CNAME yang Anda buat di atas ke zona kami, lakukan tindakan berikut:
Add-GcdChange -Zone "my-new-zone" -Add $ARecord,$CNAMERecord
Jika nanti ingin mengubah alamat IPv4 yang di-resolve domain Anda, Anda dapat membuat data jenis A baru, lalu menambahkannya ke zona terkelola sekaligus menghapus data A lama:
$oldARecord = Get-GcdResourceRecordSet -Zone "my-new-zone" -Filter "A" $newARecord = New-GcdResourceRecordSet ` -Name "example.com." -Rrdata "104.1.34.167" -Type "A" Add-GcdChange -Zone "my-new-zone" -Remove $oldARecord -Add $newARecord
Setiap panggilan ke cmdlet Add-GcdChange
akan menampilkan
objek permintaan perubahan yang baru dieksekusi. Anda juga dapat meneruskan objek permintaan perubahan ke cmdlet Add-GcdChange
untuk dieksekusi secara langsung, bukan daftar kumpulan data resource:
Add-GcdChange -Zone "my-new-zone" -ChangeRequest $change0
Membuat objek permintaan perubahan secara manual tidak direkomendasikan, tetapi objek tersebut berguna
jika Anda ingin menerapkan kembali perubahan yang dibuat sebelumnya atau perubahan yang dibuat di zona lain.
Anda dapat mengambil semua objek permintaan perubahan sebelumnya yang diterapkan ke zona dengan menggunakan cmdlet Get-GcdChange
:
$allChanges = Get-GcdChange -Zone "my-new-zone"
Anda dapat memilih perubahan tertentu dengan mengindeks hasil sebelumnya, atau menentukan perubahan yang akan diambil dengan ChangeId. Permintaan perubahan biasanya diberi nomor dari 0 dan seterusnya berdasarkan urutan pengirimannya ke zona:
$firstChange = Get-GcdChange -Zone "my-new-zone" -ChangeId 0 Add-GcdChange -Zone "my-new-zone" -ChangeRequest $firstChange
Menghapus zona terkelola
Terkadang, Anda mungkin ingin menghapus zona terkelola sepenuhnya. Hal ini dapat disebabkan oleh berbagai alasan. Mungkin Anda telah mengelola zona "user1-zone" untuk subdomain "user1.example.com", tetapi user1 menghapus akunnya. Dalam hal ini, Anda ingin menghapus subdomain ini dan semua data DNS terkait.
Untuk menghapus zona terkelola dari project Anda, gunakan cmdlet Remove-GcdManagedZone
:
Remove-GcdManagedZone -Zone "user1-zone"
Jika berhasil, perintah tidak akan menampilkan apa pun.
Namun, cmdlet ini tidak langsung berfungsi pada zona terkelola yang dianggap Cloud DNS sebagai "tidak kosong", atau zona yang berisi data jenis non-NS atau non-SOA (data non-default). Misalnya, Anda tidak akan dapat menghapus
"my-new-zone", tempat Anda menambahkan data jenis A dan CNAME, tanpa
memberikan izin ke cmdlet selama pemrosesan atau menggunakan tombol
-Force
:
Remove-GcdManagedZone -Zone "my-new-zone" -Force
Cmdlet Remove-GcdManagedZone
juga menerima input pipeline untuk zona yang akan dihapus. Misalnya, perintah berikut akan menghapus semua zona yang dikelola secara paksa di project saat ini. Hal ini mungkin berguna jika Anda tidak lagi
mengelola domain apa pun yang disiapkan dalam project:
Get-GcdManagedZone | Remove-GcdManagedZone -Force