enforce DNS-only 設定は、アカウント単位の緊急回避(break-glass)機構です。1 回の操作で、アカウント内のすべてのゾーンについて Cloudflare のリバースプロキシをバイパスできます。有効にすると、Cloudflare は DNS クエリに対して、Cloudflare の anycast IP アドレスではなく、レコード本体の内容(プロキシ済み A および AAAA レコードではオリジン IP アドレス、プロキシ済み CNAME レコードでは CNAME 対象)を返します。実質的には、レコード自体は変更せず、すべての プロキシ済み DNS レコード を DNS only にした状態になります。
この設定は、障害時にトラフィックをオリジンへ直接向ける必要がある場合など、緊急時専用です。
- アカウント単位: アカウント内のすべてのゾーンに同時に影響します。
- 非破壊: DNS レコード自体は変更しません。設定を無効にすると、通常のプロキシ動作に戻ります。
- API のみ: API でのみ利用でき、Cloudflare ダッシュボードでは使えません。
enforce DNS-only は、すべてのゾーンセットアップ種類で動作します。
-
部分(CNAME)セットアップ: ゾーン内のプロキシ済みレコードは、いくつかの 例外 を除いて影響を受けます。
-
セカンダリゾーン: Secondary DNS Overrides が有効で、レコードのプロキシステータスを手動でプロキシ済みにしている場合、そのレコードは影響を受けます。同じ名前のほかの
AまたはAAAAレコードにも適用されます。詳細は Secondary DNS Overrides を参照してください。
インシデント対応計画の一部として enforce DNS-only に頼る前に、次を行ってください。
- オリジンサーバーの容量を確認する: Cloudflare のプロキシがないと、通常は Cloudflare がキャッシュまたはフィルタするトラフィックも含め、オリジンサーバーがすべてのトラフィックを直接処理します。この負荷にインフラが耐えられることを確認します。
- 公開されるレコード内容を確認する: enforce DNS-only が有効なあいだ、プロキシ済み
AおよびAAAAレコードに設定したすべてのオリジン IP と、プロキシ済みCNAMEレコードの対象が、DNS クエリで公開されます。オリジンのセキュリティが IP の秘匿に依存している場合は、その前提で計画します。 - 事前にテストする: 緊急時に使う前に、ステージングまたはテストアカウントの API で動作を確認します。
Update DNS Settings エンドポイントで、アカウントの enforce DNS-only を有効にします。
Required API token permissions
At least one of the following token permissions is required:Account DNS Settings Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"enforce_dns_only": true
}'有効になると、Cloudflare はすべてのプロキシ済みレコードの DNS クエリに対して、Cloudflare の anycast IP ではなく、レコード本体の内容(A および AAAA レコードでは設定済みのオリジン IP アドレス、CNAME レコードでは設定済みの CNAME 対象)を返します。
通常のプロキシ動作に戻すには、enforce_dns_only を false に設定します。
Required API token permissions
At least one of the following token permissions is required:Account DNS Settings Write
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings" \
--request PATCH \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"enforce_dns_only": false
}'設定を無効にすると、Cloudflare はプロキシ済みレコードの DNS クエリに anycast IP アドレスを返すようになり、プロキシベースの機能もすべて復帰します。
DNS レコードに依存するほかの Cloudflare 製品を使っている場合は、次のセクションを参照してください。
enforce DNS-only は、次のレコードに影響します。
- Load Balancing: DNS レコード表に表示されるプロキシ済み LB レコード。管理は Load Balancing の構成 で行います。
- Worker ルート に一致するプロキシ済み DNS レコード。
- Cloudflare for SaaS のフォールバックオリジン: カスタムホスト名の フォールバックオリジン として指定したプロキシ済み DNS レコード。
enforce DNS-only は、次のレコードには影響しません。
- R2 カスタムドメイン: R2 カスタムドメイン を設定したときに DNS レコード表へ追加される、読み取り専用のプロキシ済みレコード。
- Spectrum アプリケーション: Spectrum アプリケーションが管理する DNS レコード。
- Tunnel: トンネルサブドメインを指す CNAME レコード。詳細は Tunnel のルーティング または Cloudflare One を参照してください。
- Web3 ゲートウェイ: Web3 ゲートウェイ構成 が管理する、読み取り専用のプロキシ済みレコード。
- Workers カスタムドメイン: Workers の カスタムドメイン を設定したときに DNS レコード表へ追加される、読み取り専用のプロキシ済みレコード。
- 変更は Cloudflare のエッジで即座に反映されます。DNS の伝播待ちはありません。
- 機能的には、すべてのプロキシ済みレコードを DNS only に設定した状態と同じです。
Show DNS Settings エンドポイントで、現在の値を確認します。
Required API token permissions
At least one of the following token permissions is required:Account DNS Settings WriteAccount DNS Settings Read
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"- Proxy status — プロキシ済みレコードと DNS only レコードの動作を確認します。
- 一括レコード変更 — 1 つのゾーン内で、複数レコードのプロキシステータスを一括変更します。