Open11

Route53のドメインでCloudFront+S3のコンテンツ配信がしたい!!

キュリオキュリオ

と、タイトルを銘打ってみたはいいものの、何すれば良いかさっぱり
やりたいことバーっとあげていく
・Route53で作成したドメイン(作成済)
・CloudFrontでディストリビューション作成
・S3バケット作成
・これらをSDKでJS側から叩く
最終目標はマルチクラウドしたいのでこいつらの工程をCloud Runで実行させる
欲を言えばTerraformでインフラ作成(オーバースペックな気もするがあくまでも勉強が目的なので)

キュリオキュリオ

とりあえずまずCloudFrontからやっていこう
んで、Route53からの受け皿を作成する感じで!

キュリオキュリオ

私の中でのイメージ
ドメイン→ACM証明書発行→CloudFrontディストリビューション作成→S3バケット作成

キュリオキュリオ

設定まとめ

オリジン

オリジンドメイン
AWS オリジンを選択するか、お使いのオリジンのドメイン名を入力します。

オリジンパス - オプション情報
オリジンリクエストのオリジンドメイン名に追加する URL パスを入力します。

名前
このオリジンの名前を入力します。

S3 バケットアクセス情報
CloudFront オリジンアクセスアイデンティティ (OAI) を使用して S3 バケットにアクセスします。
OAI を使用しません (バケットはパブリックアクセスを許可する必要があります)
はい、OAI を使用します (バケットは CloudFront のみへのアクセスとなるように制限できます)

カスタムヘッダーを追加 - オプション
CloudFront は、オリジンに送信するすべてのリクエストにこのヘッダーを含めます。

オリジンシールドを有効にする情報
Origin Shield は、オリジンの負荷を軽減し、可用性を保護するのに役立つ追加のキャッシュレイヤーです。

キャッシュビヘイビア

パスパターン
オブジェクトを自動的に圧縮
ビューワープロトコルポリシー
許可された HTTP メソッド
ビューワーのアクセスを制限する

キャッシュキーとオリジンリクエスト
Cache policy and origin request policy (recommended)
Legacy cache settings

関数の関連付け - オプション(省略)

料金クラス
AWS WAF ウェブ ACL - オプション
代替ドメイン名 (CNAME) - オプション
カスタム SSL 証明書 - オプション
サポートされている HTTP バージョン
デフォルトルートオブジェクト - オプション
標準ログ記録
IPv6

これらをAPIのパラメータと当てはめていく

キュリオキュリオ

Origins
Enabled
DefaultCacheBehavior
Comment
CallerReference
DistributionConfig
こいつらは必須