前回の記事で、Cloud CDNでの当ブログのコンテンツのキャッシュミス率が高い原因(Cloud CDNのキャッシュ要件が厳しいため、ページレベルでキャッシュされていなかった)が分かったので、別のCDNサービスに変更しようと思います。
調べてみたところ、Cloud Flare CDNが良さそうだったので、こちらを使ってみることにしました。
※利用にあたりアカウント登録が必要となりますが、この記事では割愛させて頂きます。
料金
Cloud Flare CDNを使うだけであれば、無料プランで利用できるみたいです。
CDNを使いたいだけなので、無料プランを利用することにします。
プランごとの提供サービスについては下記リンクをご確認下さい。
サイトのドメイン登録
※アカウント登録時に利用ドメインを登録している場合は当手順は不要です。
利用ドメインを登録します。
アカウント登録後、ホーム画面に表示されている[サイトを追加する]をクリックします。
サイトのドメイン名を入力し、[サイトを追加]をクリックします。
[freeプラン]を選択し、[プランを確認する]をクリックします。
[続行]をクリックします。
[ネームサーバーを変更]画面が表示されます。
ブラウザの画面をこのままにしておき、ドメインのネームサーバーの変更を行います。
表示されているネームサーバー1,ネームサーバー2の値を次の手順で利用しますので控えておきます。
ドメインのネームサーバーを変更
当ブログのドメインはGoogle Domainsを利用しているので、Google Domainsでの設定方法の内容になります。
お使いになられているドメインサービスと設定画面が異なるとは思いますが、設定する事は同じですので、適宜読み替えて頂ければと思います。
Google Dmainsにアクセスし、[DNS]をクリックします。
[ネームサーバー]の設定値を編集します。
[カスタム ネームサーバーを使用する]を選択し、CloudFlareの画面で表示されている、ネームサーバー1,ネームサーバー2の値に書き換え保存します。
Cloud Flareの接続確認
Cloud Flareのサイトにアクセスすると、登録したサイト名が表示されています。
ステータスがActiveに変更されていれば、ネームサーバーの変更が完了しているので、Cloud Flareと接続ができていることになります。
私の場合、設定反映は数分で終わりましたが、最大30分〜1時間は掛かる可能性があります。
Cloud Flareの各種設定
Cloud Flare CDNが有効になったので、運用する上で必要な各種設定を行います。
httpをhttpsでリダイレクト
上部メニュー[SSL/TLS]をクリックします。
画面に[常にHTTPSを使用]という項目がありますので、[ON]にします。
ページルールの作成
デフォルトの設定のままでは、全てのコンテンツがキャッシュされてしまいます。
- WordPress管理コンソール(/wp-admin/*)をキャッシュしない
- プレビューページ(*/preview=true*)をキャッシュしない
- その他ページは全てキャッシュする
以上のルールを作成します。
Free Planで作成できるルールは3つまでとなります。
手順については、参考にさせて頂いたGoogleにCloudする庭さんのサイトの記事をご確認下さい。
当ブログのシステム構成ではCloud Flare CDNは使えませんでした
設定が終わり、コンテンツがキャッシュされて万歳、、、の筈でしたが、WordPress管理コンソールへのアクセスが403エラーとなり拒否されてしまいます。
調べてみたところ、Cloud Flare CDNを通すと、Cloud Flare CDNのIPアドレスをOrigin側に通知する仕組みのようです。
このため、Cloud Armorで定めた許可IPアドレスと不一致となり、アクセス拒否となっていた、、、というオチでした。
訪問者のIPアドレスをOrigin側に通知させる方法もあるようですが、Wordpressに対応ロジックを実装する必要があり、今後の運用が面倒になるので対応するのはやめました。
Origin側でWAFを構築しているシステム構成ではCloud Flare CDNは残念ながら使えません。
他の方法を検討、またはCloud CDNの機能拡張待つしかなさそうですね、、、