Amazon CloudFront の詳細構築ガイド

この記事はで読むことができます。

このガイドでは、Amazon CloudFrontディストリビューションの設定方法を段階的に説明します。AWSマネジメントコンソールとAWS CLIの両方の方法を提供します。

1. 前提条件

  • AWSアカウントを持っていること
  • 配信したいコンテンツ(S3バケットやEC2インスタンスなど)が準備されていること

2. CloudFrontディストリビューションの作成

2.1 AWSマネジメントコンソールを使用する方法

  1. AWSマネジメントコンソールにログインし、CloudFrontサービスに移動します。
  2. 「ディストリビューションを作成」をクリックします。
  3. オリジンの設定:
  • オリジンドメイン: S3バケットまたはカスタムオリジンを選択
  • オリジンパス: 必要に応じて指定(例: /images)
  • オリジンアクセス: 適切なアクセス方法を選択
  1. デフォルトのキャッシュ動作の設定:
  • ビューワープロトコルポリシー: Redirect HTTP to HTTPS を推奨
  • 許可されるHTTPメソッド: 必要なメソッドを選択
  • キャッシュキーと生成元リクエスト: 適切な設定を選択
  1. 追加設定:
  • WAF: 必要に応じてWAFウェブACLを選択
  • 代替ドメイン名(CNAME): カスタムドメインがある場合は指定
  • SSL証明書: カスタムSSL証明書または ACM 証明書を選択
  1. デフォルト root オブジェクト: インデックスファイル名を指定(例: index.html)
  2. 「ディストリビューションを作成」をクリックします。

2.2 AWS CLIを使用する方法

ディストリビューション設定のJSONファイル(dist-config.json)を作成します。

json

次のAWS CLIコマンドを実行してディストリビューションを作成します。

bash

3. カスタムドメインの設定(オプション)

  1. Route 53またはお使いのDNSプロバイダーで、CNAMEレコードを作成します。
  2. SSL証明書を設定:
  • ACM(AWS Certificate Manager)を使用して証明書を発行
  • CloudFrontディストリビューションの設定で証明書を選択

4. キャッシュ設定の最適化

4.1 オブジェクトの有効期限(TTL)を設定

最小TTL、デフォルトTTL、最大TTLを適切に設定します。

キャッシュキーの設定

クエリ文字列、Cookieの転送設定を最適化します。

5. セキュリティ設定

5.1 署名付きURL/Cookieの設定(プライベートコンテンツの場合)

キーペアを作成し、信頼されたサイナーを設定します。

5.2 WAF(Web Application Firewall)の設定

CloudFrontコンソールからWAFを有効化し、ルールを設定します。

5.3 地理的制限の設定(必要な場合)

特定の国や地域からのアクセスを制限

6. パフォーマンス最適化

6.1 Gzip圧縮の有効化

ディストリビューション設定で「圧縮オブジェクト」を有効化します。

6.2 オリジンフェイルオーバーの設定

セカンダリオリジンを設定し、フェイルオーバー条件を定義します。

7. モニタリングとログ設定

7.1 CloudWatchメトリクスの有効化

追加のメトリクスを有効にしてパフォーマンスを監視します。

7.2 アクセスログの設定

S3バケットを指定してアクセスログを保存します。

8. 特定のユースケースの設定例

8.1 静的ウェブサイトのホスティング

  1. S3バケットをオリジンとして設定
  2. デフォルトルートオブジェクトを index.html に設定
  3. エラーページをカスタマイズ

8.2 動画ストリーミング

  1. オリジンをストリーミングサーバー(例:MediaPackage)に設定
  2. 適切なキャッシュ動作を設定(例:HLSの場合、特定のファイル拡張子に対するTTLを調整)

8.3 APIの配信

  1. APIゲートウェイまたはALBをオリジンとして設定
  2. キャッシュキーにクエリ文字列とヘッダーを含める
  3. オプションリクエストを許可

9. テストと検証

  1. CloudFrontのドメイン名を使用してコンテンツにアクセス
  2. ブラウザの開発者ツールでレスポンスヘッダーを確認(X-Cache: Hit from cloudfront)
  3. 異なる地域からのアクセスをテスト

まとめ

Amazon CloudFrontの構築は、基本的な設定から始まり、ユースケースに応じた最適化まで多岐にわたります。このガイドで説明した手順とベストプラクティスを参考に、ご自身のニーズに合わせたCloudFrontディストリビューションを構築してください。

定期的なパフォーマンス監視と設定の見直しを行い、常に最適な状態を維持することが重要です。また、AWSの新機能や更新情報をチェックし、最新のベストプラクティスを取り入れていくことをおすすめします。