🔹 はじめに
AWSを使い始めると「CloudFront って何?」や「独自ドメインを設定する意味は?」という疑問を持つことがあると思います。
今回、CloudFront に独自ドメイン(例:cdn.example.com)を設定する方法について調査してみました!
🔹 CloudFront とは?
AWS CloudFront は CDN(コンテンツ配信ネットワーク) の一種です。
CloudFront の主な機能
機能 | 説明 |
---|---|
HTTPS対応 | S3 や EC2 のコンテンツを HTTPS で提供できる |
CDN(キャッシュ) | 世界中のエッジロケーションでキャッシュして高速配信できる |
オリジンの負荷軽減 | S3 や EC2 へのリクエストを減らせる |
カスタムドメイン対応 |
cdn.example.com などの独自ドメインを設定可能 |
セキュリティ強化 | AWS WAF や OAI(S3の非公開化)と組み合わせてセキュアに運用可能 |
CloudFront を利用すると、
- Webサイトを HTTPS化 できる
- 静的ファイルの配信が 速くなる
-
S3 や EC2 への負荷を減らせる
といったメリットがあります。
🔹 CloudFront に cdn.example.com
を設定する意味は?
CloudFront のデフォルトドメインは d123.cloudfront.net
のような ランダムな文字列 です。
そこで 独自ドメイン(例:cdn.example.com)を設定することで、より使いやすくなります! 🚀
独自ドメイン(cdn.example.com)を設定するメリット
メリット | 説明 |
---|---|
URLが分かりやすい |
cdn.example.com の方が d123.cloudfront.net よりシンプル |
ブランドの統一 |
example.com 配下のドメインを使えるので統一感がある |
SEOやマーケティング | 独自ドメインの方が検索エンジン対策にも有利(特にHTTPS対応時) |
Cookieの制御 |
cdn.example.com なら example.com のサブドメインとして動作し、Cookie管理がしやすい |
🔹 CloudFront に cdn.example.com
を設定する方法
✅ 1. S3 に静的ウェブサイトを配置
- S3 バケット(例:
example-bucket
)を作成 -
index.html
などの静的ファイルをアップロード - バケットの パブリックアクセスをブロック し、CloudFront 経由で配信する
✅ 2. CloudFront ディストリビューションを作成
- CloudFront のオリジンに
example-bucket.s3.amazonaws.com
を設定 - 「Alternate Domain Name (CNAME)」 に
cdn.example.com
を追加 - AWS Certificate Manager (ACM) で
cdn.example.com
の SSL証明書を発行
✅ 3. Route 53 に Alias レコードを設定
cdn.example.com. 300 IN A ALIAS d123.cloudfront.net.
これで https://cdn.example.com
で CloudFront 経由の HTTPS アクセスができる!
🔹 調査して分かったこと
- 設定自体は比較的簡単だったが、ACMの証明書発行に少し時間がかかった
- キャッシュの管理をしっかりしないと、更新したファイルが反映されにくい
- Route 53 の設定は Alias レコードを使えばスムーズにできた
🔹 疑問点(初心者がつまずきやすいポイント)
❓ CloudFront は「HTTPS化」だけのために使うの?
➡ いいえ!CloudFront は 「HTTPS対応」+「CDNによる高速化」 の両方を目的として使う。
❓ S3 には HTTPS があるのに、なぜ CloudFront を使うの?
➡ S3 の静的ウェブサイトホスティングは HTTPS に対応していない! CloudFront を経由させることで HTTPS を実現できる。
❓ CloudFront の代わりに ALB(Application Load Balancer)を使って HTTPS 化できる?
➡ 可能だが、ALB はCDNのようにキャッシュできないので、CloudFront の方が高速&セキュア!