はじめに
Amazon CloudFront を使うと、S3 上の静的コンテンツを配信できる。
CloudFront のディストリビューションに対して DNS で CNAME を設定するだけで独自ドメインからアクセスできるかを確認した。
CloudFront ディストリビューションでのアクセス
まずは CloudFront の標準ドメイン名を利用。
- ディストリビューションドメイン名:
dXXXXXXXXXi.cloudfront.net
S3 バケットに配置した test.html を以下の URL でアクセス。
https://dXXXXXXXXXi.cloudfront.net/test.html
正常に表示された。
独自ドメインでのアクセス
次に独自ドメイン YYY-ZZZ.com を利用。
Route 53 に以下の CNAME レコードを追加。
- レコード名:
www999-test.YYY-ZZZ.com - 値:
dXXXXXXXXXi.cloudfront.net
DNS 反映後に以下へアクセス。
https://www999-test.YYY-ZZZ.com/test.html
結果
独自ドメイン経由では 403 ERROR。
原因
DNS に CNAME を作成するだけでは独自ドメインは利用不可。
- CloudFront ディストリビューションに 代替ドメイン名 (CNAME) を登録していない場合、403 となる
- 代替ドメイン名を利用するには、そのドメインをカバーする有効な TLS 証明書 (ACM, us-east-1) が必要
参考:
- HTTP 403 ステータスコード (アクセス拒否) - Amazon CloudFront
- 代替ドメイン名 (CNAME) を追加してカスタム URL を使用する - Amazon CloudFront
CloudFront の代替ドメイン名に設定
実際に代替ドメイン設定を行った。
ACM で証明書発行
対象ドメイン www999-test.YYY-ZZZ.com で証明書を発行。
CloudFront に代替ドメインを登録
CloudFront の代替ドメイン名に www999-test.YYY-ZZZ.co を追加し、発行した証明書を関連付け。
再度アクセス
設定がデプロイされた後、以下の URL にアクセス。
https://www999-test.YYY-ZZZ.com/test.html
テストページが表示された。
まとめ
- CloudFront の標準ドメインでは正常にアクセス可能
- DNS に CNAME を設定しただけでは 403 エラー
- 代替ドメイン名の追加と有効な TLS 証明書の設定を行うことで、独自ドメイン経由でのアクセスが可能となる
百聞は一見にしかずですね。







