# 手順 4. CloudFront で S3, Route 53, ACM の紐付け

# これは何

  • CDN にあたるものらしい。キャッシュ等して転送量を軽減してくれるやつ
  • DNS, SSL と直接関係なさそうな気もするが、Route 53, ACM の連携に必要だった

# CloudFront の Distribution 作成

# 作成

  • CloudFront > Create Distribution > Get Started
項目 設定値
Origin Domain Name <ドメイン名> を選択
Viewer Protocol Policy Redirect HTTP to HTTPS
Alternate Domain Names (CNAMEs) <ドメイン名> ( 例: sugoidomain.com )
SSL Certificate Custom SSL Certificate > <S3のバケット名> を選択
(この選択肢は上の Alternate なんちゃらとセット)
他の項目 ほか全部デフォルト
  • サブドメインの場合は「ドメイン名」のところを「サブドメイン名」でやる

  • ここの注意点は、バケット名をドメイン名と合わせて作ってないと、選択肢に出てこなかった記憶

  • 完了ボタン押したあと [Status] 欄が Deployed になるまでしばらく待つ

# 疑問点

  • Alternate Domain Names (CNAMEs) に 複数( * と無印 ) を登録している例を見かけたが
    • それをやると サブドメイン毎にディストリビューション作成できなくなってしまう?
    • そもそもこの辺よくわからない

# 接続確認 (名前解決前)

  • 作成した Distribution の Domain Name 欄のドメイン名にアクセスして、URL が有効であることを確認
https://<自動生成されたID>.cloudfront.net/a.html
  • この Domain Name を Route 53 側に登録すれば、下記でアクセスできるようになる。
https://<取得したドメイン>/a.html

# Route 53 で紐付け

  • Route 53 > ホストゾーン > <取得したドメイン> > レコードを作成
項目
レコード名 (空欄のまま)
レコードタイプ A
トラフィックのルーティング先 エイリアス : On ← すると下の選択肢が出てくる
CloudFront ディストリビューションのエイリアス
米国東部 (バージニア北部) ← それしか選べないはず
XXXXXXXX.cloudfront.net ← プルダウンから選ぶ
  • この時点でのホストゾーンの設定はこうなる
レコード名 タイプ 登録されたタイミング
<ドメイン名> A (3) CloudFront 登録後に設定する ← ★ これを作成した
<ドメイン名> NS (1) Route 53 登録時
<ドメイン名> SOA (1) Route 53 登録時
<ハッシュ値のようなもの>.<ドメイン名> CNAME (2) Certificate Manager 登録時

# 接続確認 (名前解決後)

https://<取得したドメイン>/a.html

# TODO

  • TODO: ErrorPagesタブ
  • TODO: Lambda@Edgeの件

    [ 📩 ご意見 ]