静的サイトを配信するなら、CloudFront + S3の組み合わせが最強だ。安くて、速くて、サーバーレス。この3拍子が揃ってる。
仕組みは簡単:S3バケットにHTML/CSS/JSを置いて、CloudFront(CDN)で世界中のエッジロケーションから配信する。ユーザーは地理的に一番近いエッジからコンテンツを受け取るから、東京からでもニューヨークからでも速い。
設定のポイント:
- OAI(Origin Access Identity)を使う — S3バケットを直接公開せず、CloudFront経由でのみアクセス可能にする。セキュリティの常識。
- キャッシュポリシー — CSSやJSは長めに、HTMLは短めにキャッシュ。更新頻度に合わせて調整。
- カスタムドメインとSSL — ACM(AWS Certificate Manager)で無料のSSL証明書を発行して、自分のドメインでHTTPS配信。
- Lambda@Edge — エッジでリクエストを加工できる。リダイレクト処理とか、国別のコンテンツ切り替えとか。
このブログも実はCloudFront + S3構成にしてる。WordPressだけど静的キャッシュをCloudFrontに載せてる感じ。爆速だし、サーバー負荷も激減した。