Azure portal を使用して DNS ゾーン ファイルをインポートおよびエクスポートする

この記事では、Azure portal を使用して Azure DNS で DNS ゾーン ファイルをインポートおよびエクスポートする方法について説明します。 Azure PowerShell を使用してゾーン ファイルをインポートおよびエクスポートすることもできます。

DNS ゾーンの移行に関する概要

DNS ゾーン ファイルとは、ゾーン内のすべての DNS レコードに関する詳細が含まれるテキスト ファイルです。 このファイルは標準の形式に従っているため、DNS システム間で DNS レコードを転送するのに適しています。 ゾーン ファイルの使用は、DNS ゾーンを Azure DNS にインポートするための高速で便利な方法です。 また、Azure DNS からゾーン ファイルをエクスポートして、他の DNS システムと共に使用することもできます。

Azure DNS では、Azure CLI および Azure portal を使用したゾーン ファイルのインポートとエクスポートをサポートしています。

既存の DNS ゾーン ファイルの取得

Azure DNS に DNS ゾーン ファイルをインポートするには、事前にゾーン ファイルのコピーを取得しておく必要があります。 このファイルのソースは、DNS ゾーンがホストされている場所によって異なります。

  • ご利用の DNS ゾーンがパートナーのサービスによってホストされている場合、そのサービスによって DNS ゾーン ファイルをダウンロードするための方法が提供されます。 パートナーのサービスには、ドメイン レジストラー、専用の DNS ホスティング プロバイダー、または代替クラウド プロバイダーが含まれます。
  • DNS ゾーンが Windows DNS にホストされている場合、ゾーン ファイルは既定のフォルダー %systemroot%\system32\dns にあります。 各ゾーン ファイルへの完全なパスは、DNS コンソールの [全般] タブにも表示されます。
  • DNS ゾーンが BIND を使用してホストされている場合、各ゾーンのゾーン ファイルの場所は、named.conf という名前の BIND 構成ファイルに指定されています。

重要

インポートするゾーン ファイルにプライベート ゾーン内の名前を指す CNAME エントリが含まれている場合、他のゾーンもインポートされるか、CNAME エントリが変更されない限り、CNAME の Azure DNS 解決は失敗します。

Azure DNS への DNS ゾーン ファイルのインポート

ゾーン ファイルのインポートを実行すると、Azure DNS 内にまだゾーンが存在しない場合、新しいゾーンが作成されます。 ゾーンが存在する場合は、ゾーン ファイル内のレコード セットが既存のレコード セットにマージされます。

マージ動作

  • 既定では、新しいレコード セットは既存のレコード セットとマージされます。 マージされたレコード セット内の一致するレコードは、複製されません。
  • レコード セットをマージした場合、既存のレコード セットの有効期限 (TTL) が使用されます。
  • SOA (Start of Authority) パラメーター (host を除く) は常に、インポートされたゾーン ファイルから取得されます。 ゾーンの頂点にあるネーム サーバー レコード セットでも、インポートされたゾーン ファイルから取得された TTL が常に使用されます。
  • インポートされた CNAME レコードは、同じ名前を持つ既存の CNAME レコードに取って代わります。
  • CNAME レコードと、名前が同じで種類が異なるレコードとの間で競合が発生した場合は、既存のレコードが使用されます。

インポートに関する追加情報

次に、ゾーンのインポート プロセスに関するその他の詳細を説明します。

  • $TTL ディレクティブは省略可能であり、サポートされています。 $TTL ディレクティブを指定しなかった場合、明示的な TTL を持たないレコードは、既定の TTL である 3600 秒が設定されてインポートされます。 同じレコード セット内の 2 つのレコードで別々の TTL を指定した場合は、小さい方の値が使用されます。
  • $ORIGIN ディレクティブは省略可能であり、サポートされています。 $ORIGIN を設定しない場合、使用される既定値は、コマンドラインで指定したゾーン名 (末尾にドット (.) を含む) となります。
  • $INCLUDE$GENERATE ディレクティブはサポートされていません。
  • A、AAAA、CAA、CNAME、MX、NS、SOA、SRV、および TXT のレコード タイプがサポートされています。
  • ゾーンの作成時には、Azure DNS によって SOA レコードが自動的に作成されます。 ゾーン ファイルのインポート時には、host パラメーターを "除き"、すべての SOA パラメーターがゾーン ファイルから取得されます。 このパラメーターには、Azure DNS によって提供される値を使用します。Azure DNS によって提供されたプライマリ ネーム サーバーが参照される必要があるからです。
  • ゾーンの作成時には、ゾーンの頂点のネーム サーバー レコード セットも Azure DNS によって自動的に作成されます。 このレコード セットの TTL のみがインポートされます。 これらのレコードには、Azure DNS によって提供されたネーム サーバー名が格納されています。 レコード データは、インポートされたゾーン ファイルに含まれる値によって上書きされることはありません。
  • Azure DNS では単一行文字列の TXT レコードしかサポートしません。 複数行文字列の TXT レコードは連結され、255 文字に切り捨てられます。
  • インポートするゾーン ファイルは、10,000 行以下で、レコード セットが 3,000 個以下である必要があります。

ゾーン ファイルをインポートする

  1. インポートするゾーンのゾーン ファイルのコピーを取得します。

    この例では、以下の小さいゾーン ファイルとリソース レコードを使用します。

    $ORIGIN adatum.com. 
    $TTL 86400 
    @	IN	SOA	dns1.adatum.com.	hostmaster.adatum.com. (
     		2023091201 ; serial                     
     		21600      ; refresh after 6 hours                     
     		3600       ; retry after 1 hour                     
     		604800     ; expire after 1 week                     
     		86400 )    ; minimum TTL of 1 day  	     
    
     IN	NS	dns1.adatum.com.       
     IN	NS	dns2.adatum.com.        
    
     IN	MX	10	mail.adatum.com.       
     IN	MX	20	mail2.adatum.com.        
    
    dns1	IN	A	5.4.3.2
    dns2	IN	A	4.3.2.1		       
    server1	IN	A	4.4.3.2        
    server2	IN	A	5.5.4.3
    ftp	IN	A	3.3.2.1
         IN	A	3.3.3.2
    mail	IN	CNAME	server1
    mail2	IN	CNAME	server2
    www	    IN	CNAME	server1
    

    使用される名前:

    • 元のゾーン名: adatum.com
    • 宛先ゾーン名: adatum.com
    • ゾーン ファイル名: adatum.com.txt
    • リソース グループ: myresourcegroup
  2. [DNS zones]\(DNS ゾーン\) 概要ページを開き、[作成] を選択します。

  3. [DNS ゾーンの作成] ページで、以下の値を入力または選択します。

    • [リソース グループ]: 既存のリソース グループを選択するか、または [新規作成] を選択し、「myresourcegroup」と入力して [OK] を選択します。 Azure サブスクリプション内で一意となるリソース グループ名を使用してください。
    • [名前]: この例では、「adatum.com」と入力します。 DNS ゾーン名には、Azure DNS サーバーに既に構成されていない任意の値を指定できます。 実際の値は、ドメイン名レジストラーから購入したドメインになります。
  4. [Review create]\(確認および作成\) を選択し、次に [作成] を選択します。

  5. デプロイが完了したら、[リソースに移動] を選択します。 Azure パブリック DNS と互換性のある NS レコードと SOA レコードは、ゾーンに自動的に追加されます。 次の例を参照してください。

    adatum.com ゾーンの概要

  6. [インポート] を選択し、[Import DNS zone]\(DNS ゾーンのインポート\) ページで [参照] を選択します。

  7. adatum.com.txt ファイルを選択し、[開く] を選択します。 ゾーン ファイルが DNS ゾーン エディターに表示されます。 次の例を参照してください。

    DNS ゾーン エディターに表示された adatum.com ゾーン

  8. 次の手順に進む前に、ゾーン データ値を編集します。

    Note

    ゾーン ファイルに古い NS レコードが存在する場合は、ゾーンのインポート中に非ブロッキング エラーが表示されます。 Azure NS レコードは上書きされません。 インポート前に古い NS レコードが削除されるのが理想的です。
    ゾーンのシリアル番号をリセットする場合は、インポートする前に SOA から古いシリアル番号を削除します。

  9. [Review Create]\(確認および作成\) を選択し、DNS ゾーン差分ビューアーで情報を確認します。 次の例を参照してください。

    DNS ゾーン差分ビューアーに表示された adatum.com ゾーン

  10. [作成] を選択します 既存のゾーンを上書きする前に、ローカル デバイスに保存するように求めるダイアログが表示されます。 [ダウンロードして続行] を選択します。 ゾーン データがインポートされ、ゾーンが表示されます。

  11. [レコードセット] を選択すると、新しくインポートされたリソース レコードが表示されます。 次の例を参照してください。

    概要ペインに表示された adatum.com ゾーン

ゾーン ファイルをエクスポートする

  1. [DNS zones]\(DNS ゾーン\) 概要ページを開き、エクスポートするゾーンを選択します。 たとえば、adatum.com とします。 次の例を参照してください。

    エクスポートする準備ができた adatum.com ゾーン

  2. エクスポートを選択します。 このファイルは、既定のダウンロード ディレクトリに、AzurePublicDnsZone-adatum.comnumber.txt という名前のテキスト ファイルとしてダウンロードされます。ここで、number は自動生成されたインデックス番号です。

  3. ファイルを開いて内容を表示します。 次の例を参照してください。

    ; 	Exported zone file from Azure DNS
    ; 	Zone name: adatum.com
    ; 	Date and time (UTC): Tue, 12 Sep 2023 21:33:17 GMT
    
    $TTL 86400
    $ORIGIN adatum.com
    
    ; SOA Record
    @	 3600		IN	SOA	SOA	dns1.adatum.com.	(
    	 	 	0	 ;serial
    	 	 	21600	 ;refresh
    	 	 	3600	 ;retry
    	 	 	604800	 ;expire
    	 	 	86400	 ;minimum ttl
    )
    
    ; NS Records
    @	172800	IN	NS	ns1-36.azure-dns.com.
    @	172800	IN	NS	ns2-36.azure-dns.net.
    @	172800	IN	NS	ns3-36.azure-dns.org.
    @	172800	IN	NS	ns4-36.azure-dns.info.
    
    ; MX Records
    @	3600	IN	MX	10	mail.adatum.com.
    @	3600	IN	MX	20	mail2.adatum.com.
    
    ; A Records
    dns1	3600	IN	A	5.4.3.2
    dns2	3600	IN	A	4.3.2.1
    ftp	3600	IN	A	3.3.2.1
    ftp	3600	IN	A	3.3.3.2
    server1	3600	IN	A	4.4.3.2
    server2	3600	IN	A	5.5.4.3
    
    ; AAAA Records
    
    ; CNAME Records
    mail	3600	IN	CNAME	server1
    mail2	3600	IN	CNAME	server2
    www	3600	IN	CNAME	server1
    
    ; PTR Records
    
    ; TXT Records
    
    ; SRV Records
    
    ; SPF Records
    
    ; CAA Records
    
    ; DS Records
    
    ; Azure Alias Records
    

次のステップ

  • DNS ゾーンでレコード セットとレコードを管理する方法についてはこちらをご覧ください。
  • Azure DNS にドメインを委任する方法についてはこちらをご覧ください。