Cloudflareの導入方法(CNAME設定)

ビジネスプランで使える「CNAME設定」の流れを、できるだけ噛み砕いてまとめました。
例として www.example.co.jp というドメインで説明します。

まず結論

  1. ネームサーバは今のままで導入できます(ビジネスプラン以上で使える方法です)。
  2. お客様のDNSで行う作業は、レコードを数件追加し、最後に www の向き先を1か所変えるだけです。
  3. 元に戻したいときは、当社がサーバ側の制限を解除し、www の向き先を元に戻せば切り戻せます。

1. 2つの導入方法の違い

Cloudflareの導入方法は2つあります。今回使うのは右側の「CNAME設定」です。

ネームサーバ切り替えCNAME設定(今回)
使えるプランすべてのプランビジネスプラン以上
DNSの管理Cloudflareに引っ越し今の管理会社のまま
お客様の作業ネームサーバの変更(ドメイン全体に影響)DNSレコードの追加・変更(www だけに影響)
メールなど他の設定すべてCloudflareに移し替えが必要影響なし
守れる範囲ドメイン全体CNAMEを向けたホスト名(www など)

2. しくみ(CNAMEとは?)

CNAMEは「この名前の行き先は、あちらの名前と同じです」という転送の案内板のようなものです。
www の案内板を「Cloudflare行き」に書き換えると、www への通常のアクセスはCloudflareを経由してからサーバに届くようになり、設定した保護ルール(WAF・Bot対策)が適用されます。

導入前
閲覧者
→
お客様のDNSwww は サーバのIP
→
サーバ直接アクセス
導入後
閲覧者
→
お客様のDNSwww は Cloudflare へ(CNAME)
→
CloudflareWAF・Bot対策で検査
→
サーバ検査を通った通信が届く

3. 設定の流れ

当社 は当社の作業、お客様 はお客様(またはDNSの管理会社様)にお願いする作業です。

  1. Cloudflareにドメインを登録する当社

    ビジネスプランで契約し、導入方法として「CNAME設定(部分設定)」を選びます。

  2. ドメインの持ち主であることを証明するお客様

    Cloudflareが発行する確認用の値を、DNSに TXTレコード として1件追加していただきます。値は当社からお送りします。

    種類名前値
    TXTcloudflare-verify.example.co.jpCloudflareが発行する文字列

    ※このTXTレコードは、Cloudflareを使っている間は削除せずに残してください。消すとCloudflare側の設定が無効になることがあります。

  3. Cloudflare側に「サーバの場所」を登録する当社

    Cloudflareが通信を受け取ったあと、どのサーバへ届けるかを登録します。あわせてWAFやBot対策のルールを設定します。

    切り替えの前に、当社で次の点を確認します。

    • Cloudflare上でドメインが有効になっていること
    • www の届け先(サーバ)と、Cloudflareを経由させる設定(プロキシ)が有効なこと
    • httpsの証明書が有効になっていること
    • Cloudflareからサーバへ正しく届くこと
  4. SSL証明書の確認用レコードを追加するお客様

    Cloudflare上でhttpsを使うための証明書を発行するため、当社が指定する検証用のレコードを追加していただきます。必要な件数とレコードの名前・値は、証明書の種類によって変わるため、事前に当社からご案内します。

    ※当社が証明書の有効化を確認してから、手順5の切り替えに進みます。

  5. www の向き先をCloudflareに切り替えるお客様

    ここが本番の切り替えです。www のレコードを、サーバのIP(Aレコード)から Cloudflare(CNAMEレコード)に変更していただきます。

    種類名前値
    変更前AwwwサーバのIPアドレス
    変更後CNAMEwwwwww.example.co.jp.cdn.cloudflare.net

    www の Aレコードは削除してください(残せません)

    DNSのルールで、CNAMEを設定した名前には、ほかのレコードを一緒に置けません。そのため www の Aレコードは残さず、削除してからCNAMEを追加していただく形になります(管理画面によっては「種類をAからCNAMEに変更」する操作で同じことができます)。

    • Aレコードを残したままCNAMEを追加すると、DNSのルールに反する設定になります。多くの管理画面ではエラーになり登録できません。
    • www という名前に、A以外にも AAAAレコード(IPv6のアドレス)や別のCNAME・TXTなどがある場合は、それらも整理が必要です。事前に当社で一覧を確認します。
    • 削除する前に、元のIPアドレスを控えておいてください。切り戻すときに使います。
    • www なしのドメイン(example.co.jp)の Aレコードや、www とは別の名前のメール用レコードは変更しません。

    ※日時はあらかじめ相談して決めます。DNSの反映には数分〜数時間かかることがあります。

  6. 動作確認と、サーバ側の設定当社

    サイトが正しく表示されるか、httpsが有効かを確認したうえで、サーバ側を次のように設定します。

    • 直接アクセスの制限:サーバのWeb用ポート(80/443)を、Cloudflareの送信元IPからだけ受け付けるようにします。CloudflareのWAFを通らずにサーバへ直接アクセスされるのを防ぐためです。必要に応じて、Cloudflareからの通信であることを証明書で確かめる設定(Authenticated Origin Pulls)も行います。
    • Cloudflareとサーバの間も暗号化:サーバの証明書を確認し、暗号化の方式を「Full (strict)」に設定します。
    • 閲覧者のIPの記録:サーバのログに、CloudflareのIPではなく、Cloudflareから渡される元の閲覧者のIPが残るように設定します。

4. 気をつけること

「www なし」のドメインはCNAMEにできません

example.co.jp(www なし)は、DNSのルールでCNAMEを設定できません。
そのため、www なしでアクセスされた場合の転送方法を事前に決めておく必要があります。主な方法は次のとおりです。

今のサーバで転送を続ける場合、手順6の「Cloudflare以外からの通信を受け付けない」設定とぶつかり、転送が止まることがあります。その場合は当社でFWの設定と両立できるよう調整します。

切り替え前に TTL を短くしておく

TTLは「DNSの情報を各地でどのくらい覚えておくか」の時間です。切り替えの前日までに www のTTLを短く(例:300秒)しておくと、切り替えも切り戻しも早く反映されます。

メールには影響しません

変更するのは www のレコードだけです。メール(MXレコード)やその他のサブドメインはそのまま動きます。

切り戻しはすぐにできます

万一問題が出た場合は、次の2つを行えば導入前の状態に戻せます。

  1. 当社手順6で設定したサーバのFWの制限(Cloudflare以外を受け付けない設定)を解除する
  2. お客様www の CNAMEレコードを削除し、控えておいた元の Aレコード(サーバのIP)を登録し直す

※FWの制限を解除しないまま Aレコードだけ戻すと、閲覧者がサーバにつながらなくなります。必ず当社と連絡を取りながら進めてください。

5. お客様にご用意いただくこと