セットアップ
アウトゴーイングゾーントランスファーを使用することで、CloudflareをプライマリDNSプロバイダーとして維持し、可用性とフォールトトレランスを向上させるために1つ以上のセカンダリプロバイダーを使用できます。
CNAMEレコードの種類で説明されているように、CloudflareはCNAMEフラッティングと呼ばれるプロセスを使用して、CNAMEターゲットの代わりに最終的なIPアドレスを返します。CNAMEフラッティングはパフォーマンスを向上させ、ゾーンエイペックスにCNAMEレコードを設定できるようにします。
設定によって、アウトゴーイングゾーントランスファーを使用する際にDNS専用のCNAMEレコードに期待できることは次のとおりです。
- ゾーンエイペックスのDNS専用
CNAMEレコードについて、Cloudflareは常にフラット化されたIPアドレスを転送します。 - サブドメインのDNS専用
CNAMEレコードについて、Cloudflareは設定すべてのCNAMEをフラット化が有効な場合にのみフラット化されたIPアドレスを転送します。
ゾーン内の各プロキシDNSレコードについて、Cloudflareは2つのAレコードと2つのAAAAレコードを転送します。
これらのレコードは、トラフィックをプロキシするために使用されるCloudflareのIPアドレス ↗に対応しています。
アカウントチームがアウトゴーイングゾーントランスファーのためにゾーンを有効にしていることを確認してください。
既存のDNSレコードを確認して、すべてのレコードが望ましいプロキシステータスを持っていることを確認してください。
APIを使用する場合は、ゾーンとアカウントIDを特定することも検討してください。
A Transaction Signature (TSIG) authenticates communication between a primary and secondary DNS server.
While optional, this step is highly recommended.
To create a TSIG using the dashboard:
- Log in to the Cloudflare dashboard ↗ and select your account.
- Go to Manage Account > Configurations.
- Click DNS Zone Transfers.
- For TSIG, click Create.
- Enter the following information:
- TSIG name: The name of the TSIG object using domain name syntax (more details in RFC 8945 section 4.2 ↗).
- Secret (optional): Get a shared secret to add to your third-party nameservers. If left blank, this field generates a random secret.
- Algorithm: Choose a TSIG signing algorithm.
- Click Create.
To create a TSIG using the API, send a POST request.
次のいずれかを希望する場合にのみ、ピアDNSサーバーを作成する必要があります。
- セカンダリネームサーバーがCloudflareのDNSレコードの変更に対してNOTIFYを受信する。
- ゾーントランスファーリクエストとNOTIFYに署名するためのTSIG。
ダッシュボードを使用してピアを作成するには:
- Cloudflareダッシュボード ↗にログインし、アカウントを選択します。
- アカウント管理 > 設定に移動します。
- DNSゾーントランスファーを選択します。
- ピアDNSサーバーのために、作成を選択します。
- 次の情報を入力し、特に注意を払います:
- IP: 設定されている場合、CloudflareがNOTIFYリクエストを送信する場所を指定します。
- ポート: NOTIFY IPのためのIPポートを指定します。
- インクリメンタル(IXFR)ゾーントランスファーを有効にする: CloudflareをプライマリDNSプロバイダーとして使用している場合は適用されません(Cloudflareゾーンは常にIXFRリクエストを受け入れます)。
- 既存のTSIGをリンク: 必要に応じて、以前に作成したTSIGをリンクします。
- 作成を選択します。
APIを使用してピアDNSサーバーを作成するには、POSTリクエストを送信します。
以前にピアDNSサーバーを作成した場合は、それをプライマリゾーンにリンクする必要があります。
ダッシュボードを使用してセカンダリゾーンを作成するには:
- Cloudflareダッシュボード ↗にログインします。
- アカウントとゾーンを選択します。
- DNS > 設定に移動します。
- DNSゾーントランスファーのために、リンクされたピアを管理を選択します。
- ピアを選択します。
- 保存を選択します。
APIを使用してプライマリゾーンをピアにリンクするには、POSTリクエストを送信し、以前に作成したピアのIDを指定します。
アクセス制御リスト(ACL)を作成すると、そのリストにはゾーントランスファーリクエストを送信することが許可されているソースIPアドレスが含まれます。ACLを構成しない場合、プライマリゾーンにリンクされたピアDNSサーバーに指定されたIPアドレス以外からのゾーントランスファーは失敗します。
詳細については、ACLを作成するを参照してください。
セカンダリDNSプロバイダーは、このIPにポート53を介してゾーントランスファーリクエスト(AXFRまたはIXFR経由)を送信する必要があります。また、ピア設定で指定されたIPアドレスから送信されるNOTIFYメッセージがブロックされないように、アクセス制御リスト(ACL)を更新する必要があります。
セカンダリDNSプロバイダーからの情報を使用して、ゾーンエイペックスにセカンダリネームサーバーをリストするNSレコードを作成します。
デフォルトでは、Cloudflareはゾーンエイペックスに追加されたNSレコードを無視します。この動作を変更するには、マルチプロバイダーDNSを有効にします:
- Cloudflareダッシュボード ↗にログインします。
- アカウントとゾーンを選択します。
- DNS > 設定に移動します。
- マルチプロバイダーDNSを有効にします。
curl --request PATCH \"https://api.cloudflare.com/client/v4/zones/{zone_id}/dns_settings" \--header "X-Auth-Email: <EMAIL>" \--header "X-Auth-Key: <API_KEY>" \--header "Content-Type: application/json" \--data '{ "multi_provider": true}'アウトゴーイングゾーントランスファーを有効にすると、セカンダリDNSプロバイダーにDNS NOTIFYメッセージが送信されます。
- Cloudflareダッシュボード ↗にログインします。
- アカウントとゾーンを選択します。
- DNS > 設定に移動します。
- アウトゴーイングゾーントランスファーのために、トグルをオンに切り替えます。
APIを使用してアウトゴーイングゾーントランスファーを有効にするには、POSTリクエストを送信します。
レジストラで、セカンダリDNSプロバイダーのネームサーバーを追加します。