Cloud Service
Cloudflare DNS
世界最速クラスの権威DNSでドメインの名前解決を担い、プロキシ機能と組み合わせてトラフィック保護とパフォーマンス改善を同時に実現する。AWSのRoute 53に相当するCloudflareの権威DNSサービス。
- 1.Cloudflareのグローバルエニーキャスト網で動く高速・高可用な権威DNSサービス。
- 2.レコードをプロキシ化(オレンジクラウド)すると、DNS応答の裏でWAFやキャッシュも同時に効く。
- 3.DNSSECやDNS Firewall、セカンダリDNSなど権威DNS運用に必要な機能を一通り備える。
解決する課題
- ドメインの名前解決を世界中どこからでも低遅延で返したい
- DNS事業者への攻撃(DDoSなど)に巻き込まれず、名前解決自体の可用性を落としたくない
- レコード管理と同時に、通信保護(WAF・DDoS対策)やキャッシュ配信も一体で扱いたい
- ゾーン移管やレコード変更を、ダッシュボードやAPIから安全かつ迅速に行いたい
- 既存のDNSプロバイダを残しつつ、CloudflareをセカンダリDNSとして併用したい
主要概念と用語
- ゾーン(Zone): Cloudflareで管理するドメイン単位の設定のまとまり。ドメインをCloudflareに追加すると1つのゾーンが作られる
- DNSレコード: A・AAAA・CNAME・MX・TXT・NSなど、ドメインに紐づく名前解決情報の1件1件
- プロキシ状態(オレンジクラウド/グレークラウド): レコードをCloudflareのプロキシ経由にするか(オレンジ)、DNSのみで素通しにするか(グレー)を切り替える設定
- エニーキャスト(Anycast): 同一のIPアドレスを世界中の拠点から広報し、利用者から見て最も近い拠点が応答する仕組み。Cloudflareの権威DNSもこの方式で配信される
- DNSSEC: DNS応答が改ざんされていないことを電子署名で保証する仕組み。ゾーン単位で有効化する
- DNS Firewall: 社内やアプリケーションからの再帰的な問い合わせを保護し、悪意あるドメインへの解決をブロックする機能
- セカンダリDNS: 既存の権威DNSサーバーをプライマリとして残し、Cloudflareをセカンダリの権威サーバー群として追加運用する構成
- CNAME flattening: 本来CNAMEを置けないゾーン頂点(apex)などでも、CloudflareがCNAMEの解決結果をAレコードのように返す独自の仕組み
仕様・制限・クォータ
- ゾーンごとに登録できるレコード数やレコードタイプの組み合わせにはプランに応じた制限があり、詳細はダッシュボードの表示に従う
- プロキシ化できるレコードはA・AAAA・CNAMEなど一部のタイプに限られ、MXやTXTなどはプロキシ化できず常にDNSのみで応答する
- TTL(Time To Live)はプロキシ化されたレコードでは自動管理され、DNSのみのレコードでは秒数を指定できる
- DNSSECやDNS Firewallなど一部機能は利用可能なプランやゾーンの設定状況に依存する
- セカンダリDNS構成ではゾーン転送(AXFR/IXFR)の許可設定が必要になる
内部の仕組み
Cloudflare DNSは、世界中のデータセンターで同一のエニーキャストIPアドレスを広報し、利用者の問い合わせが最も近い拠点で処理される構成を取ります。これにより、特定拠点への攻撃や障害があっても他拠点が処理を引き継ぎ、応答の遅延も地理的に最小化されます。
ゾーンにレコードを追加すると、その情報はCloudflareのグローバルなネットワークに配信され、どの拠点からの問い合わせにも一貫した内容で応答できるようになります。プロキシ化されたレコードの場合、DNSの問い合わせに対してはCloudflareのエッジIPアドレスが返り、実際のHTTP/HTTPS通信はそのエッジで一度受け止められてからオリジンへ転送されます。これにより、オリジンの実IPアドレスを隠しつつ、WAFやキャッシュ、DDoS対策などの機能を同じ経路で適用できます。
DNSSECを有効化すると、ゾーンの応答に電子署名が付与され、リゾルバ側で応答の改ざんや偽装を検証できるようになります。
Webアプリケーションやオリジンを保護したい場合はプロキシ化(オレンジクラウド)を使い、メールサーバーや他システムが直接名前解決する必要があるレコードはDNSのみ(グレークラウド)のままにします。同じゾーン内でレコードごとに使い分けるのが基本です。
設計パターン / ベストプラクティス
- Webサイトやアプリケーションのオリジンを守りたいレコードはプロキシ化し、WAFやDDoS対策の恩恵を受ける
- メール関連(MX・SPF・DKIM・DMARC用のTXTなど)はDNSのみのまま正しく設定し、配送に影響を与えない
- 重要なゾーンにはDNSSECを有効化し、キャッシュポイズニングなどの改ざんリスクを下げる
- 移行期や複数プロバイダ併用時はセカンダリDNS構成を使い、既存プライマリを残したまま段階的に移行する
- APIトークンはゾーン単位・権限単位で発行し、DNS編集権限を必要最小限に絞る
- 変更頻度が高いレコードには適切なTTLを設定し、切り替え時の反映速度と問い合わせ負荷のバランスを取る
権威DNSであるためレコードの誤削除や誤変更は、メール不達やサイト全体のアクセス不能に直結します。本番ゾーンの変更前には変更内容をレビューし、可能であれば変更履歴やバージョン管理と合わせて運用します。
運用・監視
- ダッシュボードやAPIでゾーンのレコード一覧・アクティビティログを確認し、意図しない変更がないか継続的に点検する
- DNS Analyticsで問い合わせ状況やクエリタイプの傾向を把握し、異常なトラフィックの兆候を早期に検知する
- ゾーンのネームサーバー委任状況(レジストラ側の設定)を定期的に確認し、Cloudflareへの委任が正しく維持されているか確かめる
- DNSSECを有効化している場合は、鍵のロールオーバーや親ゾーンとの整合性に注意する
- セカンダリDNS構成では、プライマリとのゾーン転送が正しく行われているかを監視する
コスト
Cloudflare DNSの基本的な権威DNSホスティングは無料プランでも利用でき、追加のDNS FirewallやDNSSEC関連機能、高度なアナリティクスなどが上位プランや追加オプションの対象になることがあります。具体的な料金体系は変わりやすいため、契約中のプランと公式の料金ページで確認することが望ましいです。
| 課金対象 | 考え方 | コスト最適化のヒント |
|---|---|---|
| 基本的な権威DNSホスティング | 多くのプランで基本機能として提供 | まずは無料〜基本プランの範囲で要件を満たせるか確認する |
| DNS Firewallなどの追加機能 | 利用する機能や問い合わせ量に応じて加算されうる | 本当に必要な保護機能だけを有効化する |
| セカンダリDNSやゾーン数の拡張 | 管理するゾーン数や構成規模に応じて変動 | 不要になった旧ゾーンは整理し管理対象を絞る |
セキュリティ
- プロキシ化されたレコードはオリジンのIPアドレスを隠せるため、オリジン直撃型の攻撃を受けにくくなる
- オリジン側ではCloudflareの送信元IPレンジ以外からの通信を遮断し、DNSを迂回した直接アクセスを防ぐ
- DNSSECを有効化し、応答の改ざんやキャッシュポイズニングへの耐性を高める
- DNS Firewallを使い、内部ネットワークやアプリケーションからの悪意あるドメインへの解決を防ぐ
- DNS編集権限を持つAPIトークンやアカウントアクセスを最小権限で管理し、変更履歴を監査できるようにする
オリジンのIPアドレスをプロキシ化前の履歴やほかの公開情報(証明書の透明性ログなど)から特定されると、プロキシを迂回して直接攻撃される恐れがあります。オリジンのファイアウォールでCloudflareのIPレンジ以外を確実に遮断することが重要です。
関連サービス・比較
Cloudflare DNSは、同じくCloudflare上のLoad BalancingやWAFなどのプロキシ関連機能と一体で使われることが多いサービスです。他クラウドではAWSのRoute 53が近い役割を担います。
| 観点 | Cloudflare DNS | Amazon Route 53 |
|---|---|---|
| 位置づけ | エニーキャスト権威DNS+プロキシ連動 | 権威DNS+各種ルーティングポリシー |
| プロキシ機能との統合 | オレンジクラウドでWAF等と一体化 | 別サービス(CloudFront等)との連携が必要 |
| DNSSEC | ゾーン単位で有効化可能 | ゾーン単位で有効化可能 |
| セカンダリDNS | 既存プライマリと併用可能 | 同様にセカンダリ構成が可能 |
| 料金体系の基本形 | 基本ホスティングは無料枠が広い | ホストゾーン数・クエリ数に応じた従量課金 |
ハンズオン / CLI例
Cloudflare DNSのレコードはダッシュボードから設定するのが一般的ですが、wranglerやCloudflare APIを使った操作の一例を示します。
# wrangler経由でCloudflare APIトークンの有効性を確認
wrangler whoami
# ゾーン一覧を取得し、対象ゾーンIDを確認する
curl -X GET "https://api.cloudflare.com/client/v4/zones?name=example.com" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json"
# Aレコードを作成する(プロキシ化して登録する例)
curl -X POST "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json" \
--data '{
"type": "A",
"name": "www",
"content": "203.0.113.10",
"ttl": 1,
"proxied": true
}'
# 既存レコードの一覧を取得する
curl -X GET "https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/dns_records" \
-H "Authorization: Bearer ${CF_API_TOKEN}" \
-H "Content-Type: application/json"
Cloudflare Service
Cloudflare DNSを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
ネットワーキング
比較で見る軸
クラウド: Cloudflare / カテゴリ: ネットワーキング / 難易度: basic
導入後に効く点
レコードをプロキシ化(オレンジクラウド)すると、DNS応答の裏でWAFやキャッシュも同時に効く。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
- クラウド
- Cloudflare
- カテゴリ
- ネットワーキング
- 難易度
- basic
- 関連資格
- —
- 設計柱
- performance / reliability / security
判断チェックリスト
- 自社の用途が「ネットワーキング / performance」に近いか確認する。
- 強みである「Cloudflareのグローバルエニーキャスト網で動く高速・高可用な権威DNSサービス。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。