現場実践|静的サイト・CDN設計

CloudFront + S3で作る静的Webサイト・CDN設計の実践

「WordPressやEC2なしでWebサイトを作れるの?」——S3に静的ファイルを置いてCloudFrontで配信するサーバーレスWebサイト構成の設定方法・HTTPSの設定・カスタムドメインの設定を解説します。

読了目安:約18分更新日:2026年3月

💡 CloudFront+S3の静的サイト構成はEC2が不要のため運用コストがほぼゼロ。個人ブログ・ポートフォリオサイト・ランディングページに最適で、グローバルなCDN配信でパフォーマンスも高い構成です。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

CloudFront+S3を使ったサーバーレスWebサイト構築を複数プロジェクトで担当してきた立場から解説します。

1. CloudFront + S3の構成図

この構成の流れは「ユーザーのブラウザ → CloudFront(エッジロケーション)→ S3(オリジン)」です。CloudFrontがS3のコンテンツをキャッシュして世界中のエッジロケーションから配信するため、オリジンへのアクセスを大幅に削減できます。また、S3バケットをパブリック公開せずにCloudFrontのOAC(Origin Access Control)経由でのみアクセスを許可する設定が推奨です。

2. S3バケットの静的ウェブホスティング設定

# S3バケットの作成
aws s3 mb s3://my-website-bucket --region ap-northeast-1

# ファイルのアップロード
aws s3 sync ./dist/ s3://my-website-bucket/ --delete

# CloudFrontキャッシュを無効化(デプロイ後)
aws cloudfront create-invalidation \
  --distribution-id EXAMPLEID \
  --paths "/*"

3. ACM(AWS Certificate Manager)でHTTPS化

1
ACMで証明書を発行する(us-east-1リージョン)
CloudFrontにはus-east-1(バージニア北部)リージョンのACM証明書のみ使用できる。証明書の発行はus-east-1で行う。
2
CloudFrontディストリビューションに証明書を設定
CloudFrontの設定でカスタムSSL証明書に先ほどのACM証明書を指定する。
3
Route 53でAliasレコードを設定
Route 53でカスタムドメイン→CloudFrontのFQDNへのAliasレコードを作成する。

4. CI/CDパイプラインとの統合

GitHub ActionsでS3へのデプロイとCloudFrontキャッシュの無効化を自動化することで「mainブランチにマージしたら自動でWebサイトが更新される」パイプラインを構築できます。GitHub OIDC認証を使うことでAWSアクセスキーの管理が不要になります。

📌 この記事のポイント
  • CloudFront+S3の静的サイト構成はEC2不要・コストほぼゼロ・グローバルCDN配信の三拍子揃った構成
  • S3バケットはパブリック公開せずCloudFrontのOAC(Origin Access Control)経由でのみアクセスを許可する
  • ACM証明書はus-east-1で発行してCloudFrontに適用し、Route 53でAliasレコードを設定する流れ

キャリアの疑問、一緒に解決しませんか?

Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。

※CloudFrontとS3の料金・機能はAWSにより変更される場合があります。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:経営/個人事業/アパレル