Cloudflare(クラウドフレア)で既存のDNSを使う方法を紹介するよ❗️
はじめに
今回はSBクラウドでも取り扱っている Cloudflare(クラウドフレア)に関して、初期設定とDNS周りのお話をちょっとしたいと思います。
Cloudflare を利用するには
Cloudflare を利用するにはドメインが Cloudflare に紐づいている必要があります。そのため、よくある手順ではドメインレジストラのネームサーバー(権威DNS)をCloudflareのネームサーバーに切り替える手順が必須とされています。利用開始手順やFAQに以下の様な記載がありますし、個人でCloudflareを使っていた事もあり、私も最初ネームサーバーの切り替えが必須だと思っていました・・・
出典:Cloudflareを使い始める:チュートリアル動画 – Cloudflareヘルプセンター
出典:Cloudflare DNSに関するFAQ – Cloudflareヘルプセンター
ですが、いろいろ調べてみるとCNAME Setup
という方式で設定する事で、ネームサーバーの切り替えをせずにCloudflareを利用することが可能になりますので紹介していきたいと思います。
CNAME Setup ?
CNAME Setup
は名前の通りCNAMEを使った導入・設定方法になります。
CloudflareとDNSそれぞれでCNAMEを使ってチェーンする様に設定する事で、既存のDNSを利用したままCloudflareを利用する事が可能になります。
詳細は以下のページをご確認頂ければと思います。
※Cloudflare 無料プラン、Proプランでは対応していない様です出典:Understanding a CNAME Setup – Cloudflare Help Center
という事で、実際にCNAME Setup
の手順を設定して試していきます。
Freenom で検証のドメインを取得します
検証するためにはドメインが必要なのですが、新規で買うのももったいないのでFreenomで検証用のドメインを調達してきます。
Freenom にアクセスして Register a New Domain からドメインを取得します。
任意のドメイン名を入力し適当なFreeのドメインを選択します。
購入を進めていき必要なパラメータなどを入力して、最後にPriceが $0.00USD
であることを確認してComplete Order で購入します。
購入が完了すれば Freenom は一旦置いておきます。
あとでまた設定が必要なので開いたまま置いておきましょう。
Cloudflare
Cloudflare 側の設定に移ります。
こちら既にアカウントは作成済みの状態になります。
+サイトを追加する
を選択して設定を開始します。
先程 Freenom で取得したドメインを入力します。
契約済みで Enterprise が選択可能な場合は以下のような画面が表示されます。
無料プランなどをご利用の場合や Enterprise の利用枠が残ってない場合、以下のような画面になるかと思います。
Business または Enterprise どちらかを選んで続行
を選択します。
Enterprise Plan にご興味のある方は弊社までお問い合わせ頂くことも可能です。
最初に指定したドメインに対してレコードのチェックが行われます。
既存のレコードがある場合はここに内容が表示されます。
続行
を選択します。
今回はドメインを取得しただけで何もレコードが存在しないので以下のようなメッセージが表示されます。
確認
を選択します。
こんな感じでネームサーバの変更をする手順が表示されるのが通常です。
ここからが重要です。対応しているプランであれば「概要」の右下の方にある「高度な操作」に`CNAME DNS セットアップに変更` という項目があります。「高度な操作 > CNAME DNS セットアップに変更」を選択します。
CNAMEでの設定が出来ない場合、Cloudflareサポートに連絡して特定のドメインのCNAMEセットアップの許可をリクエストします。
Enterprise customers can enable CNAME setups for any of their Business or Enterprise domains by requesting Cloudflare support enable the CNAME setup self-service feature. Once enabled for a Cloudflare account, Enable Partial Setup appears in the Overview app of the Cloudflare Dashboard for Business or Enterprise domains with the account.
出典:Understanding a CNAME Setup – Cloudflare Help Center
権威DNSじゃ無くなるぞ、良いのか?
と言った内容のメッセージが表示されますが 変更
を選択しましょう。
もう一回聞いてきます。変更
を選択しましょう。
CNAME でのセットアップモードに切り替わり検証用のTXTレコードが払い出されます。
これを既存のDNSに設定してドメインの所有が検証できれば利用可能になります。
レコードの検証が終わるまでは概要ページにこの様に記載されています。
TXT レコードを既存のDNSに設定します。
払い出された検証用のTXTレコードを既存のDNSに登録していきます。
今回は先ほどドメインを登録した Freenom に設定します。
Manage Domain
で対象のドメインの設定を開きます。
Manage Freenom DNS
で対象のDNS設定を開きます。
払い出された検証用のTXTレコードをDNSに登録します。
登録に成功すれば以下の様な成功のメッセージが表示されます。
しばらくするとTXTレコードの検証が完了し Cloudflare の概要ページが以下の様に変わります。
ここまで来れば CNAME でのセットアップの準備は完了です。
レコードの検証が終わらない場合
もし反映されない場合は Google Admin Toolbox や DNS Checker などでレコードが伝播されているか確認して見るといいです。
伝播されていない様であれば、TTLの見直しやレコードの再設定。
伝播はされていてレコードが取れている様であれば設定値の確認やブラウザのリロードなどをしてみると良いかと思います。
Cloudflare 経由で既存のサイトを公開する
手元に丁度良いものがないので以前 Alibaba Cloud OSS で作った静的ウェブサイトを使います。
OSS の Image Processing で簡単画像処理OSSの管理コンソールでカスタムドメインにwww.cf-test.ga
を設定します。
Cloudflareで設定する予定のサブドメイン部分まで含めて設定します。
OSS Domain Name をオリジンのCNAMEとして使います。
Cloudflare の管理コンソールに移動し、DNSの設定でレコードを追加します。
タイプをCNAME
、名前にサブドメインのwww
、ターゲットにOSS Domain Name の値
を設定して保存します。
次にDNS側の設定を行います。ここが CNAME Setup のポイントの一つになります。
今回はFreenomの管理コンソールに移動して、こちらにもDNSのレコードを追加します。
今回は cf-test.ga
というドメインの www
サブドメインに対して Cloudflare CDN の CNAME に向先を設定します。
イメージにするとこんな感じかな。
詳細はコチラを参照下さい
DNSレコードが伝播すれば以下の様に正常にアクセスが出来る様になります。
無事にネームサーバーを変更しなくてもCloudflareをCDNとして利用する事が出来ました。
最後に
今回は Cloudflare という Alibaba Cloud 以外の製品を紹介させて頂きました。
CNAME Setup の手順はあまり見当たらなかったので参考になる様であれば嬉しいです。
Cloudflare には CDN 以外にも Jamstack をデプロイできる Cloudflare Pages やゼロトラスト系の Cloudflare for Teams など面白いものがあるのでそれらにも順次ふれて行きたいと思います。