Amazon CloudFront

Amazon CloudFront は AWS が提供するコンテンツデリバリーネットワーク(CDN)サービスです。世界中のエッジロケーションからコンテンツをキャッシュ配信することで、ユーザーへの低遅延な配信を実現します。

概要

CDN(Content Delivery Network)とは、世界各地に分散したサーバーにコンテンツのコピー(キャッシュ)を置き、ユーザーから最も近いサーバーからコンテンツを配信する仕組みです。東京のユーザーが米国のサーバーに直接アクセスするよりも、東京のエッジロケーションからキャッシュを受け取る方がはるかに高速です。

CloudFront は AWS の グローバルインフラストラクチャ として提供される 400 以上のエッジロケーションを活用して動作します。コンテンツの種類を問わず、HTML・CSS・画像・動画・API レスポンスなどを高速に配信できます。

CP試験で押さえるポイント

キャッシュの仕組み

ユーザーがコンテンツをリクエストすると、CloudFront はまず最寄りのエッジロケーションにキャッシュがあるかを確認します。キャッシュが存在する場合(キャッシュヒット)はエッジロケーションから即座に返します。キャッシュがない場合(キャッシュミス)はオリジン(元サーバー)からコンテンツを取得してエッジにキャッシュしたうえでユーザーに返します。

キャッシュには有効期限(TTL: Time To Live)を設定でき、コンテンツを更新した場合はキャッシュを無効化(インバリデーション)することもできます。

定番のアーキテクチャ構成

CP 試験でよく問われる CloudFront の定番構成を確認しましょう。

オリジンユースケース
Amazon S3 静的 Web サイト・画像・動画ファイルの配信。S3 を直接公開しなくても CloudFront 経由でセキュアに配信できる
ALB(Application Load Balancer) 動的コンテンツを提供するアプリケーションサーバーの手前に置いてグローバル配信を高速化する
EC2 インスタンス Web サーバーを直接オリジンに指定する構成
カスタムオリジン(HTTP サーバー) AWS 外部のオンプレミスサーバーも指定可能

S3 + CloudFront の組み合わせは「静的 Web サイトのグローバル配信」としてCP試験でも頻出の構成です。S3 バケットを直接公開する代わりに CloudFront 経由で配信することで、セキュリティ向上・高速化・コスト削減を同時に達成できます。

関連サービスとの違い・使い分け

AWS Shield との連携: CloudFront は AWS Shield(DDoS 保護サービス)と統合されています。すべての CloudFront ディストリビューションには Shield Standard が自動適用され、一般的な DDoS 攻撃から保護されます。より高度な保護が必要な場合は Shield Advanced を有効化できます。

AWS Global Accelerator との違い: CloudFront はコンテンツのキャッシュ配信を主な目的とします。一方、Global Accelerator はキャッシュを行わず、AWS のグローバルネットワーク経由でトラフィックをルーティングして低レイテンシーを実現するサービスです。主に TCP/UDP ベースのアプリケーションや IP アドレスの固定が必要な場合に適しています(その他のネットワークサービスも参照)。

Route 53 との連携: CloudFront ディストリビューションのドメインを Route 53 でカスタムドメインにマッピングすることで、独自ドメインでの CDN 配信が実現できます。

確認問題

付録:公式ドキュメント・Black Belt 動画

さらに深く学びたい方は、AWS公式の以下のリソースを参照してください(いずれも外部サイトが開きます)。

公式ドキュメント

AWS Black Belt Online Seminar(動画・解説資料)