この記事はで読むことができます。
このガイドでは、Amazon CloudFrontの実践的な使用方法を、基本的な設定から高度な構成まで段階的に解説します。
AWS構築にお困りの企業様は
お気軽にご相談ください。
1. CloudFrontディストリビューションの作成
1.1 AWSマネジメントコンソールを使用する方法
- AWSマネジメントコンソールにログインし、CloudFrontサービスに移動します。
- 「ディストリビューションを作成」をクリックします。
- オリジンの設定を行います。以下は主な設定項目です。
- オリジンドメイン:S3バケットまたはカスタムオリジンを選択
- オリジンパス:必要に応じて指定(例:/images)
- オリジンアクセス:適切なアクセス方法を選択
- デフォルトのキャッシュ動作を設定します。主な項目は次の通りです。
- ビューワープロトコルポリシー:Redirect HTTP to HTTPSを推奨
- 許可されるHTTPメソッド:必要なメソッドを選択
- キャッシュキーと生成元リクエスト:適切な設定を選択
- 追加設定を行います。以下の項目に注意してください。
- WAF:必要に応じてWAFウェブACLを選択
- 代替ドメイン名(CNAME):カスタムドメインがある場合は指定
- SSL証明書:カスタムSSL証明書またはACM証明書を選択
- デフォルトrootオブジェクトを指定します(例:index.html)。
- 「ディストリビューションを作成」をクリックします。
1.2 AWS CLIを使用する方法
ディストリビューション設定のJSONファイル(dist-config.json
)を作成します。以下は設定例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | { "CallerReference": "cli-example-1", "DefaultRootObject": "index.html", "Origins": { "Quantity": 1, "Items": [ { "Id": "S3-my-bucket", "DomainName": "my-bucket.s3.amazonaws.com", "S3OriginConfig": { "OriginAccessIdentity": "" } } ] }, "DefaultCacheBehavior": { "TargetOriginId": "S3-my-bucket", "ViewerProtocolPolicy": "redirect-to-https", "MinTTL": 0, "AllowedMethods": { "Quantity": 2, "Items": ["HEAD", "GET"] }, "ForwardedValues": { "QueryString": false, "Cookies": { "Forward": "none" } } }, "Enabled": true } |
以下のAWS CLIコマンドを実行してディストリビューションを作成します。
1 | aws cloudfront create-distribution --distribution-config file://dist-config.json |
2. カスタムドメインの設定(オプション)
- Route 53またはお使いのDNSプロバイダーで、CNAMEレコードを作成します。
- SSL証明書を設定します。手順は以下の通りです。
- ACM(AWS Certificate Manager)を使用して証明書を発行
- CloudFrontディストリビューションの設定で証明書を選択
3. キャッシュ設定の最適化
効果的なキャッシュ設定は、パフォーマンスとコスト最適化に重要です。以下の点に注意してください。
3.1 オブジェクトの有効期限(TTL)を適切に設定
最小TTL、デフォルトTTL、最大TTLを適切に設定します。
3.2 キャッシュキーの設定
クエリ文字列、Cookieの転送設定を最適化します。
4. セキュリティ設定
セキュリティは常に重要な考慮事項です。以下の設定を検討してください。
4.1 署名付きURL/Cookieの設定(プライベートコンテンツの場合)
キーペアを作成し、信頼されたサイナーを設定します。
4.2 WAF(Web Application Firewall)の設定
CloudFrontコンソールからWAFを有効化し、ルールを設定します。
4.3 地理的制限の設定(必要な場合)
特定の国や地域からのアクセスを制限します。
5. パフォーマンス最適化
パフォーマンスを最大化するために、以下の設定を考慮してください。
5.1 Gzip圧縮の有効化
ディストリビューション設定で「圧縮オブジェクト」を有効化します。
オリジンフェイルオーバーの設定
セカンダリオリジンを設定し、フェイルオーバー条件を定義します。
6. モニタリングとログ設定
効果的なモニタリングとログ分析は、パフォーマンスとセキュリティの維持に不可欠です。
6.1 CloudWatchメトリクスの有効化
追加のメトリクスを有効にしてパフォーマンスを監視します。
6.2 アクセスログの設定
S3バケットを指定してアクセスログを保存します。
7. 特定のユースケースの設定例
7.1 静的ウェブサイトのホスティング
- S3バケットをオリジンとして設定します。
- デフォルトルートオブジェクトを
index.html
に設定します。 - エラーページをカスタマイズします。
7.2 動画ストリーミング
- オリジンをストリーミングサーバー(例:MediaPackage)に設定します。
- 適切なキャッシュ動作を設定します。例えば、HLSの場合、特定のファイル拡張子に対するTTLを調整します。
7.3 APIの配信
- APIゲートウェイまたはALBをオリジンとして設定します。
- キャッシュキーにクエリ文字列とヘッダーを含めます。
- オプションリクエストを許可します。
8. テストと検証
設定完了後は、適切にテストと検証を行うことが重要です。
- CloudFrontのドメイン名を使用してコンテンツにアクセスします。
- ブラウザの開発者ツールでレスポンスヘッダーを確認します(X-Cache: Hit from cloudfrontなど)。
- 異なる地域からのアクセスをテストします。
まとめ
Amazon CloudFrontの構築は、基本的な設定から始まり、ユースケースに応じた最適化まで多岐にわたります。このガイドで説明した手順とベストプラクティスを参考に、ご自身のニーズに合わせたCloudFrontディストリビューションを構築してください。
定期的なパフォーマンス監視と設定の見直しを行い、常に最適な状態を維持することが重要です。また、AWSの新機能や更新情報をチェックし、最新のベストプラクティスを取り入れていくことをおすすめします。
AWS構築にお困りの企業様は
お気軽にご相談ください。