Bagikan melalui


Mengimpor dan mengekspor file zona DNS menggunakan Azure CLI

Dalam artikel ini, Anda mempelajari cara mengimpor dan mengekspor file zona DNS di Azure DNS menggunakan Azure CLI. Anda juga dapat mengimpor dan mengekspor file zona menggunakan portal Azure.

Pendahuluan migrasi zona DNS

File zona DNS adalah file teks yang berisi informasi tentang setiap catatan Sistem Nama Domain (Domain Name System/DNS) di zona tersebut. File ini mengikuti format standar, sehingga cocok untuk mentransfer data DNS antara sistem DNS. Menggunakan file zona adalah cara cepat dan nyaman untuk mengimpor zona DNS ke Azure DNS. Anda juga bisa mengekspor file zona dari Azure DNS untuk digunakan dengan sistem DNS lainnya.

Azure DNS mendukung impor dan ekspor file zona melalui Azure CLI dan portal Azure.

Azure CLI adalah alat baris perintah lintas platform yang digunakan untuk mengelola layanan Azure. Azure CLI tersedia untuk Windows, Mac, dan Linux dari halaman pengunduhan Azure.

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 dihosting.

  • Jika zona DNS Anda dihosting oleh layanan mitra, layanan harus memiliki cara bagi Anda untuk mengunduh file zona DNS. Layanan mitra yang dimaksud termasuk registrar domain, penyedia layanan hosting DNS khusus, atau penyedia cloud alternatif.
  • 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.

Penting

Jika file zona yang Anda impor berisi entri CNAME yang menunjuk ke nama di zona privat lain, resolusi Azure DNS dari CNAME gagal kecuali zona lain juga diimpor, atau entri CNAME dimodifikasi.

Mengimpor file zona DNS ke Azure DNS

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

Perilaku gabungan

  • Secara default, kumpulan catatan baru digabungkan dengan kumpulan catatan yang sudah ada. Catatan yang sama dalam kumpulan catatan gabungan tidak diduplikasi.
  • Saat kumpulan catatan digabungkan, time to live (TTL) dari kumpulan catatan yang sudah ada sebelumnya digunakan.
  • Parameter Start of Authority (SOA), kecuali host selalu diambil dari file zona yang diimpor. Kumpulan catatan server nama di puncak zona juga selalu menggunakan TTL yang diambil dari file zona yang diimpor.
  • Data CNAME yang diimpor akan menggantikan data CNAME yang sudah ada yang memiliki nama yang sama.
  • Saat konflik terjadi antara catatan CNAME dan catatan lain dengan nama yang sama dari jenis yang berbeda, catatan yang sudah ada akan digunakan.

Informasi tambahan tentang impor

Catatan berikut ini memberikan lebih banyak detail teknis tentang proses impor zona.

  • Arahan $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.
  • Arahan $ORIGIN bersifat opsional, dan didukung. Ketika tidak ada $ORIGIN yang diatur, nilai default yang digunakan adalah nama zona seperti yang ditentukan pada baris perintah, termasuk titik akhir (.).
  • 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 karena perlu merujuk ke 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 rekaman tidak ditimpa oleh nilai yang terkandung dalam file zona yang diimpor.
  • Selama Pratinjau Umum, Azure DNS hanya mendukung data TXT untai (karakter) tunggal. Catatan TXT dengan banyak string digabungkan dan disingkat menjadi 255 karakter.

Format dan nilai CLI

Format perintah Azure CLI untuk mengimpor zona DNS adalah:

az network 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 belum ada di grup sumber daya, zona tersebut dibuat untuk Anda. Untuk zona yang sudah ada, kumpulan catatan yang diimpor digabungkan dengan kumpulan catatan yang sudah ada.

Mengimpor file zona

Mengimpor file zona untuk zona contoso.com.

  1. Buat grup sumber daya jika Anda tidak memilikinya.

    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, jalankan perintah az network dns zone import.

    Perintah ini memuat file zona dan memilahnya. Perintah menjalankan serangkaian operasi di layanan Azure DNS untuk membuat zona dan semua kumpulan catatan di zona tersebut. Perintah melaporkan kemajuan di jendela konsol bersama dengan kesalahan atau peringatan apa pun. Karena kumpulan catatan dibuat secara seri, dibutuhkan beberapa menit untuk mengimpor file zona besar.

    az network 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:

  • Untuk membuat daftar data, gunakan perintah Azure CLI berikut:

    az network dns record-set list -g myresourcegroup -z contoso.com
    
  • Anda bisa membuat daftar catatan dengan menggunakan perintah Azure CLI az network dns record-set ns list.

  • Gunakan nslookup untuk memverifikasi resolusi nama catatan. Jika 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.

    az network dns record-set ns list -g myresourcegroup -z contoso.com  --output json 
    
    [
      {
       .......
       "name": "@",
        "nsRecords": [
          {
            "additionalProperties": {},
            "nsdname": "ns1-03.azure-dns.com."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns2-03.azure-dns.net."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns3-03.azure-dns.org."
          },
          {
            "additionalProperties": {},
            "nsdname": "ns4-03.azure-dns.info."
          }
        ],
        "resourceGroup": "myresourcegroup",
        "ttl": 86400,
        "type": "Microsoft.Network/dnszones/NS"
      }
    ]
    

    Gunakan Windows Command Prompt untuk meng-kueri catatan "www" dengan perintah nslookup.

    nslookup www.contoso.com ns1-03.azure-dns.com
    
        Server: ns1-01.azure-dns.com
        Address:  40.90.4.1
    
        Name:www.contoso.com
        Addresses:  134.170.185.46
        134.170.188.221
    

Perbarui delegasi DNS

Setelah Anda memverifikasi apakah zona telah diimpor dengan benar, Anda perlu memperbarui delegasi DNS untuk mengarahkan ke server nama Azure DNS. Untuk informasi selengkapnya, lihat Memperbarui delegasi DNS.

Mengekspor file zona DNS dari Azure DNS

Untuk mengekspor zona DNS, gunakan perintah Azure CLI berikut:

az network 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 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 dns zone export -g myresourcegroup -n contoso.com -f contoso.com.txt

Langkah berikutnya