- CloudFrontはAWSのCDNサービスで、世界600+のエッジロケーションからコンテンツを高速配信
- S3静的サイト配信とALB経由のAPI高速化をハンズオンで解説
- Lambda@EdgeとCloudFront Functionsの使い分けでエッジコンピューティングを実現
SES案件でインフラ構築に携わるなら、CloudFrontは避けて通れないサービスです。Webサイトの表示速度はSEOにもUXにも直結し、CloudFrontを正しく設定できるエンジニアの需要は高まる一方です。
この記事では、CloudFrontの基礎概念からSES案件での実践的な活用シーンまで、インフラ案件で即戦力になる知識を体系的に解説します。
- CloudFrontの仕組みとCDNの基本概念
- S3/ALBオリジンでのディストリビューション作成手順
- Lambda@EdgeとCloudFront Functionsの使い分け
- SES案件での活用シーンとコスト最適化
AWS CloudFrontとは?CDNの基本概念
CDN(Content Delivery Network)とは、世界各地に分散配置されたサーバー(エッジロケーション)からコンテンツを配信する仕組みです。ユーザーに地理的に近いサーバーからコンテンツを返すことで、表示速度を大幅に改善します。
AWS CloudFrontはAWSが提供するCDNサービスで、以下の特徴があります:
- 600以上のエッジロケーション: 世界中に分散配置
- AWSサービスとの統合: S3、ALB、API Gateway、Lambda等とシームレスに連携
- セキュリティ: AWS WAF、Shield、ACM(SSL証明書)との統合
- 従量課金: データ転送量とリクエスト数に基づく料金体系
CloudFrontの仕組み(リクエストフロー図解)
エッジロケーションとオリジン
CloudFrontの基本的なリクエストフローは以下の通りです:
- ユーザーがURLにアクセス
- DNSがユーザーに最も近いエッジロケーションにルーティング
- エッジロケーションのキャッシュを確認
- キャッシュヒット → 即座にレスポンスを返却(低レイテンシ)
- キャッシュミス → オリジンサーバー(S3やALB)にリクエストを転送
- オリジンからの応答をキャッシュに保存し、ユーザーに返却
オリジンとは、コンテンツの元データが保存されているサーバーのことです。CloudFrontは以下をオリジンとして設定できます:
- S3バケット: 静的ファイル(HTML、CSS、JS、画像等)
- ALB(Application Load Balancer): 動的コンテンツ
- API Gateway: REST API / WebSocket
- カスタムオリジン: EC2やオンプレミスサーバー
キャッシュビヘイビアの設定
キャッシュビヘイビアは、URLパターンごとにキャッシュの動作を制御する設定です。
| パターン | オリジン | キャッシュTTL | 用途 |
|---|---|---|---|
/static/* | S3 | 30日 | 静的アセット |
/api/* | ALB | 0秒(キャッシュなし) | API |
/images/* | S3 | 7日 | 画像 |
*(デフォルト) | S3 | 1日 | HTML |
ディストリビューション作成ハンズオン
S3オリジンでの静的サイト配信
# 1. S3バケットの作成
aws s3 mb s3://my-website-bucket-2026
# 2. 静的ファイルのアップロード
aws s3 sync ./dist s3://my-website-bucket-2026
# 3. CloudFrontディストリビューションの作成
aws cloudfront create-distribution \
--origin-domain-name my-website-bucket-2026.s3.amazonaws.com \
--default-root-object index.html
AWS CLIでの作成が複雑な場合は、AWSマネジメントコンソールからGUIで設定するのも有効です。
重要な設定ポイント:
- OAC(Origin Access Control): S3バケットへの直接アクセスを禁止し、CloudFront経由のみに制限
- ACM証明書: 独自ドメインでHTTPS配信する場合に必要(us-east-1リージョンで作成)
- デフォルトルートオブジェクト:
index.htmlを設定
ALBオリジンでのAPI高速化
動的コンテンツの配信にもCloudFrontは有効です。ALBをオリジンに設定することで、APIレスポンスのキャッシュやSSL終端の負荷軽減が実現できます。
aws cloudfront create-distribution \
--origin-domain-name my-alb-1234567890.ap-northeast-1.elb.amazonaws.com \
--origin-protocol-policy https-only
Lambda@EdgeとCloudFront Functionsの使い分け
CloudFrontのエッジでコードを実行する方法は2つあります。
| 機能 | Lambda@Edge | CloudFront Functions |
|---|---|---|
| 実行場所 | リージョナルエッジキャッシュ | エッジロケーション |
| 言語 | Node.js / Python | JavaScript |
| 実行時間上限 | 30秒 | 1ms |
| メモリ | 128〜10,240 MB | 2MB |
| ネットワークアクセス | 可能 | 不可 |
| 料金 | やや高い | 安い |
| 用途 | 複雑な処理 | 軽量な処理 |
CloudFront Functionsがおすすめのケース:
- URLのリダイレクト・リライト
- HTTPヘッダーの追加・削除
- 簡単な認証(Basic認証等)
Lambda@Edgeがおすすめのケース:
- A/Bテストの振り分け
- 画像のリアルタイムリサイズ
- APIレスポンスの加工
- 外部API呼び出しを伴う処理

セキュリティ設定(WAF・OAC・署名付きURL)
AWS WAF連携
CloudFrontにAWS WAFを関連付けることで、SQLインジェクション・XSS・DDoS攻撃などを自動的にブロックできます。
マネージドルールを使えば、設定不要で主要な攻撃パターンを防御できます:
- AWS Managed Rules - Common Rule Set(基本的な攻撃パターン)
- AWS Managed Rules - SQL Database(SQLインジェクション対策)
- Rate Limiting(レート制限)
OAC(Origin Access Control)
S3オリジンを使う場合は、OACを設定してS3バケットへの直接アクセスを禁止しましょう。CloudFront経由でのみコンテンツにアクセスできるようにすることで、セキュリティが向上します。
署名付きURL
有料コンテンツや制限付きコンテンツの配信には、署名付きURLを使います。有効期限付きのURLを生成し、認証されたユーザーのみがアクセスできるようにします。
SES案件でのCloudFront活用シーン5選
- コーポレートサイトの高速化: S3 + CloudFrontで静的サイトを配信。表示速度改善でSEO効果も
- SPAの配信: React/Next.jsアプリのビルド成果物をS3+CloudFrontで配信
- APIのキャッシュ: 変更頻度の低いAPIレスポンスをエッジでキャッシュ
- 動画・画像の配信: メディアファイルの大容量配信を低コストで実現
- マルチリージョン構成: グローバル展開するサービスのレイテンシ改善
AWS公式のCloudFrontドキュメントで最新の機能を確認できます。
コスト最適化とモニタリング
CloudFrontのコストを最適化するポイント:
- キャッシュヒット率を上げる: 適切なTTL設定で80%以上を目指す
- 圧縮を有効化: Gzip/Brotli圧縮でデータ転送量を削減
- Price Classの選択: 全エッジロケーションが不要なら、日本・アジアのみに限定
- リアルタイムログ: CloudWatch Metricsでキャッシュヒット率やエラー率を監視
| Price Class | 対象リージョン | コスト |
|---|---|---|
| PriceClass_All | 全世界 | 高 |
| PriceClass_200 | 北米+欧州+アジア+中東 | 中 |
| PriceClass_100 | 北米+欧州 | 低 |
日本向けサービスならPriceClass_200で十分です。
まとめ|CloudFrontスキルでインフラ案件の幅を広げる
CloudFrontはSESインフラ案件で最も需要の高いAWSサービスの一つです。
- CDNの基本概念とCloudFrontの仕組みを理解する
- S3/ALBオリジンでのディストリビューション設定をマスターする
- Lambda@EdgeとCloudFront Functionsを適切に使い分ける
- セキュリティ(WAF・OAC・署名付きURL)を正しく設定する
- コスト最適化でクライアントに価値を提供する
CloudFrontのスキルはAWS認定ソリューションアーキテクト試験でも出題範囲であり、資格取得とスキルアップを同時に進められます。
関連記事: