0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

S3静的サイトを本番品質にする:CloudFront+OAC+非公開バケットへの上げ方(HTTPS・キャッシュ・セキュリティ)

0
Posted at

この記事でわかること

S3の「静的ウェブサイトホスティングを有効にして公開」は入門としては正しいのですが、本番で運用するには3つの壁(HTTPSが使えない/バケットが直接見える/キャッシュ設計がない)があります。その壁の越え方を、私自身のサイトの構成(S3+CloudFront+OAC)を題材に、初心者向けにまとめました。

S3単体公開からの上げ方の要点

  • オリジンはRESTエンドポイント(バケット名.s3.リージョン.amazonaws.com)を使う。静的ウェブサイトホスティングのs3-websiteエンドポイントはカスタムオリジン扱いで、OACが使えない
  • OAC(Origin Access Control)でCloudFrontだけに読み取りを許可する。バケットポリシーのConditionに配信IDを入れて、他の配信からの参照を構造的に防ぐ
  • CloudFront側はACM証明書(us-east-1で発行)でHTTPS対応。Route 53のALIASで独自ドメインを向ける

キャッシュ設計とデプロイ

  • HTMLは短命(数十秒〜数分)、CSS・JS・画像は長命(日〜月)という2分割が基本
  • ファイル名を変えられない更新は無効化(Invalidation)で対応し、デプロイパイプラインの最後に組み込む
  • 当サイトの実例として、PRマージ→GitHub Actionsの「Deploy to S3」がaws s3 sync+CloudFrontの無効化→公開URLのHTTP 200確認、という流れを紹介しています

セキュリティと料金

  • Response Headers PolicyでCSPなどのセキュリティヘッダーを設定変更だけで追加できる
  • WAFは費用対効果で判断してよい。2026年に登場したCloudFrontのフラットレートプラン($0のFree〜、$15/月のPro以上はWAF・DDoS・ボット込み・超過請求なし)が選択肢に加わりました
  • 料金の金額は試算であり、公開料金ページでの再確認を促成しています

※2026年10月時点の公開情報に基づく

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?