こんにちは、ちゃりおです。
CloudFrontのワークショップやってみました。
1~2時間くらいで、CloudFrontの基本的な機能について知れるのでおすすめです。
ワークショップの内容について紹介していきます。
マネコンが古い関係で、手順を読み替えが必要なところがあったので補足します。
ClouFront Workshop
S3とEC2をCloudFrontのオリジンに設定します。
ACCELERATE YOUR CONTENT USING AMAZON CLOUDFRONT
ワークショップには以下の内容が含まれています。
- オリジンの設定、CLoudFront経由でコンテンツ配布
- キャッシュの削除
- フェイルオーバー
- エラーページの作成
構成概要
1. Create EC2 & S3 origins
CloudFormationを使って、EC2とS3を作成します。
その後、S3にindex.htmlを配置します。CloudFront経由で配布するため、この時点ではS3上へのindex.htmlはアクセスできません。
EC2には、サンプルアプリケーションがデプロイされています。
「/api」でアクセスすると、ヘッダー情報をレスポンスするアプリケーションがデプロイされます。
2. Create a CloudFront Distributition
ディストリビューションを設定していきます。
S3とEC2をそれぞれオリジンにします。
S3
S3 OAIを有効にするとバケットポリシーも自動で更新してくれて便利ですね。
EC2
その次にビヘイビアを設定します。
/apiでEC2にアクセスし、その他はS3にアクセスします。
apiの方はキャッシュを持たないので、レガシーキャッシュ設定ですべてオリジンに転送します。
逆にS3はキャッシュさせるので、デフォルトのままにしておきます。
S3のオリジンを選んだら、自動的におすすめのポリシー設定してくれて親切ですね。
これで、CloudFront経由でコンテンツにアクセス可能になりました。
3. Test The Application On Cloudfront
設定したCloudFront経由で接続できるかの確認です。
レスポンスヘッダーで「キャッシュにヒットしたか」や「CloudFrontのエッジの場所」を確認できます。
4. Test Invalidations
キャッシュ削除についです。
デフォルトでは、24時間でキャッシュが消えますが手動で削除する方法です。
5. Configure Custom Erro Page
CloudFrontの機能を使ったエラーページの作り方です。
ワークショップでは504のAPIレスポンスがなかったときと、404でページが見つからなかったときそれぞれエラーページを作成しました。
6. CONFIGURE ORIGIN GROUP
フェイルオーバーについてです。
S3をもうひとつ作ってセカンダリにします。
オリジングループという機能を使ってプライマリとセカンダリのオリジンをグループにします。
ビヘイビアでオリジンでルーティングしていたものを、オリジングループに変更することでプライマリでエラーになった際にセカンダリに割り振られます。
感想
CloudFrontの基本的な機能がコンパクトにまとまっており、おすすめです。
導入を検討している人は是非やってみてください
CloudFrontFunctionやWAFなども関わる「CloudFront Extensions workshop 」もあるのでやってみようと思います。