𝕏 f B! L
案件・求人数 12,345
案件を探す(準備中) エージェントを探す(準備中) お役立ち情報 ログイン
案件・求人数 12,345
AWS CloudFront入門|SESエンジニアのCDN実践

AWS CloudFront入門|SESエンジニアのCDN実践

AWSCloudFrontCDNSESエンジニア
目次
⚡ 3秒でわかる!この記事のポイント
  • 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の基本的なリクエストフローは以下の通りです:

  1. ユーザーがURLにアクセス
  2. DNSがユーザーに最も近いエッジロケーションにルーティング
  3. エッジロケーションのキャッシュを確認
  4. キャッシュヒット → 即座にレスポンスを返却(低レイテンシ)
  5. キャッシュミス → オリジンサーバー(S3やALB)にリクエストを転送
  6. オリジンからの応答をキャッシュに保存し、ユーザーに返却

オリジンとは、コンテンツの元データが保存されているサーバーのことです。CloudFrontは以下をオリジンとして設定できます:

  • S3バケット: 静的ファイル(HTML、CSS、JS、画像等)
  • ALB(Application Load Balancer): 動的コンテンツ
  • API Gateway: REST API / WebSocket
  • カスタムオリジン: EC2やオンプレミスサーバー

キャッシュビヘイビアの設定

キャッシュビヘイビアは、URLパターンごとにキャッシュの動作を制御する設定です。

パターンオリジンキャッシュTTL用途
/static/*S330日静的アセット
/api/*ALB0秒(キャッシュなし)API
/images/*S37日画像
*(デフォルト)S31日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@EdgeCloudFront Functions
実行場所リージョナルエッジキャッシュエッジロケーション
言語Node.js / PythonJavaScript
実行時間上限30秒1ms
メモリ128〜10,240 MB2MB
ネットワークアクセス可能不可
料金やや高い安い
用途複雑な処理軽量な処理

CloudFront Functionsがおすすめのケース:

  • URLのリダイレクト・リライト
  • HTTPヘッダーの追加・削除
  • 簡単な認証(Basic認証等)

Lambda@Edgeがおすすめのケース:

  • A/Bテストの振り分け
  • 画像のリアルタイムリサイズ
  • APIレスポンスの加工
  • 外部API呼び出しを伴う処理

CloudFrontのアーキテクチャとリクエストフロー

セキュリティ設定(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選

  1. コーポレートサイトの高速化: S3 + CloudFrontで静的サイトを配信。表示速度改善でSEO効果も
  2. SPAの配信: React/Next.jsアプリのビルド成果物をS3+CloudFrontで配信
  3. APIのキャッシュ: 変更頻度の低いAPIレスポンスをエッジでキャッシュ
  4. 動画・画像の配信: メディアファイルの大容量配信を低コストで実現
  5. マルチリージョン構成: グローバル展開するサービスのレイテンシ改善

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認定ソリューションアーキテクト試験でも出題範囲であり、資格取得とスキルアップを同時に進められます。

関連記事:

この記事は役に立ちましたか?

SES案件をお探しですか?

SES記事をもっと読む →
🏗️

SES BASE 編集長

SES業界歴10年以上のメンバーが在籍する編集チーム。SES企業での営業・エンジニア経験、フリーランス独立経験を持つメンバーが、業界のリアルな情報をお届けします。

📊 業界データに基づく記事制作 🔍 IPA・経済産業省データ参照 💼 SES実務経験者が執筆・監修