Bagikan melalui


Mengimpor dan mengekspor file zona DNS untuk DNS privat Azure

Artikel ini memberikan panduan tentang cara mengimpor dan mengekspor file zona DNS untuk Azure DNS menggunakan Azure CLI.

Pendahuluan migrasi zona DNS

File zona DNS adalah file teks yang berisi detail semua data Sistem Nama Domain (DNS) di zona tersebut. File ini mengikuti format standar, sehingga cocok untuk mentransfer data DNS antara sistem DNS. Menggunakan file zona adalah cara yang cepat, andal, dan mudah untuk mentransfer zona DNS ke atau ke luar Azure DNS.

DNS privat Azure mendukung pengimporan dan pengeksporan file zona melalui Azure CLI. Mengimpor file zona melalui Azure PowerShell atau portal Azure tidak didukung saat ini.

Azure CLI adalah alat baris perintah lintas platform yang digunakan untuk mengelola layanan Azure. Azure CLI tersedia untuk platform Windows, Mac, dan Linux di Halaman unduhan Azure. Dukungan lintas platform penting untuk mengimpor dan mengekspor file zona, karena perangkat lunak server nama yang paling umum, BIND, biasanya berjalan di Linux.

Mendapatkan file zona DNS Anda yang sudah ada

Sebelum Mengimpor file zona DNS ke Azure DNS, Anda harus mendapatkan salinan file zona tersebut. Sumber file ini bergantung pada tempat zona DNS saat ini dihosting.

  • Jika zona DNS Anda dihosting oleh layanan mitra (seperti pencatat domain, penyedia host DNS khusus, atau penyedia cloud alternatif), layanan tersebut harus memberikan kemampuan untuk mengunduh file zona DNS.
  • Jika zona DNS Anda dihosting di DNS Windows, folder default untuk file zona adalah %systemroot%\system32\dns. Jalur lengkap untuk setiap file zona juga muncul di tab Umum konsol DNS.
  • Jika zona DNS Anda dihosting menggunakan BIND, lokasi file zona untuk setiap zona ditentukan dalam file konfigurasi BIND named.conf.

Mengimpor file zona DNS ke DNS privat Azure

Mengimpor file zona akan membuat zona baru di DNS privat Azure jika zona belum ada. Jika zona sudah ada, kumpulan catatan dalam file zona harus digabungkan dengan kumpulan catatan yang sudah ada.

Perilaku gabungan

  • Secara default, rangkaian data baru yang sudah ada digabungkan. Data yang identik dalam rangkaian data gabungan tidak diduplikasi.
  • Saat rangkaian data digabungkan, time to live (TTL) dari rangkaian data yang sudah ada sebelumnya digunakan.
  • Parameter Start of Authority (SOA) (kecuali host) selalu diambil dari file zona yang diimpor. Demikian pula, untuk server nama rangkaian data di apex zona, TTL selalu diambil dari file zona yang diimpor.
  • Data CNAME yang diimpor tidak menggantikan data CNAME yang sudah ada dengan nama yang sama.
  • Saat konflik muncul antara data CNAME dan data lain dengan nama yang sama tetapi jenis yang berbeda (terlepas dari yang sudah ada atau baru), data yang ada dipertahankan.

Informasi tambahan tentang impor

Catatan berikut ini menyediakan detail teknis tambahan tentang proses impor zona.

  • Direktif $TTL bersifat opsional, dan didukung. Jika tidak ada arahan $TTL yang diberikan, data tanpa TTL eksplisit diimpor dan diatur ke TTL default 3600 detik. Jika dua data dalam rangkaian data yang sama menentukan TTL yang berbeda, nilai yang lebih rendah digunakan.
  • Direktif $ORIGIN bersifat opsional, dan didukung. Ketika tidak $ORIGIN yang diatur, nilai default yang digunakan adalah nama zona seperti yang ditentukan di baris perintah (ditambah terminasi ".").
  • Arahan $INCLUDE dan $GENERATE tidak didukung.
  • Jenis data yang didukung yaitu: A, AAAA, CAA, CNAME, MX, NS, SOA, SRV, dan TXT.
  • Data SOA dibuat secara otomatis oleh Azure DNS saat zona dibuat. Saat Anda mengimpor file zona, semua parameter SOA diambil dari file zona kecuali parameter host. Parameter ini menggunakan nilai yang disediakan oleh Azure DNS. Ini karena parameter tersebut harus mengacu pada server nama utama yang disediakan oleh Azure DNS.
  • Server nama rangkaian data di apex zona juga dibuat secara otomatis oleh Azure DNS saat zona dibuat. Hanya TTL rangkaian data yang diimpor. Data ini berisi nama dari server nama yang disediakan oleh Azure DNS. Data tidak ditimpa oleh nilai yang terkandung dalam file zona yang diimpor.
  • Azure DNS hanya mendukung rekaman TXT string tunggal. Rekaman TXT multistring akan digabungkan dan dipotong menjadi 255 karakter.

Format dan nilai CLI

Format perintah Azure CLI untuk mengimpor zona DNS adalah:

az network private-dns zone import -g <resource group> -n <zone name> -f <zone file name>

Nilai:

  • <resource group> adalah nama grup sumber daya untuk zona di Azure DNS.
  • <zone name> adalah nama zona.
  • <zone file name> adalah jalur/nama file zona yang akan diimpor.

Jika zona dengan nama ini tidak ada di grup sumber daya, zona tersebut dibuat untuk Anda. Jika zona sudah ada, kumpulan catatan yang diimpor digabungkan dengan kumpulan catatan yang sudah ada.

Mengimpor file zona

Mengimpor file zona untuk zona contoso.com.

  1. Jika belum memiliki zona tersebut, Anda harus membuat grup sumber daya Resource Manager.

    az group create --resource-group myresourcegroup -l westeurope
    
  2. Untuk mengimpor zona contoso.com dari file contoso.com.txt ke zona DNS baru di grup sumber daya myresourcegroup, Anda akan menjalankan perintah az network private-dns zone import.
    Perintah ini memuat file zona dan memilahnya. Perintah menjalankan serangkaian perintah di layanan Azure DNS untuk membuat zona dan semua rangkaian data di zona tersebut. Perintah tersebut melaporkan kemajuan di jendela konsol, bersama dengan semua kesalahan atau peringatan. Karena rangkaian data dibuat secara berurutan, mungkin perlu beberapa menit untuk mengimpor file zona besar.

    az network private-dns zone import -g myresourcegroup -n contoso.com -f contoso.com.txt
    

Verifikasi zona

Untuk memverifikasi zona DNS setelah mengimpor file, Anda bisa menggunakan salah satu metode berikut ini:

  • Anda bisa membuat daftar rekaman dengan menggunakan perintah Azure CLI berikut ini:

    az network private-dns record-set list -g myresourcegroup -z contoso.com
    
  • Anda bisa gunakan nslookup untuk memverifikasi resolusi nama untuk rekaman. Karena zona belum didelegasikan, Anda perlu menentukan server nama Azure DNS yang benar secara eksplisit. Sampel berikut menunjukkan cara mengambil nama untuk server nama yang ditetapkan ke zona tersebut. Ini juga menunjukkan cara membuat kueri rekaman "www" dengan menggunakan nslookup.

Mengekspor file zona DNS dari Azure DNS

Format perintah Azure CLI untuk mengekspor zona DNS adalah:

az network private-dns zone export -g <resource group> -n <zone name> -f <zone file name>

Nilai:

  • <resource group> adalah nama grup sumber daya untuk zona di Azure DNS.
  • <zone name> adalah nama zona.
  • <zone file name> adalah jalur/nama file zona yang akan diekspor.

Seperti halnya impor zona, pertama-tama Anda harus masuk, pilih langganan Anda, dan konfigurasikan Azure CLI untuk menggunakan mode Resource Manager.

Untuk mengekspor file zona

Untuk mengekspor zona Azure DNS yang sudah ada contoso.com dalam grup sumber daya myresourcegroup ke file contoso.com.txt (di folder saat ini), jalankan azure network private-dns zone export. Perintah ini memanggil layanan Azure DNS untuk menghitung kumpulan catatan di zona dan mengekspor hasilnya ke file zona yang kompatibel dengan BIND.

az network private-dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Langkah berikutnya