Halaman ini menunjukkan cara mengonfigurasi setelan DNS untuk domain menggunakan Cloud DNS dan Cloud Tools for PowerShell. Langkah ini akan memberikan contoh sederhana pembuatan zona terkelola untuk mengatur domain dan subdomainnya, lalu menambahkan data resource ke zona tersebut 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 menjadi tujuan untuk mengarahkan nama domain. Jika belum, 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 lebih lanjut Cloud DNS secara umum, baca Ringkasan Cloud DNS.
Membuat zona terkelola untuk domain Anda
Keseluruhan namespace DNS terdiri dari banyak domain, yang akan segera menyertakan nama domain Anda sendiri. Zona terkelola di zona DNS model Cloud DNS dan berfungsi sebagai container 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". Perhatikan titik di akhir, yang diperlukan dan menandakan nama DNS absolut.
Untuk memulai, siapkan zona terkelola untuk mengatur data DNS yang akan Anda buat untuk nama domain Anda. 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 project ID yang berbeda jika diinginkan. Tindakan ini juga akan membuat data NS dan SOA default di zona untuk Anda.
Namun, untuk memublikasikan data baru di zona tersebut ke internet, Anda juga perlu memperbarui server nama domain agar menggunakan Cloud DNS. Meskipun domain Anda terdaftar di Google Domains, Anda tetap harus mengupdate server namanya.
Anda dapat menemukan server nama Cloud DNS yang ditetapkan untuk domain Anda menggunakan cmdlet Get-GcdManagedZone
pada zona terkelola yang mengatur domain untuk menampilkan informasi tentang zona tersebut:
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 ke alamat IP mana domain di-resolve, menunjukkan server pertukaran email yang dapat digunakan untuk sebuah domain, dan banyak lagi.
Di Cloud DNS, Anda dapat menambahkan atau menghapus data DNS di suatu zona untuk mengonfigurasi perilaku tersebut. Untuk menambahkan atau menghapus kumpulan data resource yang tidak dapat diubah, Anda tidak boleh mengoperasikan data di zona secara langsung. Anda dapat membuat data resource independen atau mengambil data yang sudah ada menggunakan cmdlet New-GcdResourceRecordSet
dan Get-GcdResourceRecordSet
, lalu mengirimkan permintaan perubahan dengan data ini ke zona tertentu menggunakan cmdlet Add-GcdChange
.
Membuat set data resource
Anda dapat menggunakan New-GcdResourceRecordSet
cmdlet helper untuk membuat kumpulan data
resource yang dapat dimasukkan ke dalam perubahan, lalu ditambahkan ke atau dihapus dari
zona terkelola.
Misalnya, jika ingin membuat data A untuk mengarahkan domain ke alamat IPv4 eksternal dalam format #.#.#.# (jika 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." ditetapkan 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 dan dapat Anda buat dan sertakan dalam perubahan zona adalah A, AAAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV, dan TXT. Untuk membantu memutuskan 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 dalam suatu zona, Anda dapat menggunakan cmdlet Get-GcdResourceRecordSet
untuk menampilkan semua record dalam zona, lalu mengindeks hasilnya:
$allRecords = Get-GcdResourceRecordSet -Zone "my-new-zone" $record0 = $allRecords[0]
Jika hanya menginginkan kumpulan data dengan jenis tertentu, Anda dapat memfilter hasilnya sesuai dengan:
$ARecord = Get-GcdResourceRecordSet -Zone "my-new-zone" -Filter "A"
Menerapkan perubahan pada zona terkelola
Cmdlet New-GcdResourceRecordSet
dan Get-GcdResourceRecordSet
menampilkan kumpulan 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 hal berikut:
Add-GcdChange -Zone "my-new-zone" -Add $ARecord,$CNAMERecord
Jika nantinya ingin mengubah alamat IPv4 yang ditetapkan oleh domain, 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 dijalankan langsung, bukan
daftar kumpulan data resource:
Add-GcdChange -Zone "my-new-zone" -ChangeRequest $change0
Membuat objek permintaan perubahan secara manual tidak direkomendasikan, tetapi berguna jika Anda ingin menerapkan kembali perubahan yang dibuat sebelumnya atau yang dibuat di zona berbeda.
Anda dapat mengambil semua objek permintaan perubahan sebelumnya yang diterapkan ke suatu zona 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 semua zona terkelola. Ini bisa karena berbagai alasan. Mungkin Anda memiliki zona terkelola "user1-zone" untuk subdomain "user1.example.com.", tetapi user1 menghapus akunnya, sehingga 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 menampilkan apa pun.
Namun, cmdlet ini tidak segera berfungsi pada setelan yang dianggap Cloud DNS sebagai zona terkelola yang "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 switch
-Force
:
Remove-GcdManagedZone -Zone "my-new-zone" -Force
Cmdlet Remove-GcdManagedZone
juga menerima input pipeline untuk zona yang akan dihapus. Misalnya, perintah berikut secara paksa menghapus semua zona
yang dikelola dalam project saat ini. Hal ini mungkin berguna jika Anda tidak lagi mengelola salah satu domain yang disiapkan dalam project:
Get-GcdManagedZone | Remove-GcdManagedZone -Force