####今回の仕組み(以前のハンズオンからの続き)
クライアント
↓ ROUTE53(blog.handson4.netとCloudFrontのドメイン紐付け)
CloudFront
↓ ROUTE53(alb.handson4.netとELBのドメイン紐付け)
ELB
*CloudFrontとELBにSSL証明書を発行
ただし、CloudFrontの証明書はバージニア北部のみで発行可
###①ROUTE53のドメイン変更
現在のドメイン
blog.handson4.net
↓
alb.handson4.net
へ変更
*S3のSorryページにルートしてる場合
新しくS3バケットをalb.handson4.net
で作り直さないと設定できない
(S3バケット名とドメイン名の紐付けが必要)
###②ロードバランサーにアタッチされている証明書のホスト名をワイルドカードに作り直す
(一つの証明書で複数のドメインの証明が可能)
現在のドメイン
blog.handson4.net
↓
*.handson4.net
*以前のリスナー、証明書、ROUTE53のドメインは削除する
*alb.handson.netで接続できることを確認
###③CloudFront用の証明書を発行
*バージニア北部(US-east1)から発行
*.handson4.net
で発行
###④CloudFrontの作成
・Create Distribution
1、Select a delivery method for your content
Web-Get Started
2、Create Distribution
Origin Domain Name → alb.handson4.net
Origin Protocol Policy →HTTPS Only
Viewer Protocol Policy →HTTPS Only
Cache Policy → Create a new policy
*テスト用に短いTTLを設定
Name - ShortCache
TTL Settings - 全て60秒
他デフォルト
Create Distributionの画面に戻り、Cache Polocyを先ほど設定したShortCacheに指定
Alternate Domain Names - blog.handson4.net
(CNAMEs)
SSL Certificate - Custom SSL Certificate (example.com)
*.handson4.net
(③で設定したSSL証明書)
他デフォルトでOK
Distribution 作成
statusがdeployedになったら使えるようになる
CloudFrontのdomain nameでアクセスできるか確認
*https通信のみ許可してる場合、httpでは403エラーになるので注意
Origin の https 設定はALB側
Behavior の https 設定はクライアント(ブラウザ)側
###⑤blog.handson4.netとCloudFrontのドメインの紐付け
ROUTE53でシンプルルーティングで紐付け
これでblog.handson4.net
からアクセスした際にCloudFrontからキャッシュで返される仕組みができた
*直接ELB(alb.handson4.net
)に接続するとEC2サーバー1、2のどちらかの応答が返ってくるが、CloudFront(blog.handson4.net
)でアクセスするとTTLで設定した60秒は同じキャッシュが返されるのですぐにオリジン(EC2)の結果が反映されない事になる。