キャッシュサーバー(CloudFront)

2 min読了の目安(約2300字TECH技術記事

今回はCloudFrontを使用していこうと思います。
知識では、なんとなく把握していましたが、手を動かして設定するのはやっていなかったので
やっていこう!!!

そもそも、CloudFrontってなんのためにあるの?

CloudFrontはCDNサービス(Content Delivery Network)
説明に関しては、↓↓こちらのサイトがわかりやすかったので、掲載。
(説明読むのがめんどくさい人は、CDNあり、なしの画像を見るだけでもいいかと)

https://knowledge.sakura.ad.jp/19191/

要点だけ伝えると
オリジンサーバーの負荷を下げてくれたり、エンドユーザーに低レイテンシー(低遅延)を実現するためのサービス。
エンドユーザーもオリジンサーバーもみんなHappyになれます。

前提

現在は、Route53を使用し、プライマリにALB、セカンダリにS3を配置しています。
HTTPS通信のためにACMを使用し、ALBに証明書をアタッチしています。

AWS試験などではちょっと違うかもしれませんが、文章で構築内容?が書かれています。
私の場合、試験対策として、文章の内容をとりあえず絵にして視覚的にわかりやすくしていました。
ぜひ、みなさんも、上記の現状を絵にしてみてください。
※めんどくさいから書かなかったのは秘密

それでは設定をしていきます。

1)CloudFront用のACMを発行します。

CloudFront用のACMはリージョンをバージニア北部で作成します。(↓参照URL)
https://aws.amazon.com/jp/premiumsupport/knowledge-center/custom-ssl-certificate-cloudfront/

リージョンをバージニア北部に設定 → ACMを選択
ドメイン名の追加を押して、ドメイン名を「*.kuruma-ketuago.ga」にしました。
「*」を使うことによって、ワイルドカード証明書をリクエストします。
例)「www.kuruma-ketuago.ga」「alb.kuruma-ketuago.ga」などのようにいろいろな形で保護をできるようになります。

そのままデフォルトで進めていき、「Route53でのレコードの作成」までいき
発行済になれば設定は成功しています。

2)CloudFrontの設定

2-1)CloudFrontを選択して、「Create Distribution」を押します。

2-2)名前は任意で。私の場合は「alb.kuruma-ketuago.ga」Route53のレコード名と一緒です。

2-3)キャッシュポリシーを設定(今回はテストように短いTTLで作ります)

2-4)すべて60秒で作成

2-5)今回作成したポリシーを使います。

2-6)バージニア北部で作った証明書を選択します

Alternate Domain Names(CNAMEs)には、ビュアーがどのドメインでアクセスするのかを設定します。

2-7)作成を押して、StateがEnabledになればよし!!!

3)Route53にレコード追加

レコードを作成を押下して、シンプルルーティングで作成します。
ルーティング先 「Cloudfront」
リージョン 「バージニア北部」
ディストリビューション 「今回作ったCloudfrontのドメイン名」

これで、設定の方は完了しました!!

確認方法として、ALBのドメインとCloudfrontのドメインでアクセスして2つ開きます。
表示の方を少しいじって、リロードするとおそらくALBで開いた方はすぐに反映されます。
ですが、Cloudfrontで開いた方は、反映に時間がかかります。

キャッシュポリシーで60秒と設定したの60秒後に反映がされます。