DNSゾーンファイルのフォーマット
ドメイン・ネーム・サービス(DNS)ゾーン・ファイルとは、DNSゾーンを記述するテキスト・ファイルのことです。BINDファイル・フォーマットは業界推奨のゾーン・ファイル・フォーマットであり、DNSサーバー・ソフトウェアによって広く採用されています。
フォーマットはRFC 1035で定義されています。
ゾーン・ファイルの制限事項および考慮事項
サービスの制限
Oracle Cloud Infrastructure DNSサービスは、アカウント当たり1000ゾーンおよびゾーン当たり25,000レコードに制限されています。これらの値を超えるゾーンとレコード・サイズが必要な顧客は、support.oracle.comからサポートに連絡することをお薦めします。
ゾーン・ファイルの制限
ゾーン・ファイルのアップロードは、ゾーン・ファイルごとのサイズで1MBに制限されています。
この制限を回避するには、まず consoleまたは CreateZone
API操作を使用してゾーンを作成します。次に、PatchDomainRecords
API操作を使用して、100のバッチでゾーンにレコードを追加します。
インポートおよびエクスポートの制限
ALIASレコード・タイプを含むか、トラフィック管理(TM)を使用するゾーン・ファイルのエクスポートは、サポートされていません。ゾーン・ファイルはRFC標準レコードとしてエクスポートされるのに対し、ALIASレコードおよびTMは非標準レコード・タイプであるためです。GetZoneRecords
API操作を使用して、非標準レコードのバックアップを取得できます。limit
パラメータを使用して、それぞれ100件のレコードのバッチを作成します。
グローバル・ゾーンのインポートとエクスポートは、ALIASおよびTMレコードを除き、コンソールとAPIの両方でサポートされます。
プライベート・ゾーンの場合、インポートはCreateZone
API操作を使用してサポートされます。ゾーンのエクスポートはサポートされていません。
ゾーン・ファイルの例
これは、Oracle Cloud Infrastructure DNSからダウンロードしたゾーン・ファイルの例です。
$ORIGIN example.com.
@ 3600 SOA ns1.p30.oraclecloud.net. (
zone-admin.dyndns.com. ; address of responsible party
2016072701 ; serial number
3600 ; refresh period
600 ; retry period
604800 ; expire time
1800 ) ; minimum ttl
86400 NS ns1.p68.dns.oraclecloud.net.
86400 NS ns2.p68.dns.oraclecloud.net.
86400 NS ns3.p68.dns.oraclecloud.net.
86400 NS ns4.p68.dns.oraclecloud.net.
3600 MX 10 mail.example.com.
3600 MX 20 vpn.example.com.
3600 MX 30 mail.example.com.
60 A 204.13.248.106
3600 TXT "v=spf1 includespf.oraclecloud.net ~all"
mail 14400 A 204.13.248.106
vpn 60 A 216.146.45.240
webapp 60 A 216.146.46.10
webapp 60 A 216.146.46.11
www 43200 CNAME example.com.
レコード・クラス
前述のゾーン・ファイルの例では、レコード・クラスは表示されません。OCI DNSは、インターネット(IN)クラスのレコードでのみ機能しますが、効率を高めるために、ゾーン・ファイル内のクラス情報を省略します。
ゾーン・ファイルの構造
$ORIGIN
は、DNSノード・ツリーを示し、通常はDNSゾーン・ファイルを開始します。オリジンの下のホスト・ラベルはすべて、オリジン・ホスト名を追加して完全修飾ホスト名を作成します。終了期間で終了する完全修飾されたドメインを使用するレコード内のホスト・ラベルは、オリジン・ホスト名を追加しません。
例: $ORIGIN example.com.
では、ホスト・ラベル・フィールドの後にピリオドが続いていないすべてのレコードで、example.com
が後ろに付加されます。
「@」記号は、$ORIGIN
によって「@」記号を置換する必要があることを示す特殊なラベルです。これは通常、ゾーンのapexに使用されます。
SOAレコード-$ORIGIN
の後に、ゾーンのStart Of Authority (SOA)レコードが続きます。SOAレコードは、ゾーンごとに必要です。これには、ゾーンの名前、ドメインのゾーン・ファイルの管理者の電子メール・アドレス、ゾーンの現在のシリアル番号、ゾーンのプライマリ・ネームサーバー、および様々なタイミング要素(秒単位)が含まれます。
SOAレコード・フォーマット
@ IN SOA {primary-name-server} {hostmaster-email} (
{serial-number}
{time-to-refresh}
{time-to-retry}
{time-to-expire}
{minimum-TTL-for-negative-cache} )
- プライマリ・ネーム・サーバー-AXFR転送コピーではなく、元のゾーン・ファイルを含むネームサーバー。
- ホストマスターの電子メール-ゾーンの責任者のアドレス。「@」記号のかわりに期間「.」が使用されています。期間を含むEメール・アドレスでは、期間をスラッシュ(/)に置換します。
- シリアル番号-ゾーンのバージョン番号。ゾーンが更新されるたびに、シリアル番号が増加します。
- リフレッシュ時間-プライマリ・ゾーン・ファイル内のシリアル番号の増加を確認する前にネームサーバーが待機する時間(秒単位)。セカンダリDNSネームサーバーにより検出されたシリアル番号が増加すると、レコードを同期化するために転送が必要になります。セカンダリDNSを使用するゾーンにのみ適用されます。
- 再試行時間–試行に失敗した後、ゾーンの更新を再試行する前にネームサーバーが待機する時間(秒単位)。セカンダリDNSを使用するゾーンにのみ適用されます。
- 期限切れ時間-ネームサーバーがセカンダリ・ゾーンのデータを無効とみなしたり、そのゾーンの問合せへの応答を停止する前に待機する時間(秒単位)。セカンダリDNSを使用するゾーンにのみ適用されます。
- 最小TTL-Time To Live (TTL)の最小値。ネームサーバーまたはリゾルバが否定応答をキャッシュする期間(秒単位)。
ゾーン・ファイル内のレコードの構造
ゾーン・ファイルはリソース・レコードの集合であり、各レコード・エントリが次の順序で記述されています。
フォーマット: | ホスト・ラベル | TTL | レコード・クラス | レコード・タイプ | レコード・データ |
---|---|---|---|---|---|
例: | example.com. | 60 | IN | A | 104.255.228.125 |
- ホスト・ラベル-ホスト・ラベルは、レコードのホスト名の定義、および
$ORIGIN
ホスト名をラベルに追加するかどうかの定義に役立ちます。期間により終了した完全修飾ホスト名は、オリジンを追加しません。 - TTL-Time To Live (TTL)は、DNSレコードが外部のDNSサーバーまたはリゾルバによってキャッシュされる時間(秒)です。
- レコード・クラス-DNSレコードには、IN (Internet)、CH (Chaosnet)およびHS (Hesiod)の3つのクラスがあります。Oracle Cloud Infrastructure DNSでは、INクラスのレコードのみを使用します。
- レコード・タイプ-CNAME、AAAAまたはTXTなどのレコードのタイプ。
- レコード・データ-DNS応答内のデータ(IPアドレス、ホスト名、その他の情報など)。各種のレコード・タイプには、異なるタイプのレコード・データが含まれます。
インポート用にGoDaddy.comからエクスポートされたゾーン・ファイルの修正
GoDaddy.comは、ゾーン・ファイルを独自のフォーマットでエクスポートします。GoDaddy.comからエクスポートされたゾーン・ファイルを正しくインポートするためにOCI DNSサービスを取得するには、そのファイルを直接変更する必要があります。ゾーン・ファイルを更新するには、次の手順に従います。
- GoDaddy.comからゾーン・ファイルをエクスポートします。GoDaddy.comのドキュメントを参照して、これがどのように行われるかを確認してください。
- 任意のテキスト・エディタでファイルを開きます。
- 次の情報のあるSOAレコードの前に、新しい行をファイルに追加します(最後のピリオドを含む)。
$ORIGIN [yourdomain].
- ファイルを修正したら、変更内容をファイルに保存し、ゾーン・インポート関数を使用してファイルをDNS構成にインポートします。ゾーン・インポートの詳細は、DNSゾーンの管理を参照してください。
ゾーン・ファイルに
@ 600 IN A GoCentral Published Site
などの動的Aレコードが含まれている場合、Webサイトの正しいIPアドレスを使用してこれらのレコードを修正する必要があります。この情報を取得する方法は、GoDaddy.comにお問い合せください。例:@ 600 IN A 192.0.2.255
例:
これは、GoDaddy.comからエクスポートされたゾーン・ファイルの例です。太字のコードは、Oracle Cloud Infrastructure DNSへのインポートの対象とするファイルから削除する必要があるコードです。
行の先頭にあるセミコロンは、RFC 1035に従った、ゾーン・ファイルに対して有効なコメント構文ですが、簡単に使用したり、フォーマットのために、次に示すように、GoDaddy.comによって提供されるゾーン・ファイルの最初から大部分のコメント・セクションを削除することをお薦めします。
Domain: example.com
; Exported (y-m-d hh:mm:ss): 2019-01-10 13:05:04
;
; This file is intended for use for informational and archival
; purposes ONLY and MUST be edited before use on a production
; DNS server.
;
; In particular, you must update the SOA record with the correct
; authoritative name server and contact e-mail address information,
; and add the correct NS records for the name servers which will
; be authoritative for this domain.
;
; For further information, please consult the BIND documentation
; located on the following website:
;
; http://www.isc.org/
;
; And RFC 1035:
;
; http://www.ietf.org/rfc/rfc1035.txt
;
; Please note that we do NOT offer technical support for any use
; of this zone data, the BIND name server, or any other third-
; party DNS software.
;
; Use at your own risk.
; SOA Record
example.com. 3600 IN SOA ns41.domaincontrol.com. dns.net. (
2018122702
28800
7200
604800
3600
)
; A Records
@ 600 IN A 192.0.2.249
blog 10800 IN A 192.0.2.255
dev 1800 IN A 192.0.2.254
dev01 1800 IN A 192.0.2.253
dev02 1800 IN A 192.0.2.252
dev03 1800 IN A 192.0.2.251
dev04 1800 IN A 192.0.2.250
; CNAME Records
abc123b432dc7785b7ef31f04f25c3e71 1800 IN CNAME verify.bing.com.
akamai 600 IN CNAME www.example.com.edgekey.net.
email 3600 IN CNAME email.secureserver.net.
; MX Records
@ 604800 IN MX 10 amlxe.l.google.com.
@ 604800 IN MX 10 aplxe.l.google.com.
; TXT Records
@ 3600 IN TXT "google-site-verification=3J82-80dbMyCo5Q5C1G11JszeOnZPGCSYlHcPcXg"
@ 3600 IN TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB743xsbX918"
OCI DNSにインポートする準備ができた修正されたゾーン・ファイルの例を次に示します。インポート前に、太字のコードをゾーン・ファイルの先頭に追加する必要があります。
$ORIGIN example.com.
example.com. 3600 IN SOA ns41.domaincontrol.com. dns.net. (
2018122702
28800
7200
604800
3600
)
; A Records
@ 600 IN A 192.0.2.249
blog 10800 IN A 192.0.2.255
dev 1800 IN A 192.0.2.254
dev01 1800 IN A 192.0.2.253
dev02 1800 IN A 192.0.2.252
dev03 1800 IN A 192.0.2.251
dev04 1800 IN A 192.0.2.250abc123b432dc7785b7ef31f04f25c3e71 1800 IN CNAME verify.bing.com.
; CNAME Records
akamai 600 IN CNAME www.example.edgekey.net.
email 3600 IN CNAME email.secureserver.net.
; MX Records
@ 604800 IN MX 10 amlxe.l.google.com.
@ 604800 IN MX 10 aplxe.l.google.com.
; TXT Records
@ 3600 IN TXT "google-site-verification=3J82-80dbMyCo5Q5C1GM8os1VYVEOnZPGCSYlHcPcXg"
@ 3600 IN TXT "google-site-verification=eS_QPYLE_W4nduSrlN-cddxG7ZqOnB7k7uIG7qrsyu8"