このガイドは更新されていません。最新の情報と手順については、新しい Amazon S3 ユーザーガイドを参照してください。
Amazon CloudFront によるウェブサイトの高速化
Amazon CloudFront
CloudFront は、指定した期間にわたってコンテンツをエッジロケーションにキャッシュします。閲覧者が有効期限より長くキャッシュされていたコンテンツをリクエストすると、CloudFront はオリジンサーバーをチェックしてより新しいバージョンのコンテンツがあるかどうかを確認します。新しいバージョンが利用可能である場合、CloudFront は新しいバージョンをエッジロケーションにコピーします。元のコンテンツへの変更は、閲覧者がコンテンツをリクエストすると、エッジロケーションにレプリケートされます。
AWS CloudFormation テンプレートを使用したセットアップの自動化
ウェブサイトへの配信を行う CloudFront ディストリビューションを作成する安全な静的ウェブサイトを、AWS CloudFormation テンプレートを使用して設定する方法の詳細については、Amazon CloudFront 開発者ガイドの「安全な静的ウェブサイトの使用開始」を参照してください。
トピック
ステップ 1: CloudFront ディストリビューションを作成する
まず、CloudFront ディストリビューションを作成します。これにより、ウェブサイトは世界中のデータセンターから利用できるようになります。
Amazon S3 オリジンを使用してディストリビューションを作成するには
-
CloudFront コンソール (https://console.aws.amazon.com/cloudfront/
) を開きます。 -
[Create Distribution (ディストリビューションの作成)] を選択します。
-
[Select a delivery method for your content (コンテンツの配信方法の選択)] ページで、[ウェブ] の [今すぐ始める] を選択します。
-
[Create Distribution (ディストリビューションの作成)] ページで、[Origin Settings (オリジンの設定)] セクションの [Origin Domain Name (オリジンドメイン名)] に、バケットの Amazon S3 ウェブサイトエンドポイントを入力します (例:
example.com.s3-website.us-west-1.amazonaws.com
)。CloudFront により自動的に [Origin ID (オリジン ID)] が入力されます。
-
[Default Cache Behavior Settings (キャッシュ動作のデフォルト設定)] の値はデフォルトのままにしておきます。
[ビューワープロトコルポリシー] のデフォルト設定では、静的ウェブサイトに HTTPS を使用できます。これらの設定オプションの詳細については、Amazon CloudFront 開発者ガイドの「ウェブディストリビューションを作成または更新する場合に指定する値」を参照してください。
-
[Distribution Settings (ディストリビューションの設定)] で、以下の作業を行います。
-
[Price Class (価格クラス)] は [Use All Edge Locations (Best Performance) (すべてのエッジロケーションを使用する (最適なパフォーマンス))] に設定されたままにしておきます。
-
[Alternate Domain Names (CNAMEs) (代替ドメイン名 (CNAME))] をルートドメインと
www
サブドメインに設定します (例:example.com
およびwww.example.com
)。重要 このステップを実行する前に、代替ドメイン名を使用するための要件、特に有効な SSL/TLS 証明書の必要性を確認してください。
-
[SSL 証明書] で、[Custom SSL Certificate (example.com) (独自 SSL 証明書 (example.com))] を選択し、ドメイン名とサブドメイン名を対象とするカスタム証明書を選択します。
詳細については、Amazon CloudFront 開発者ガイドの「SSL 証明書」を参照してください。
-
[Default Root Object (デフォルトのルートオブジェクト)] に、インデックスドキュメントの名前を入力します (例:
index.html
)。ディストリビューションにアクセスするために使用される URL にファイル名が含まれていない場合、CloudFront ディストリビューションはインデックスドキュメントを返します。[Default Root Object (デフォルトのルートオブジェクト)] は、静的ウェブサイトのインデックスドキュメントの名前と正確に一致する必要があります。詳細については、「インデックスドキュメントの設定」を参照してください。
-
[ログ記録] を [On (オン)] に設定します。
-
[Bucket for Logs (ログ用のバケット)] で、作成したログ記録バケットを選択します。
ログ記録バケットの設定の詳細については、「(オプション) ウェブトラフィックのログ記録」を参照してください。
-
CloudFront ディストリビューションへのトラフィックによって生成されたログをフォルダに保存する場合は、[Log Prefix (ログのプレフィックス)] にフォルダ名を入力します。
-
他の設定はすべてデフォルト値のままにしておきます。
-
-
[Create Distribution (ディストリビューションの作成)] を選択します。
-
ディストリビューションのステータスを表示するには、コンソールでディストリビューションを見つけて、[ステータス] 列を確認します。
[
InProgress
] のステータスは、ディストリビューションがまだ完全にデプロイされていないことを示します。ディストリビューションがデプロイされたら、新しい CloudFront ドメイン名でコンテンツを参照できます。
-
CloudFront コンソールに表示される [Domain Name (ドメイン名)] の値を書き留めます (例:
dj4p1rv6mvubz.cloudfront.net
)。 -
CloudFront ディストリビューションが正常に動作していることを確認するには、ウェブブラウザでディストリビューションのドメイン名を入力します。
ウェブサイトが表示されている場合、CloudFront ディストリビューションは機能します。ウェブサイトに Amazon Route 53 で登録されたカスタムドメインがある場合は、次のステップでレコードセットを更新するために CloudFront ドメイン名が必要になります。
ステップ 2: ドメインとサブドメインのレコードセットを更新する
CloudFront ディストリビューションが正常に作成されたので、Route 53 でエイリアスレコードを更新して、新しい CloudFront ディストリビューションを指すようにします。
CloudFront ディストリビューションを指すようにエイリアスレコードを更新するには
-
Route 53 コンソール (https://console.aws.amazon.com/route53/
) を開きます。 -
[Hosted Zones (ホストゾーン)] ページで、サブドメイン用に作成したホストゾーンを選択します。
-
[Go to Record Sets (レコードセットに移動)] を選択します。
-
サブドメイン用に作成した A レコードを選択します (例:
www.example.com
)。 -
[Alias Target (エイリアスターゲット)] で、CloudFront ディストリビューションを選択します。
-
[Save Record Set (レコードセットの保存)] を選択します。
-
ルートドメインの A レコードを CloudFront ディストリビューションにリダイレクトするには、この手順を繰り返します。
レコードセットの更新は、2~48 時間以内に有効になります。
-
新しい A レコードが有効かどうかを確認するには、ウェブブラウザで、サブドメイン URL を入力します (例:
http://www.example.com
)。ブラウザがルートドメイン (例:
http://example.com
) にリダイレクトしなくなった場合、新しい A レコードが有効になっています。新しい A レコードが有効になると、新しい A レコードによって CloudFront ディストリビューションにルーティングされるトラフィックがルートドメインにリダイレクトされなくなります。http://example.com
またはhttp://www.example.com
を使用してサイトを参照する閲覧者は、最も近い CloudFront エッジロケーションにリダイレクトされるため、ダウンロード時間が短縮されます。ヒント ブラウザはリダイレクト設定をキャッシュできます。新しい A レコードの設定が有効になったと考えられるにもかかわらず、ブラウザによって
http://www.example.com
がまだhttp://example.com
にリダイレクトされる場合は、ブラウザアプリケーションを閉じてから再び開いてブラウザの履歴とキャッシュをクリアするか、異なるウェブブラウザを使用してみてください。
(オプション) ステップ 3: ログファイルを確認する
アクセスログにより、ウェブサイトを訪れたユーザーの数がわかります。また、Amazon EMR など他のサービスで分析できる貴重なビジネスデータも含まれています。
CloudFront ログは、CloudFront ディストリビューションを作成してログを有効にするときに選択したバケットとフォルダに保存されます。CloudFront は、対応するリクエストが行われると、24 時間以内にログバケットにログを書き込みます。
ウェブサイトのログファイルを表示するには
-
Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
ウェブサイトのログ記録バケットを選択します。
-
CloudFront ログフォルダを選択します。
-
CloudFront によって書き込まれた
.gzip
ファイルを開く前に、まずファイルをダウンロードします。学習のためだけにウェブサイトを作成した場合は、割り当てたリソースを削除して、課金を停止できます。これを行うには、「サンプルリソースのクリーンアップ」を参照してください。AWS リソースを削除すると、ウェブサイトは使用できなくなります。