タイトル通りCloud CDNも連携します。
これで当ブログの構成変更も一通り終わりかな??と思います。
サーバーレスNEGの設定については、以下の記事をご覧下さい。
What is Cloud CDN??
- GCPのCDN(Content Delivery Network)サービス
- GCPロードバランサとの連携で利用可能
料金
非常にお安いと思います。
詳細は下記よりご確認下さい。
設定における前提条件
- ロードバランサと、ロードバランサのバックエンドで動くサービスが既に構築済である必要があります。
Serverless NEGは当記事執筆時点ではbeta版なので、GCPのSLA保証対象外となります、ご注意下さい。→GAになりました。
設定
設定は簡単です。
ロードバランサ・バックエンドサービスでCloud CDNを有効化
[Cloud Consoleメニュー]->[ネットワークサービス]->[負荷分散]を選択し、設定画面を表示します。
設定画面表示後[バックエンド]をクリックします。
Cloud CDNを有効化するバックエンドサービスをクリックします。
[編集]をクリックし、[Cloud CDNを有効にする]のチェックをONにして[保存]をクリックします。
Cloud CDNの設定
[Cloud Consoleメニュー]->[ネットワークサービス]->[Cloud CDN]を選択し、設定画面を表示します。
設定画面表示後[送信元を追加]をクリックします。
[続行]をクリックします。
- 既存の Google Cloud Platform リソースを使用する
- Cloud CDNと連携させるロードバランサとバックエンドサービス
を、設定し[追加]をクリックします。
カスタムキーの設定
Cloud CDNの設定が終わりましたら、必要に応じてカスタマイズします。
今回利用するCloud CDNは当ブログのWordpress向けのものとなりますので、
- /wp-login.php
- /wp-admin/*
はブラックリスト(キャッシュさせない)で設定します。
設定後、画面下にある[保存]をクリックします。
注意して頂きたいのが、除外リストにするクエリ文字列の設定です。
AWSのように*(アスタリスク)指定で部分一致判定が出来きません。
こちらは下記マニュアルにてご確認下さい。
補足1:キャッシュの無効化
[Cloud CDN]->[対象の送信元]->[キャッシュの無効化]の順で画面クリックし、設定画面を表示します。
キャッシュクリアをするURIを入力し、[無効にする]をクリックすれば、キャッシュクリアが開始されます。
※処理完了まで時間がかかります。
補足2:キャッシュ有効期間の設定
ここが癖があるところです。
Cloud CDN側では設定が出来きません。
このあたりは利用するサービスやアプリケーションによって異なると思いますので、下記記事を参考にして下さい。
補足3:Cloud CDNにキャッシュされる条件
Cloud CDNにキャッシュされる条件や、キャッシュヒット/ミスを調べる方法について、別記事にまとめました。
下記記事をご覧下さい。
まとめ
- 設定自体は簡単ですが、キャッシュの有効期間の設定で今後チューニングが必要になりそうです。(エッジキャッシュ利用が前提のGAEはどうなるんだろ??)
- AWS Cloud Frontのように、CDN側でキャッシュ有効期間指定が出来たら凄く楽っす、、、
- Cloud CDN⇄GCPサーバーレスサービスとの連携が出来るようになったので、ServerlessNEGの機能追加・改修と合わせて使い易くなる事を期待します。
追記
GAとなった、
- Cache Mode
- TTL overrides
で、ほぼ問題解決しました。
記事にしましたので、ご覧頂けると幸いです。