https://qiita.com/buta/items/06a7e147d865fb862783
https://dev.classmethod.jp/cloud/aws/tls-for-s3-web-hosting-with-cloudfront/
CloudFront + S3 で静的サイトを運用する際の注意点
https://qiita.com/ooxif/items/d28b7caf72bf5290588c
構成による違いについて、後で確認する
構成
S3
バケットを作成し、静的サイトホスティングを行う。
CloudFront
- Alternate Domain Namesは指定しない(Route53でドメイン指定する為
- Restrict Bucket Access: yesにチェック。(Yes: S3のURLで直接アクセスを拒否する。)
- カスタムドメインを利用する場合にはSSL証明書が必要
- https://aws.amazon.com/jp/premiumsupport/knowledge-center/install-ssl-cloudfront/
- SSL証明書はインポートもできるが、CertificateManagerで作成した証明書を利用することも可能
- https://aws.amazon.com/jp/certificate-manager/
- CloudFrontで証明書を使用する場合は、必ず「米国東部(バージニア北部)」リージョンで証明書を登録する
- CloudFrontにはリージョンがない(?)
- 東京リージョンで証明書を登録するとCloudFrontの画面で証明書が見つからなくてはまる
- CertificateManagerで独自ドメインで証明書作成→DNS検証→Route53でのレコード作成ボタンを押すとRoute53の該当ドメインへCNAMEが追加される
- CertificateManagerでDNS検証は上記CNAME設定後検証完了まで時間がかかるので待つ
- https://aws.amazon.com/jp/premiumsupport/knowledge-center/acm-certificate-pending-validation/
- DNSを使用して検証したACM証明書を自動的に更新する(ACMは、証明書が使用中でDNSレコードが配置されている限り、有効期限が切れる前に各証明書を更新する):手動更新する必要はない
- BehaviorsでViewer Protocol Policyを「Redirect HTTP to HTTPS」にすればhttpでアクセスしてもhttpsにリダイレクトしてくれる
- https://yoshidashingo.hatenablog.com/entry/2014/03/06/144345
Route53
- CloudFrontで利用するドメインを設定する
- CertificateManagerで生成する証明書のDNS検証の為CNAME設定を行う(CertificateManagerで「Route53でのレコード作成ボタン」を押すと自動で設定してくれる)
参考