何がしたい
- S3に出力したオブジェクトをCF経由で独自ドメインアクセスしたい
 - アクセスの際は独自証明書を用いてHTTPS通信を強制したい
 
前提
- 証明書をCF用にインストール済みであること
- CF用はCLBとは異なりCLI経由でインストールする必要がある
 
 
手順
[S3]:バケットの作成
- S3にバケットを作成し、静的ウェブサイトホスティングを有効化する
 - この際、バケット名は使用するウェブサイトのURL名にする必要がある
 - www.sample.net を使用する場合、バケット名も同様にする
 - indexファイルを設定する
 
[CF]:ディストリビューションの作成
- Webディストリビューションを作成する(未記載の部分はデフォルトポリシーを指定)
- Origin Domain Name:使用するS3のバケットを指定
 - Origin Path:バケット内プレィックスを指定
 - Restrict Bucket Access:CFからのアクセスに制限するか否か(今回はYES)
 - Viewer Protocol Policy: HTTPS Only(HTTPSを強制)
 - Alternate Domain Names(CNAMEs): アクセスする際のURL名を記載する
 - SSL Certificate: *.cloudfront.net 証明を使用するか、独自証明書を使用するか選ぶ(証明書はインストールされているものから選択)
 - Custom SSL Client Support: Only Clients that Support Server Name Indication (SNI)でよければ600ドルは不要 https://ja.wikipedia.org/wiki/Server_Name_Indication
 
 
[Route53] CNAMEレコードの作成
- CNAMEレコードでValueにCFのエンドポイント(xxxxxxxxxx.cloudfront.net)となっている値を設定する
 
注意点
Route53は設定が適応されるまで毎回15分ほどかかる