近年、Webサイトやアプリケーションのパフォーマンスは、ユーザー体験とSEOの両面で重要視されています。特に、ページの表示速度は検索順位や直帰率に大きく影響するようになってきました。
そこで注目されているサービスがAmazon CloudFrontです。AWSが提供する、高速かつ安全なコンテンツ配信ネットワーク(CDN)サービスを指します。今回は、基本的な仕組みから導入手順、料金体系までを解説します。
目次 <Contents>
Amazon CloudFrontの概要と仕組み
最初に、Amazon CloudFrontの概要と仕組みについて解説します。
そもそもCDNとは
CDN(Content Delivery Network)とは、Webサイトや動画などのコンテンツを地理的に分散配置されたサーバー群で配信する仕組みのことです。
通常、Webサイトのデータは特定のサーバー(オリジンサーバー)から配信されます。しかし、ユーザーとの物理的な距離が遠いと通信遅延(レイテンシ)が発生しがちです。CDNはこれを解消するために、世界中に配置されたエッジサーバーを介して、ユーザーに最も近い地点からデータを配信します。
CloudFrontの特徴と配信フロー
Amazon CloudFrontは、AWSが運営するCDNサービスです。グローバルに展開された数百のエッジロケーションを通じて、高速なコンテンツ配信を実現します。
また、CloudFrontはS3やEC2、API GatewayなどのAWSサービスとシームレスに連携できる点が特徴です。HTTPS通信、署名付きURL、アクセス制御といった高度なセキュリティ機能を簡単に実現できます。実際の配信フローは次のとおりです。
- ユーザーがWebサイトにアクセス
- CloudFrontが最寄りのエッジロケーションからコンテンツを提供
- キャッシュが存在しない場合は、オリジン(例:S3)へリクエストを転送
- 取得したコンテンツをエッジにキャッシュして、次回以降は高速応答
このようにCloudFrontを活用すれば、ユーザー体験を向上させながら、オリジンサーバーへの負荷を大幅に軽減できます。
ユースケース
CloudFrontの主な活用事例は以下のとおりです。
- 静的Webサイト(S3上のHTML・CSS・画像)の配信
- 動画・音声ストリーミングの配信最適化
- APIレスポンスのキャッシュによる高速化
- サイト全体のHTTPS化とセキュリティ強化
- 大規模キャンペーンページのアクセス集中対策
Amazon CloudFrontの構成要素
Amazon CloudFrontを理解するためには、以下の構成要素を把握しておくことが重要です。
ディストリビューション
CloudFrontでは、配信設定の単位を「ディストリビューション」と呼びます。
これは、Amazon EC2のインスタンスのように、個別の画面(設定単位)ごとに割り当てられるCloudFrontの構成情報と考えると分かりやすいでしょう。たとえば、どのオリジン(配信元)からどのコンテンツを配信するか、どのキャッシュルールを適用するかなどを定義します。
オリジンサーバー
配信するコンテンツが格納されている「配信元」がオリジンサーバーです。
代表的な構成としてはAmazon S3がよく利用されますが、EC2や外部のWebサーバーをオリジンとして設定することも可能です。また、1つのディストリビューション内で複数のオリジンを定義し、URLパスごとに切り替えできます。
エッジロケーション
エッジロケーションは、世界中に配置されたCloudFrontのキャッシュサーバー群を指します。世界各地に設置されたAWSのデータセンター内にあるサーバーがこれに該当するのです。ユーザーからのリクエストは最寄りのエッジに自動的にルーティングされ、キャッシュ済みのコンテンツがあれば即座に応答します。これにより、グローバル規模での高速配信の実現が可能です。
Amazon CloudFrontの導入手順
実際に、Amazon CloudFrontを導入するまでの手順を解説します。
S3バケットの準備
まず、配信したいコンテンツを格納するS3バケットを作成します。S3の管理コンソールを開き、公開用のバケットを作成しましょう。

ここでは、S3バケットの詳細な作成方法は割愛しますが、バケット名が後の設定で必要になるため、作成した内容を控えておくようにしてください。

配信コンテンツのアップロード
次に、配信するコンテンツをS3にアップロードします。HTML、CSS、画像、動画など、静的コンテンツの配信から始めるのがおすすめです。

今回はサンプルとして画像ファイルをアップロードしました。
ディストリビューションの作成
コンテンツの格納が完了したら、Amazon CloudFrontでディストリビューションを作成します。
コンソールから「CloudFrontディストリビューションを作成」をクリックしてください。

必要な情報を入力します。最低限、名称を設定し、必要に応じて説明なども入力してください。

名称を設定した後は、具体的にCDN配信の設定情報を入力していきます。
今回はS3からコンテンツを配信するため、オリジンとしてS3バケットを指定しました。

続いて、セキュリティ設定としてAWS WAF(Web Application Firewall)の有効化も可能です。
今回はサンプル構成のため設定していませんが、Webアプリケーションなどセキュリティを重視する場合は導入をおすすめします。

すべての情報を入力し終えたら、「作成」をクリックしてディストリビューションを生成します。
ディストリビューションの設定
上記までの作業が完了すれば、CloudFrontを用いたコンテンツ配信が可能になります。ただし、この時点で割り当てられるドメインは「オリジンドメイン」と呼ばれ、CloudFrontが自動生成した一時的なドメインです。

このままでは、独自ドメインでコンテンツを配信できません。そのため、代替ドメイン名(CNAME)を設定する必要があります。コンソール上で「Add domain」をクリックしてください。

赤枠の部分に所有する独自ドメインを登録すれば設定完了です。

ドメイン管理にRoute 53を利用している場合は、DNS設定の反映もスムーズに実施できます。これにより、独自ドメインでコンテンツの配信が可能です。
Amazon CloudFrontの料金体系
Amazon CloudFrontの料金体系は少々複雑ですが、最低限、抑えておきたい部分に絞って解説します。
従量課金の仕組み
Amazon CloudFrontは利用した分だけ料金が発生する従量課金制で、無料枠が適用されます。
| 名称 | 処理内容 | 料金 |
| HTTP/HTTPSリクエスト | クライアントからCloudFrontへリクエストされた数に応じて発生 | HTTP 0.0090 USD/1万件HTTPS 0.0120 USD/1万件 |
| オリジンへのデータ転送 | オリジンへ転送されたデータ量に対して発生 | 0.060 USD/GB |
| インターネットへのデータ転送 | クライアントへインターネット経由で転送されるデータ量に対して発生 | エリアと月間の通信容量によって異なる(※) |
コスト削減のポイント
コスト削減を意識するなら、キャッシュの最適化やリクエスト数の削減が重要です。キャッシュ設定を調整してヒット率を高めたり、ブラウザキャッシュを活用したりすることで、オリジンへのアクセス回数を減らせます。また、画像やファイルの圧縮、Botによる大量アクセスの防止などの取り組みも効果的です。
Amazon CloudFrontでつまずきやすい落とし穴
Amazon CloudFrontでは、設定や運用でつまずきやすい落とし穴があります。思い通りにいかないときは、以下のポイントを確認してみましょう。
古いキャッシュが残るリスク
Amazon CloudFrontに限らず、CDNを利用すると古いキャッシュが残るリスクがあります。エッジロケーションに古いコンテンツがキャッシュされていることで、ユーザーへ古い情報が表示されてしまうのです。これはTTL設定が長すぎることに起因している場合があります。もし古いキャッシュが悪影響を及ぼしていると思われるなら、Invalidationを実行し、キャッシュを手動削除しましょう。
過度なキャッシュキー分割によるヒット率低下
Amazon CloudFrontではキャッシュキーを設定できます。これを事前に設計することで、オリジンサーバーへアクセスするか、エッジロケーションのキャッシュを参照するかを制御できる仕組みです。
ただ、キャッシュキーを細かく設定しすぎるとヒット率が下がり、CDNの良さを活かせない可能性があります。AWSでは細かくカスタマイズできますが、最適化に不安がある場合は、まずは標準設定のまま運用してみましょう。
HTTPS・証明書・CORSの設定漏れによるトラブル
証明書の反映などセキュリティ設定が漏れていると、混在コンテンツ(mixed content)エラーが発生する可能性があります。これはHTTPとHTTPSが混在している状況です。この状態では適切にコンテンツを配信できないため注意が必要です。HTTPS強制リダイレクトやオリジン設定は内容が正しいかをよく確認し、トラブルの発生を抑えられるようにしましょう。
まとめ
Amazon CloudFrontは、AWSのサービスを組み合わせて高速かつ安全にコンテンツ配信基盤を構築できるサービスです。CDNの設定は難しいイメージを持たれがちですが、解説したとおり、手順や注意点を把握すれば初心者でも短時間で導入できるでしょう。
まずはS3を利用して小規模なコンテンツ配信から試してみることがおすすめです。効果を確認できれば、機能を拡張しつつCDNのメリットを最大限に活かしていきましょう。


お客様が運営するクラウドの監視・保守・運用業務を、ジードが代行いたします。
お客様のご要望に沿って、適切なクラウド選定から設計・構築までを行います。
Azure上で、AI + 機械学習、分析、ブロックチェーン、IoTを開発します。