2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Akamai から Cloudflare へ安全にDNS移行する方法を考えてみる!(100 FQDN を移行する)

2
Last updated at Posted at 2025-12-21

1. 概要

 既存でAkamaiのDNSサービス、CDN/WAFサービスを利用している100個のFQDNを、安全にCloudflareへ移行するための手順をまとめたものです。
 手順の検証とか特にしてないです。Cloudflareのドキュメントをあさって、こういう風に移行すれば安全かなと考えてみたものです。
 NSレコードで向き先変更すれば早い話かもしれませんが、ある程度1FQDNづつをコントロールできるように、まとめて移行するとリスクがあると思い、個別にテストしながら順に移行する方法を検討しました。またルートドメインは1つ(example.co.jp)としてそのドメインに複数のホスト(FQDN)があることを前提にしてます。

1.1 移行方式

安全性を第一優先として、以下の段階的アプローチを採用します:

  1. Partial Setup(CNAME方式)で段階的に検証
  2. 全FQDNの検証完了後、Full Setup(NS委任方式)へ変換

1.2 この方式の利点

  • 段階的な移行によりリスクを最小化
  • 問題発生時は即座にロールバック可能(CNAMEを戻すだけ)
  • WAFルール等の設定を事前に十分検証可能
  • Partial Setup時に作成した設定はFull Setup後も全て引き継がれる

1.3 前提条件

項目 要件
Cloudflareプラン Enterprise(Partial Setupに必要)
移行対象FQDN数 100件
DNS権威サーバー 最終的にCloudflareへ委任
現行環境 Akamai CDN/WAF + Akamai DNS

2. サンプルドメイン構成

本手順書では、以下のサンプルドメインを例として使用します。

# FQDN 用途 移行バッチ
1 www.example.co.jp メインサイト パイロット
2 api.example.co.jp API パイロット
3 shop.example.co.jp ECサイト Batch 1
4 admin.example.co.jp 管理画面 Batch 1
5 mobile.example.co.jp モバイルサイト Batch 1
6 img.example.co.jp 画像配信 Batch 2
7 static.example.co.jp 静的コンテンツ Batch 2
8 cdn.example.co.jp CDN配信 Batch 2
9 video.example.co.jp 動画配信 Batch 2
10 download.example.co.jp ダウンロード Batch 2
11-100 その他90件 各種サービス Batch 3

3. Phase 1: 準備(1〜2週間)

3.1 作業一覧

手順 作業内容 詳細
1-1 Cloudflareアカウント作成 Enterpriseプラン契約
1-2 Zone追加 example.co.jp を追加
1-3 SSL/TLS証明書準備 Advanced Certificate Managerで事前発行
1-4 WAFルール移行設計 Akamaiルール → Cloudflare形式にマッピング
1-5 DNSレコードエクスポート Akamai DNSからゾーンファイルを取得

3.2 SSL/TLS証明書について

重要: ダウンタイムを回避するため、Universal SSLではなくAdvanced Certificateの事前発行する。
引用: "If your domain is sensitive to downtime, instead of using Universal SSL, consider using an advanced certificate with delegated DCV."
出典: https://developers.cloudflare.com/dns/zone-setups/partial-setup/setup/

4. Phase 2: パイロット検証(1〜2週間)

4.1 作業一覧

手順 作業内容 詳細
2-1 パイロット対象選定 www.example.co.jp, api.example.co.jp の2件
2-2 Cloudflare設定 DNSレコード作成、WAFルール設定
2-3 Akamai DNS変更 CNAMEレコードをCloudflareに向ける
2-4 動作検証 SSL、WAF、キャッシュ、パフォーマンス確認
2-5 問題対応 問題発生時はロールバック

4.2 Partial Setup の仕組み

引用: "A partial (CNAME) setup allows you to use Cloudflare's reverse proxy while maintaining your primary and authoritative DNS provider."
出典: https://developers.cloudflare.com/dns/zone-setups/partial-setup/setup/

4.3 Akamai DNS側の設定変更


; Zone: example.co.jp
; Authoritative NS: a1-xxx.akam.net (変更なし)

; パイロット対象 → Cloudflare へ CNAME 変更
www.example.co.jp.    300  IN  CNAME  www.example.co.jp.cdn.cloudflare.net.
api.example.co.jp.    300  IN  CNAME  api.example.co.jp.cdn.cloudflare.net.

; 以下は Akamai のまま(変更なし)
shop.example.co.jp.   300  IN  CNAME  shop.example.co.jp.edgekey.net.
admin.example.co.jp.  300  IN  CNAME  admin.example.co.jp.edgekey.net.
mobile.example.co.jp. 300  IN  CNAME  mobile.example.co.jp.edgekey.net.
img.example.co.jp.    300  IN  CNAME  img.example.co.jp.edgekey.net.
static.example.co.jp. 300  IN  CNAME  static.example.co.jp.edgekey.net.
cdn.example.co.jp.    300  IN  CNAME  cdn.example.co.jp.edgekey.net.
video.example.co.jp.  300  IN  CNAME  video.example.co.jp.edgekey.net.
download.example.co.jp. 300 IN CNAME  download.example.co.jp.edgekey.net.
; ... その他も Akamai のまま

4.4 検証項目チェックリスト

  • SSL/TLS証明書が正しく適用されている
  • WAFルールが期待通りに動作している
  • キャッシュが正しく機能している
  • レスポンスタイムが許容範囲内である
  • エラーログに異常がない

4.5 ロールバック手順

ロールバック方法: Akamai DNS側でCNAMEを元のedgekey.netに戻すだけ
復旧時間: 即時(DNS TTL依存、通常5〜10分)

5. Phase 3: 段階的拡大(2〜3週間)

5.1 バッチ計画

バッチ 対象FQDN 件数 期間
Batch 1 shop, admin, mobile, img, static 5件 1週間
Batch 2 cdn, video, download + 7件 10件 1週間
Batch 3 残り全て 20件 1週間

5.2 Phase 3 完了時のDNS設定


; Zone: example.co.jp
; Authoritative NS: a1-xxx.akam.net (まだ Akamai)

; 全100件が Cloudflare へ CNAME 変更済み
www.example.co.jp.      300  IN  CNAME  www.example.co.jp.cdn.cloudflare.net.
api.example.co.jp.      300  IN  CNAME  api.example.co.jp.cdn.cloudflare.net.
shop.example.co.jp.     300  IN  CNAME  shop.example.co.jp.cdn.cloudflare.net.
admin.example.co.jp.    300  IN  CNAME  admin.example.co.jp.cdn.cloudflare.net.
mobile.example.co.jp.   300  IN  CNAME  mobile.example.co.jp.cdn.cloudflare.net.
img.example.co.jp.      300  IN  CNAME  img.example.co.jp.cdn.cloudflare.net.
static.example.co.jp.   300  IN  CNAME  static.example.co.jp.cdn.cloudflare.net.
cdn.example.co.jp.      300  IN  CNAME  cdn.example.co.jp.cdn.cloudflare.net.
video.example.co.jp.    300  IN  CNAME  video.example.co.jp.cdn.cloudflare.net.
download.example.co.jp. 300  IN  CNAME  download.example.co.jp.cdn.cloudflare.net.
; ... その他も全て cdn.cloudflare.net を参照
この時点での状態:
・DNS権威サーバー: まだ Akamai
・CDN/WAF: 全て Cloudflare が処理
・Akamai の役割: DNS のみ

6. Phase 4: Full Setup変換(1週間)

6.1 変換手順

手順 作業内容 備考
4-1 SSL証明書確認 ステータスが「Active」であることを確認
4-2 DNSレコード検証 Cloudflare上の全レコードを確認
4-3 DNSSEC無効化 Akamai側で無効化し、TTL満了まで待機(24〜48時間)
4-4 NSレコード変更 ドメインレジストラでCloudflareのNSに変更
4-5 Zone Active確認 Cloudflareダッシュボードで確認
4-6 DNSSEC再有効化 Cloudflare側で有効化
4-7 移行完了 監視期間を設けて安定稼働を確認

6.2 DNSSEC無効化の重要性

警告: DNSSEC無効化を怠ると、NS変更後にDNSSEC検証が失敗し、ドメインが名前解決できなくなります。必ず24〜48時間のTTL満了待機を行ってください。

6.3 Phase 4 完了時のDNS設定


; Zone: example.co.jp
; Authoritative NS: xxx.ns.cloudflare.com (Cloudflare に移管完了)

; Cloudflare Dashboard上の設定(Proxy: ON)
; 実際のDNS応答では Cloudflare Edge IP (104.26.x.x) が返される

www.example.co.jp.      300  IN  A  192.0.2.100  ; Proxy: ON
api.example.co.jp.      300  IN  A  192.0.2.100  ; Proxy: ON
shop.example.co.jp.     300  IN  A  192.0.2.100  ; Proxy: ON
admin.example.co.jp.    300  IN  A  192.0.2.100  ; Proxy: ON
mobile.example.co.jp.   300  IN  A  192.0.2.100  ; Proxy: ON
img.example.co.jp.      300  IN  A  192.0.2.100  ; Proxy: ON
static.example.co.jp.   300  IN  A  192.0.2.100  ; Proxy: ON
cdn.example.co.jp.      300  IN  A  192.0.2.100  ; Proxy: ON
video.example.co.jp.    300  IN  A  192.0.2.100  ; Proxy: ON
download.example.co.jp. 300  IN  A  192.0.2.100  ; Proxy: ON
; ... その他も同様

7. ロールバック計画

フェーズ ロールバック方法 復旧時間目安
Phase 2-3(Partial Setup中) Akamai DNS側でCNAMEを元のedgekey.netに戻す 即時(5〜10分)
Phase 4(Full Setup変換後) レジストラでNSをAkamaiに戻す 24〜48時間
ロールバック判断基準:
・SSL/TLS証明書エラーが解消しない
・WAFが正常に動作せず、攻撃をブロックできない
・オリジンサーバーへの接続が不安定
・パフォーマンスが著しく低下

8. スケジュール例

期間 フェーズ 作業内容
Week 1-2 Phase 1: 準備 アカウント作成、SSL証明書、WAFルール設計
Week 3-4 Phase 2: パイロット 2件のFQDNで検証
Week 5 Phase 3: Batch 1 5件追加(計7件)
Week 6 Phase 3: Batch 2 10件追加(計17件)
Week 7 Phase 3: Batch 3 83件追加(全100件完了)
Week 8 Phase 4: Full Setup NS委任、DNSSEC設定
Week 9-10 運用安定化 監視、最適化

9. チェックリスト

移行前

  • Cloudflare Enterpriseプラン契約完了
  • SSL/TLS証明書の事前発行完了
  • WAFルールマッピング完了
  • DNSレコードのエクスポート完了
  • ロールバック手順の確認・承認

移行中

  • パイロットFQDNの動作確認完了
  • 全FQDNのPartial Setup移行完了
  • DNSSEC無効化・TTL待機完了
  • NSレコード変更完了

移行完了後

  • Zone Activeステータス確認
  • DNSSEC再有効化完了
  • 全FQDNの動作確認完了
  • 監視アラート設定完了

10. 参考情報


# 各フェーズのDNS名前解決フロー

移行前: Akamai 環境での名前解決

# Phase 1: 移行前のDNSリクエストフロー  
1 User → DNS Resolver
「www.example.co.jp の IP アドレスを教えて」
2 DNS Resolver → Akamai DNS(権威サーバー)
「www.example.co.jp のレコードは?」
3 Akamai DNS ←応答
www.example.co.jp. IN CNAME www.example.co.jp.edgekey.net.
4 DNS Resolver → Akamai Edge DNS
「www.example.co.jp.edgekey.net の IP は?」
5 Akamai Edge DNS ←応答
www.example.co.jp.edgekey.net. IN A 203.0.113.10
※応答IPはAkamai Edge IP
6 DNS Resolver → User
「IPアドレスは 203.0.113.10 です」
7 User → Akamai Edge (203.0.113.10)
HTTPS リクエスト送信
8 Akamai Edge
WAF検査 → CDNキャッシュ確認 → キャッシュミス時はOriginへ
9 Akamai Edge → Origin Server (192.0.2.100)
オリジンへリクエスト転送
10 Origin Server → Akamai Edge → User
レスポンス返却

Phase 2-3: Partial Setup での名前解決

# Phase 2-3: Partial Setup での名前解決 リクエスト(処理)  
1 User → DNS Resolver
「"www.example.co.jp" の IP アドレスを教えて」
2 DNS Resolver → Akamai DNS(権威サーバー)
「"www.example.co.jp" のレコードは?」 
※権威DNSはまだ Akamai
3 Akamai DNS ←応答
www.example.co.jp. IN CNAME www.example.co.jp.cdn.cloudflare.net.
※CNAME先が Cloudflare に変更されている
4 DNS Resolver → Cloudflare DNS
「"www.example.co.jp.cdn.cloudflare.net" の IP は?」
5 Cloudflare DNS ←応答
www.example.co.jp.cdn.cloudflare.net. IN A 104.26.10.100
※応答IPは Cloudflare Edge IP
6 DNS Resolver → User
「IPアドレスは 104.26.10.100 です」
7 User → Cloudflare Edge (104.26.10.100)
ユーザがHTTPS リクエスト送信
8 Cloudflare Edge
WAF検査 → CDNキャッシュ確認 → キャッシュミス時はOriginへ
9 Cloudflare Edge → Origin Server (192.0.2.100)
オリジンへリクエスト転送
10 Origin Server → Cloudflare Edge
レスポンス返却
11 Cloudflare Edge → User
レスポンス返却

Phase 4: Full Setup での名前解決

# Phase 2-3: Partial Setup での名前解決 リクエスト(処理)  
1 User → DNS Resolver
「www.example.co.jp の IP アドレスを教えて」
2 DNS Resolver → Cloudflare DNS(権威サーバー)
「www.example.co.jp のレコードは?」
※ 権威DNSが Cloudflare に移管済み
3 Cloudflare DNS ←応答
www.example.co.jp. IN A 104.26.10.100
※応答IPはCloudflare Edge IP
※ Dashboard上は「A 192.0.2.100 (Proxy: ON)」と設定
※ 実際の応答は Cloudflare Edge IP が返される
4 DNS Resolver → User
「IPアドレスは 104.26.10.100 です」
※ CNAME解決が不要になり、1ステップ短縮
5 User → Cloudflare Edge (104.26.10.100)
HTTPS リクエスト送信
6 Cloudflare Edge
WAF検査 → CDNキャッシュ確認 → キャッシュミス時はOriginへ
※ WAF/Cache設定は Phase 2-3 から引き継がれる
7 Cloudflare Edge → Origin Server (192.0.2.100)
オリジンへリクエスト転送
8 Origin Server → Cloudflare Edge
レスポンス返却
9 Cloudflare Edge → User
レスポンス返却

#補足:Cloudflare WAFルールについて

CloudflareのWAFは、ドメイン(ゾーン)レベルのWAFと、アカウントレベルのWAFがありますので、複数のゾーンをCloudflare WAFで管理する場合の共通WAFルールなどはアカウントレベルで設定することで管理を簡素化できる場合がある。

アカウントレベルのウェブアプリケーションファイアウォール(WAF)設定では、一度設定を定義して、アカウント内の複数のエンタープライズゾーンに適用できます

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?