

# チュートリアル: Route 53 に登録されたカスタムドメインを使用した静的ウェブサイトの設定
カスタムドメインを使用した静的ウェブサイトの設定

Amazon S3 で静的ウェブサイトをホスティングするとします。ドメインは Amazon Route 53 で登録済みであり (例: `example.com`)、`http://www.example.com` と `http://example.com` へのリクエストに対しては Amazon S3 からコンテンツを配信するようにします。このチュートリアルでは、静的ウェブサイトをホスティングし、Route 53 に登録されているカスタムドメイン名を持つウェブサイトのリダイレクトを Amazon S3 で作成する方法について説明します。Amazon S3 でホストしようとしている既存のウェブサイトを使ってもよいですし、このチュートリアルで一から始めることもできます。

チュートリアルが完了したら、Amazon CloudFront を使ってウェブサイトのパフォーマンスを向上させることも可能です。詳細については、「[Amazon CloudFront によるウェブサイトの高速化](website-hosting-cloudfront-walkthrough.md)」を参照してください。

**注記**  
Amazon S3 ウェブサイトエンドポイントは HTTPS またはアクセスポイントをサポートしていません。HTTPS を使用する場合は、Amazon CloudFront を使用して Amazon S3 でホストされている静的ウェブサイトを提供できます。  
CloudFront と Amazon S3 でコンテンツを安全にホストする方法のチュートリアルについては、「[チュートリアル: Amazon S3、Amazon CloudFront、Amazon Route 53 を使用したオンデマンドストリーミング動画のホスティング。](tutorial-s3-cloudfront-route53-video-streaming.md)」を参照してください。詳細については、「[CloudFront を使用して、Amazon S3 でホストされた静的ウェブサイトを公開するにはどうすればよいですか?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/)」と「[ビューワーと CloudFrontとの通信で HTTPS を必須にする](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)」を参照してください。

**CloudFormation テンプレートを使用した静的ウェブサイトの設定の自動化**  
CloudFormation テンプレートを使用すると、静的ウェブサイトの設定を自動化することができます。CloudFormation テンプレートによって安全な静的ウェブサイトをホストするために必要なコンポーネントが設定されるため、コンポーネントの設定よりもウェブサイトのコンテンツに注力できるようになります。

CloudFormation テンプレートには、以下のコンポーネントが含まれています。
+ Amazon S3 - 静的ウェブサイトをホストする Amazon S3 バケットを作成します。
+ CloudFront - 静的ウェブサイトを高速化するために、CloudFront ディストリビューションを作成します。
+ Lambda@Edge ‐ [Lambda@Edge](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/lambda-at-the-edge.html) を使用して、サーバーのすべてのレスポンスにセキュリティヘッダーを追加します。セキュリティヘッダーは、ウェブサーバーレスポンス内のヘッダーのグループであり、追加のセキュリティ対策を講じるようにウェブブラウザに指示します。詳細については、ブログ記事「[Adding HTTP security headers using Lambda@Edge and Amazon CloudFront](https://aws.amazon.com/blogs/networking-and-content-delivery/adding-http-security-headers-using-lambdaedge-and-amazon-cloudfront/)」を参照してください。

この CloudFormation テンプレートは、ダウンロードして使用することができます。詳細および手順については、*Amazon CloudFront デベロッパーガイド*の「[安全な静的ウェブサイトの使用開始](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)」を参照してください。

**Topics**
+ [

## 開始する前に
](#root-domain-walkthrough-before-you-begin)
+ [

## ステップ 1: カスタムドメインを Route 53 に登録する
](#website-hosting-custom-domain-walkthrough-domain-registry)
+ [

## ステップ 2: バケットを 2 つ作成する
](#root-domain-walkthrough-create-buckets)
+ [

## ステップ 3: ウェブサイトホスティング用にルートドメインのバケットを設定する
](#root-domain-walkthrough-configure-bucket-aswebsite)
+ [

## ステップ 4: ウェブサイトのリダイレクト用にサブドメインのバケットを設定する
](#root-domain-walkthrough-configure-redirect)
+ [

## ステップ 5: ウェブサイトトラフィックのログ記録を設定する
](#root-domain-walkthrough-configure-logging)
+ [

## ステップ 6: インデックスとウェブサイトのコンテンツをアップロードする
](#upload-website-content)
+ [

## ステップ 7: エラードキュメントのアップロード
](#configure-error-document-root-domain)
+ [

## ステップ 8: S3 のパブリックアクセスのブロック設定を編集する
](#root-domain-walkthrough-configure-bucket-permissions)
+ [

## ステップ 9: バケットポリシーをアタッチする
](#add-bucket-policy-root-domain)
+ [

## ステップ 10: ドメインエンドポイントをテストする
](#root-domain-walkthrough-test-website)
+ [

## ステップ 11: ドメインとサブドメインのエイリアスレコードを追加する
](#root-domain-walkthrough-add-record-to-hostedzone)
+ [

## ステップ 12: ウェブサイトをテストする
](#root-domain-testing)
+ [

# Amazon CloudFront によるウェブサイトの高速化
](website-hosting-cloudfront-walkthrough.md)
+ [

# サンプルリソースのクリーンアップ
](getting-started-cleanup.md)

## 開始する前に


この例で実行するステップでは、以下のサービスを使用します。

**Amazon Route 53** - Route 53 では、ドメインを登録し、ドメインのインターネットトラフィックをルーティングする先を定義します。以下の例では、Route 53 エイリアスレコードを作成して、ドメイン (`example.com`) とサブドメイン (`www.example.com`) のトラフィックを HTML ファイルが含まれている Amazon S3 バケットにルーティングする方法を示します。

**Amazon S3** - Amazon S3 を使用して、バケットを作成したり、サンプルウェブサイトページをアップロードしたり、全員がコンテンツを表示できるようアクセス許可を設定したりします。また、ウェブサイトホスティング用にバケットを設定することもできます。

## ステップ 1: カスタムドメインを Route 53 に登録する


登録済みドメイン名 (`example.com` など) がない場合は、Route 53 でドメイン名を登録します。詳細については、*Amazon Route 53 デベロッパーガイド*の「[新しいドメインの登録](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)」を参照してください。ドメイン名を登録したら、Amazon S3 バケットを作成してウェブサイトのホスティング用に設定できます。

## ステップ 2: バケットを 2 つ作成する


ルートドメインとサブドメインからの両方のリクエストをサポートするには、2 つのバケットを作成します。
+ **ドメインバケット** ‐ `example.com`
+ **サブドメインバケット** ‐ `www.example.com` 

これらのバケット名はドメイン名と厳密に一致している必要があります。この例では、ドメイン名は `example.com` です。コンテンツをルートドメインバケット (`example.com`) からホストします。サブドメインバケットのリダイレクトリクエストを作成します (`www.example.com`)。他のユーザーがブラウザに `www.example.com` を入力すると、`example.com` にリダイレクトされ、その名前で Amazon S3 バケットにホストされているコンテンツが表示されます。

**バケットをウェブサイトホスティング用に作成するには**

以下の手順では、ウェブサイトホスティングにバケットを作成する方法の概要を説明します。バケットの作成に関するステップバイステップの方法は、「[汎用バケットの作成](create-bucket-overview.md)」を参照してください。

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール ([https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)) を開きます。

1. ルートドメインのバケットを作成します。

   1. ページ上部にあるナビゲーションバーで、現在表示されている AWS リージョン の名前をクリックします。次に、バケットを作成するリージョンを選択します。
**注記**  
レイテンシーとコストを最小化するため、さらに規制条件に対応するために、最寄りのリージョンを選択します。明示的に別のリージョンに移動する場合を除き、特定のリージョンに保管されたオブジェクトは、そのリージョンから移動されることはありません。Amazon S3 AWS リージョン のリストについては、**「Amazon Web Services 全般のリファレンス」の「[AWS のサービス エンドポイント](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)」を参照してください。

   1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

   1. [**Create bucket (バケットの作成)**] を選択します。**[バケットの作成]** ページが開きます。

   1. [**バケット名**] (**example.com** など) を入力します。

   1. バケットを作成するリージョンを選択します。

      レイテンシーとコストを最小限に抑えるため、または規制要件に対処するために、最寄りのリージョンを選択します。選択したリージョンによって、Amazon S3 ウェブサイトエンドポイントが決まります。詳細については、「[ウェブサイトエンドポイント](WebsiteEndpoints.md)」を参照してください。

   1. デフォルト設定をそのまま使用してバケットを作成するには、[**作成**] を選択します。

1. サブドメインのバケットを作成します。

   1. [**Create bucket**] (バケットの作成) をクリックします。

   1. [**バケット名**] (**www.example.com** など) を入力します。

   1. バケットを作成するリージョンを選択します。

      レイテンシーとコストを最小限に抑えるため、または規制要件に対処するために、最寄りのリージョンを選択します。選択したリージョンによって、Amazon S3 ウェブサイトエンドポイントが決まります。詳細については、「[ウェブサイトエンドポイント](WebsiteEndpoints.md)」を参照してください。

   1. デフォルト設定をそのまま使用してバケットを作成するには、[**作成**] を選択します。

次のステップでは、ウェブサイトホスティング用に `example.com` を設定します。

## ステップ 3: ウェブサイトホスティング用にルートドメインのバケットを設定する
ステップ 3: ルートドメインバケットを設定する

このステップでは、ルートドメインのバケット (`example.com`) をウェブサイトとして設定します。このバケットには、ウェブサイトのコンテンツが含まれます。バケットをウェブサイトホスティング用に設定すると、そのウェブサイトには [ウェブサイトエンドポイント](WebsiteEndpoints.md) を使用してアクセスできるようになります。

**静的ウェブサイトホスティングを有効にするには**

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

1. バケットリストで、静的ウェブサイトホスティングを有効にするバケットの名前を選択します。

1. **[プロパティ]** を選択します。

1. [**静的ウェブサイトホスティング**] で [**編集**] を選択します。

1. [**このバケットを使用してウェブサイトをホストする**] を選択します。

1. [**静的ウェブサイトホスティング**] で [**有効化**] を選択します。

1. **[インデックスドキュメント]** に、インデックスドキュメントのファイル名 (通常は `index.html`) を入力します。

   インデックスドキュメント名の大文字と小文字は区別されます。この名前は、S3 バケットにアップロードする HTML インデックスドキュメントのファイル名と正確に一致する必要があります。バケットをウェブサイトホスティング用に設定するときは、インデックスドキュメントを指定する必要があります。Amazon S3 からこのインデックスドキュメントが返されるのは、ルートドメインまたはサブフォルダに対するリクエストが行われたときです。詳細については、「[インデックスドキュメントの設定](IndexDocumentSupport.md)」を参照してください。

1. 4XX クラスエラーに関する独自のカスタムエラードキュメントを指定する場合は、[**エラードキュメント**] にカスタムエラードキュメントのファイル名を入力します。

   エラードキュメント名の大文字と小文字は区別されます。この名前は、S3 バケットにアップロードする HTML エラードキュメントのファイル名と正確に一致する必要があります。カスタムエラードキュメントを指定しない場合、エラーが発生すると、Amazon S3 からデフォルトの HTML エラードキュメントが返されます。詳細については、「[カスタムエラードキュメントの設定](CustomErrorDocSupport.md)」を参照してください。

1. (オプション) 高度なリダイレクトツールを指定する場合は、**[Rredirection rules]** (リダイレクトルール) に、JSON を入力してルールを記述します。

   例えば、条件に応じてリクエストのルーティング先を変えることができます。この条件として使用できるのは、リクエストの中の特定のオブジェクトキー名またはプレフィックスです。詳細については、「[高度な条件付きリダイレクトを使用するようにリダイレクトルールを設定する](how-to-page-redirect.md#advanced-conditional-redirects)」を参照してください。

1. [**Save changes**] (変更の保存) をクリックします。

   Amazon S3 では、バケットの静的ウェブサイトホスティングを有効にします。ページの下部の [**静的ウェブサイトホスティング**] の下に、バケットのウェブサイトエンドポイントが表示されます。

1. [**静的 ウェブサイトホスティング**] の下の**エンドポイント**を書き留めます。

   [**Endpoint (エンドポイント)**] は、バケットの Amazon S3 ウェブサイトエンドポイントです。バケットを静的ウェブサイトとして設定すると、このエンドポイントを使用してウェブサイトをテストできます。

[パブリックアクセスのブロック設定を編集し](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-configure-bucket-permissions)、パブリック読み取りアクセスを許可する[バケットポリシーを追加](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#add-bucket-policy-root-domain)したら、ウェブサイトエンドポイントを使用してウェブサイトにアクセスできます。

次のステップで、リクエストをドメイン (`www.example.com`) にリダイレクトするように、サブドメイン (`example.com`) を設定します。

## ステップ 4: ウェブサイトのリダイレクト用にサブドメインのバケットを設定する
ステップ 4: リダイレクト用にサブドメインバケットを設定する

ウェブサイトホスティング用にルートドメインのバケットを設定したら、このドメインにすべてのリクエストをリダイレクトするように、サブドメインのバケットを設定できます。この例では `www.example.com` のすべてのリクエストが `example.com` にリダイレクトされます。

**リダイレクトリクエストを設定するには**

1. Amazon S3 コンソールの **[汎用バケット]** リストで、サブドメインのバケット名 (この例では `www.example.com`) を選択します。

1. **[プロパティ]** を選択します。

1. [**静的ウェブサイトホスティング**] で [**編集**] を選択します。

1. [**Redirect requests for an object (オブジェクトのリクエストをリダイレクト)**] を選択します。

1. [**Target bucket (ターゲットバケット)**] ボックスに、ルートドメイン (**example.com** など) を入力します。

1. [**Protocol (プロトコル)**] で、[**http**] を選択します。

1. [**Save changes**] (変更の保存) をクリックします。

## ステップ 5: ウェブサイトトラフィックのログ記録を設定する
ステップ 5: ログ記録を設定する

ウェブサイトにアクセスする閲覧者の数を追跡するには、オプションでルートドメインのバケットのログ記録を有効にできます。詳細については、「[サーバーアクセスログによるリクエストのログ記録](ServerLogs.md)」を参照してください。Amazon CloudFront を使用してウェブサイトを高速化する場合は、CloudFront のログ記録を使用することもできます。

**ルートドメインバケット用のサーバーアクセスのログ記録を有効にするには**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. 静的ウェブサイトとして設定しているバケットを作成したのと同じリージョンで、ログ記録用のバケットを作成します (例: `logs.example.com`)。

1. サーバアクセスのログを記録するログファイル用のフォルダを作成します (例: `logs`)。

1. (オプション) CloudFront を使用してウェブサイトのパフォーマンスを向上させる場合は、CloudFront ログファイル用のフォルダを作成します (例: `cdn`)。
**重要**  
ディストリビューションを作成または更新して CloudFront のログを有効にすると、CloudFront はバケットのアクセスコントロールリスト (ACL) を更新して、バケットにログを書き込む `awslogsdelivery` アクセス許可を `FULL_CONTROL` アカウントに付与します。詳細については、**「Amazon CloudFront デベロッパーガイド」の「[標準ログ記録の設定とログファイルへのアクセスに必要なアクセス許可](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)」を参照してください。ログを保存するバケットが S3 オブジェクト所有権のバケット所有者の強制設定を使用して ACL を無効にすると、CloudFront はバケットにログを書き込むことができません。詳細については、「[オブジェクトの所有権の制御とバケットの ACL の無効化。](about-object-ownership.md)」を参照してください。

1. [**Bucket (バケット)**] リストで、ルートドメインのバケットを選択します。

1. [**プロパティ**] を選択します。

1. [**Server access logging (サーバーアクセスのログ記録)**] で、[**Edit (編集)**] を選択します。

1. [**Enable**] を選択します。

1. [**Target bucket (ターゲットバケット)**] で、サーバーアクセスログのバケットとフォルダの宛先を選択します。
   + フォルダとバケットの場所を参照します。

     1. [**Browse S3(S3 の参照)**] を選択します。

     1. バケット名を選択し、ログフォルダを選択します。

     1. [**Choose path (パスの選択)**] を選択します。
   + S3 バケットパスを入力します (例: `s3://logs.example.com/logs/`)。

1. [**Save changes**] (変更の保存) をクリックします。

   ログバケットで、ログにアクセスできるようになりました。Amazon S3 は 2 時間おきにログバケットにウェブサイトアクセスログを書き込みます。

## ステップ 6: インデックスとウェブサイトのコンテンツをアップロードする


このステップでは、インデックスドキュメントとオプションのウェブサイトコンテンツをルートドメインのバケットにアップロードします。

バケットに対して静的ウェブサイトホスティングを有効にする場合は、インデックスドキュメントの名前 (**index.html** など) を入力します。バケットに対して静的ウェブサイトホスティングを有効にした後、インデックスドキュメント名を含む HTML ファイルをバケットにアップロードします。

**インデックスドキュメントを設定するには**

1. `index.html` ファイルを作成します。

   `index.html` ファイルがない場合は、以下の HTML を使用して作成できます。

   ```
   <html xmlns="http://www.w3.org/1999/xhtml" >
   <head>
       <title>My Website Home Page</title>
   </head>
   <body>
     <h1>Welcome to my website</h1>
     <p>Now hosted on Amazon S3!</p>
   </body>
   </html>
   ```

1. インデックスファイルをローカルに保存します。

   インデックスドキュメントファイル名は、[**静的ウェブサイトホスティング**] ダイアログボックスで入力したインデックスドキュメント名と正確に一致する必要があります。インデックスドキュメント名では、大文字と小文字が区別されます。例えば、**[静的ウェブサイトホスティング]** ダイアログボックスの **[インデックスドキュメント]** 名に「`index.html`」と入力する場合、インデックスドキュメントファイル名も `Index.html` ではなく `index.html` である必要があります。

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

1. バケットリストで、静的ウェブサイトホスティングに使用するバケットの名前を選択します。

1. バケットに対して静的ウェブサイトホスティングを有効にし、インデックスドキュメントの正確な名前 (`index.html` など) を入力します。詳細については、「[ウェブサイトのホスティングの有効化](EnableWebsiteHosting.md)」を参照してください。

   静的ウェブサイトホスティングを有効にしたら、ステップ 6 に進みます。

1. インデックスドキュメントをバケットにアップロードするには、以下のいずれかを実行します。
   + インデックスファイルをコンソールバケットのリストにドラッグアンドドロップします。
   + [**Upload**] を選択し、プロンプトに従ってインデックスファイルを選択してアップロードします。

   手順については、「[オブジェクトのアップロード](upload-objects.md)」を参照してください。

1. (オプション) 他のウェブサイトコンテンツをバケットにアップロードします。

## ステップ 7: エラードキュメントのアップロード


バケットに対して静的ウェブサイトホスティングを有効にするときは、エラードキュメントの名前 (例: **404.html**) を入力します。バケットに対して静的ウェブサイトホスティングを有効にしたら、エラードキュメント名を含む HTML ファイルをバケットにアップロードします。

**エラードキュメントを設定するには**

1. エラードキュメント (例: `404.html`) を作成します。

1. エラードキュメントのファイルをローカルに保存します。

   エラードキュメントの名前は、大文字と小文字を区別し、静的ウェブサイトホスティングを有効にする際に入力した名前と厳密に一致している必要があります。たとえば、[**Static website hosting**] (静的ウェブサイトホスティング) ダイアログボックスの [**Error document**] (エラードキュメント) 名に `404.html` と入力する場合、エラードキュメントのファイル名も `404.html` である必要があります。

1. AWS マネジメントコンソール にサインインし、Amazon S3 コンソール [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) を開きます。

1. 左のナビゲーションペインで、**[汎用バケット]** を選択します。

1. バケットリストで、静的ウェブサイトホスティングに使用するバケットの名前を選択します。

1. バケットに対して静的ウェブサイトホスティングを有効にし、エラードキュメントの正確な名前 (例: `404.html`) を入力します。詳細については、「[ウェブサイトのホスティングの有効化](EnableWebsiteHosting.md)」および「[カスタムエラードキュメントの設定](CustomErrorDocSupport.md)」を参照してください。

   静的ウェブサイトホスティングを有効にしたら、ステップ 6 に進みます。

1. エラードキュメントをバケットにアップロードするには、以下のいずれかを実行します。
   + エラードキュメントファイルをコンソールバケットのリストにドラッグアンドドロップします。
   + [**Upload**] を選択し、プロンプトに従ってインデックスファイルを選択してアップロードします。

   手順については、「[オブジェクトのアップロード](upload-objects.md)」を参照してください。

## ステップ 8: S3 のパブリックアクセスのブロック設定を編集する
ステップ 8: パブリックアクセスブロックを編集する

この例では、ドメインバケット (`example.com`) のパブリックアクセスブロック設定を編集して、パブリックアクセスを許可します。

デフォルトでは、Amazon S3 はアカウントとバケットへのパブリックアクセスをブロックします。バケットを使用して静的ウェブサイトをホストする場合は、以下のステップを使用して、パブリックアクセスブロック設定を編集できます。

**警告**  
このステップを完了する前に「[Amazon S3 ストレージへのパブリックアクセスのブロック](access-control-block-public-access.md)」を読んで、パブリックアクセスを許可することに伴うリスクを理解し、了承してください。パブリックアクセスブロック設定をオフにしてバケットをパブリックにすると、インターネット上のだれでもバケットにアクセスできるようになります。バケットへのすべてのパブリックアクセスをブロックすることをお勧めします。

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. 静的ウェブサイトとして設定されたバケットの名前を選択します。

1. [**Permissions (アクセス許可)**] を選択します。

1. **[ブロックパブリックアクセス (バケット設定)]** で **[編集]** を選択します。

1. [**Block *all* public access (すべてのパブリックアクセスをブロックする)**] をクリアし、[**Save changes (変更の保存)**] を選択します。  
![\[バケットのブロックパブリックアクセス設定を示す Amazon S3 コンソール。\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/images/edit-public-access-clear.png)

   Amazon S3 で、バケットのブロックパブリックアクセス設定がオフになります。パブリックな静的ウェブサイトを作成するには、バケットポリシーを追加する前に、アカウントの[ブロックパブリックアクセス設定を編集する](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/block-public-access-account.html)必要があります。アカウントのブロックパブリックアクセス設定が現在有効になっている場合は、**[ブロックパブリックアクセス (バケット設定)]** の下にメモが表示されます。

## ステップ 9: バケットポリシーをアタッチする


この例では、バケットポリシーをドメインバケット (`example.com`) にアタッチして、パブリック読み取りアクセスを許可します。例えば、バケットポリシーの例の *Bucket-Name* は、ドメインバケットの名前 (例: `example.com`) に置き換えます。

S3 のパブリックアクセスブロック設定を編集した後で、バケットへのパブリック読み取りアクセスを許可するバケットポリシーを追加できます。パブリック読み取りアクセスを許可すると、インターネット上のだれでもバケットにアクセスできるようになります。

**重要**  
次のポリシーは、単なる例として、バケットのコンテンツへのフルアクセスを許可します。このステップに進む前に、「[Amazon S3 バケット内のファイルを保護するにはどうすればよいですか?](https://aws.amazon.com/premiumsupport/knowledge-center/secure-s3-resources/)」を確認して、S3 バケット内のファイルを保護するためのベストプラクティスと、パブリックアクセスの許可に伴うリスクを理解してください。

1. [**バケット**] で、バケットの名前を選択します。

1. [**Permissions (アクセス許可)**] を選択します。

1. [**Bucket Policy (バケットポリシー)**] で [**編集**] を選択します。

1. ウェブサイトのパブリック読み取りアクセスを許可するには、次のバケットポリシーをコピーし、[**Bucket policy editor (バケットポリシーエディター)**] に貼り付けます。

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "PublicReadGetObject",
               "Effect": "Allow",
               "Principal": "*",
               "Action": [
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::Bucket-Name/*"
               ]
           }
       ]
   }
   ```

1. `Resource` をバケット名に更新します。

   前述のバケットポリシーの例では、*Bucket-Name* はバケット名のプレースホルダーです。このバケットポリシーを独自のバケットで使用するには、バケット名に合わせてこの名前を更新する必要があります。

1. [**Save changes**] (変更の保存) をクリックします。

   バケットポリシーが正常に追加されたことを示すメッセージが表示されます。

   `Policy has invalid resource` というエラーが表示された場合は、バケットポリシー内のバケット名がバケット名と一致していることを確認します。バケットポリシーの追加については、「[S3 バケットポリシーを追加する方法](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)」を参照してください。

   エラーメッセージが表示され、バケットポリシーを保存できない場合は、アカウントとバケットの [パブリックアクセスをブロックする] 設定をチェックして、バケットへのパブリックアクセスを許可していることを確認します。

次のステップでは、ウェブサイトのエンドポイントを判別し、ドメインエンドポイントをテストできます。

## ステップ 10: ドメインエンドポイントをテストする


パブリックウェブサイトをホストするようにドメインバケットを設定したら、エンドポイントをテストできます。詳細については、「[ウェブサイトエンドポイント](WebsiteEndpoints.md)」を参照してください。サブドメインバケットは、静的ウェブサイトホスティングではなくウェブサイトリダイレクト用に設定されているため、テストできるのはドメインバケットのエンドポイントのみです。

**注記**  
Amazon S3 は、ウェブサイトへの HTTPS アクセスをサポートしていません。HTTPS を使用する場合は、Amazon CloudFront を使用して Amazon S3 でホストされている静的ウェブサイトを提供できます。  
詳細については、「[CloudFront を使用して、Amazon S3 でホストされた静的ウェブサイトを公開するにはどうすればよいですか?](https://aws.amazon.com/premiumsupport/knowledge-center/cloudfront-serve-static-website/)」と「[ビューワーと CloudFront との通信で HTTPS を必須にする](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https-viewers-to-cloudfront.html)」を参照してください。

1. [**バケット**] で、バケットの名前を選択します。

1. [**プロパティ**] を選択します。

1. ページの下部の [**静的ウェブサイトホスティング**] で、[**Bucket website endpoint (バケットウェブサイトエンドポイント)**] を選択します。

   インデックスドキュメントが別のブラウザウィンドウで開きます。

次のステップでは、顧客が両方のカスタム URL を使用してサイトにアクセスできるように、Amazon Route 53 を使用します。

## ステップ 11: ドメインとサブドメインのエイリアスレコードを追加する
ステップ 11: エイリアスレコードを追加する

このステップでは、ドメインマップ `example.com` と `www.example.com` のホストゾーンに追加するエイリアスレコードを作成します。IP アドレスを使用する代わりに、このエイリアスレコードでは Amazon S3 ウェブサイトエンドポイントが使用されます。Amazon Route 53 によって、エイリアスレコードと、Amazon S3 バケットが存在する IP アドレスとのマッピングが維持されます。ルートドメイン用とサブドメイン用の 2 つのエイリアスレコードを作成します。

### ルートドメインとサブドメインのエイリアスレコードの追加


**ルートドメインのエイリアスレコードを追加するには (`example.com`)**

1. Route 53 コンソール ([https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)) を開きます。
**注記**  
Route 53 をまだ使用していない場合は、*Amazon Route 53 デベロッパーガイド*の「[ステップ 1: ドメインの登録](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)」を参照してください。セットアップが完了したら、指示を再開できます。

1. [**Hosted zones (ホストゾーン)**] を選択します。

1. ホストゾーンのリストで、ドメイン名に一致するホストゾーンの名前を選択します。

1. [**Create record (レコードを作成)**] を選択します。

1. [**Switch to wizard**] (ウィザードに切り替える) を選択します。
**注記**  
クイック作成を使用してエイリアスレコードを作成する場合は、「[Route 53 を設定して S3 バケットにトラフィックをルーティングする](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/RoutingToS3Bucket.html#routing-to-s3-bucket-configuring)」を参照してください。

1. [**Simple routing (シンプルルーティング)**] を選択して、[**Next (次へ)**] を選択します。

1. [**Define simple record (シンプルなレコードを定義)**] を選択します。

1. [**レコード名**] では、デフォルト値をそのまま使用します。これが、ホストゾーンとドメインの名前です。

1. [**Value/Route traffic to (値/トラフィックのルーティング先)**] で、[**Alias to S3 website endpoint (S3 ウェブサイトエンドポイントへのエイリアス)**] を選択します。

1. リージョンを選択します。

1. S3 バケットを選択します。

   バケット名は、[**Name (名前)**] ボックスに表示されている名前と一致する必要があります。[**Choose S3 bucket**] (S3 バケットを選択) リストに、バケットが作成されたリージョンの Amazon S3 ウェブサイトエンドポイントとともにバケット名が表示されます (例: `s3-website-us-west-1.amazonaws.com (example.com)`)。

   次の場合は、バケットをリストする **S3 バケットを選択**します。
   + バケットを静的ウェブサイトとして設定した場合。
   + バケットの名前が、作成するレコードの名前と同じである場合。
   + 現在の AWS アカウント でバケットを作成した場合。

   バケットが [**Choose S3 bucket**] (S3 バケットの選択) リストに表示されない場合は、バケットが作成されたリージョンの Amazon S3 ウェブサイトエンドポイント (例: **s3-website-us-west-2.amazonaws.com**) を入力します。Amazon S3 ウェブサイトエンドポイントの完全なリストについては、「[Amazon S3 ウェブサイトエンドポイント](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)」を参照してください。エイリアス先の詳細については、*Amazon Route 53 デベロッパーガイド*の「[値/トラフィックのルーティング先](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)」を参照してください。

1. **[レコードタイプ]** で、**[A ‐ IPv4 アドレスと一部の AWS リソースにトラフィックをルーティングします]** を選択します。

1. [**Evaluate target health (ターゲットの正常性の評価)**] で [**No (いいえ)**] を選択します。

1. [**Define simple record (シンプルなレコードを定義)**] を選択します。

**サブドメインのエイリアスレコードを追加するには (`www.example.com`)**

1. [**Configure records**] (レコードを設定) で、[**Define simple record**] (シンプルなレコードを定義) を選択します。

1. サブドメインの [**Record name (レコード名)**] に「`www`」と入力します。

1. [**Value/Route traffic to (値/トラフィックのルーティング先)**] で、[**Alias to S3 website endpoint (S3 ウェブサイトエンドポイントへのエイリアス)**] を選択します。

1. リージョンを選択します。

1. S3 バケットを選択します (例: `s3-website-us-west-2.amazonaws.com (www.example.com)`)。

   バケットが [**Choose S3 bucket**] (S3 バケットの選択) リストに表示されない場合は、バケットが作成されたリージョンの Amazon S3 ウェブサイトエンドポイント (例: **s3-website-us-west-2.amazonaws.com**) を入力します。Amazon S3 ウェブサイトエンドポイントの完全なリストについては、「[Amazon S3 ウェブサイトエンドポイント](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)」を参照してください。エイリアス先の詳細については、*Amazon Route 53 デベロッパーガイド*の「[値/トラフィックのルーティング先](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)」を参照してください。

1. **[レコードタイプ]** で、**[A ‐ IPv4 アドレスと一部の AWS リソースにトラフィックをルーティングします]** を選択します。

1. [**Evaluate target health (ターゲットの正常性の評価)**] で [**No (いいえ)**] を選択します。

1. [**Define simple record (シンプルなレコードを定義)**] を選択します。

1. [**Configure records**] (レコードを設定) ページで、[**Create records**] (レコードを作成) を選択します。

**注記**  
通常、変更は 60 秒以内にすべての Route 53 サーバーに伝播されます。伝播が完了すると、この手順で作成したエイリアスレコードの名前を使用して、トラフィックを Amazon S3 バケットにルーティングできます。

### ルートドメインとサブドメインのエイリアスレコードの追加 (以前の Route 53 コンソール)


**ルートドメインのエイリアスレコードを追加するには (`example.com`)**

Route 53 コンソールは再設計されました。Route 53 コンソールでは、暫定的に以前のコンソールを使用することもできます。以前の Route 53 コンソールを使用する場合は、以下の手順に従ってください。

1. Route 53 コンソール ([https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)) を開きます。
**注記**  
Route 53 をまだ使用していない場合は、*Amazon Route 53 デベロッパーガイド*の「[ステップ 1: ドメインの登録](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html#getting-started-find-domain-name)」を参照してください。セットアップが完了したら、指示を再開できます。

1. [**ホストゾーン**] を選択します。

1. ホストゾーンのリストで、ドメイン名に一致するホストゾーンの名前を選択します。

1. [**Create Record Set**] (レコードセットの作成) をクリックします。

1. 次の値を指定します。  
**名前**  
ホストゾーンとドメインの名前であるデフォルト値を受け入れます。  
ルートドメインの場合、[**Name (名前)**] フィールドに追加情報を入力する必要はありません。  
**タイプ**  
[**A – IPv4 address (A – IPv4 address)**] を選択します。  
**エイリアス**  
[**Yes**] を選択します。  
**エイリアス先**  
リストの [**S3 website endpoints (S3 ウェブサイトエンドポイント)**] セクションで、バケット名を選択します。  
バケット名は、[**Name (名前)**] ボックスに表示されている名前と一致する必要があります。[**Alias Target (エイリアス先)**] リストでは、バケット名の後にはバケットが作成されたリージョンの Amazon S3 ウェブサイトエンドポイントが続きます (例: `example.com (s3-website-us-west-2.amazonaws.com)`)。以下の場合は、[**Alias Target**] にバケットが表示されます。  
   + バケットを静的ウェブサイトとして設定した場合。
   + バケットの名前が、作成するレコードの名前と同じである場合。
   + 現在の AWS アカウント でバケットを作成した場合。
バケットが [**エイリアス先**] リストに表示されない場合は、バケットが作成されたリージョンの Amazon S3 ウェブサイトエンドポイント (`s3-website-us-west-2` など) を入力します。Amazon S3 ウェブサイトエンドポイントの完全なリストについては、「[Amazon S3 ウェブサイトエンドポイント](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints)」を参照してください。エイリアス先の詳細については、*Amazon Route 53 デベロッパーガイド*の「[値/トラフィックのルーティング先](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-values-alias.html#rrsets-values-alias-alias-target)」を参照してください。  
**ルーティングポリシー**  
デフォルト値の [**Simple**] をそのまま使用します。  
**ターゲットの正常性の評価**  
デフォルト値の [**No**] をそのまま使用します。

1. [**Create**] を選択します。

**サブドメインのエイリアスレコードを追加するには (`www.example.com`)**

1. ルートドメイン (`example.com`) のホストゾーンで、[**Create Record Set (レコードセットの作成)**] を選択します。

1. 次の値を指定します。  
**名前**  
サブドメインの場合、ボックスに `www` と入力します。  
**タイプ**  
[**A – IPv4 address (A – IPv4 address)**] を選択します。  
**エイリアス**  
[**Yes**] を選択します。  
**エイリアス先**  
リストの [**S3 website endpoints (S3 ウェブサイトエンドポイント)**] セクションで、[**Name (名前)**] フィールドに表示される名前と同じバケット名を選択します (例: `www.example.com (s3-website-us-west-2.amazonaws.com)`)。  
**ルーティングポリシー**  
デフォルト値の [**Simple**] をそのまま使用します。  
**ターゲットの正常性の評価**  
デフォルト値の [**No**] をそのまま使用します。

1. [**Create**] を選択します。

**注記**  
通常、変更は 60 秒以内にすべての Route 53 サーバーに伝播されます。伝播が完了すると、この手順で作成したエイリアスレコードの名前を使用して、トラフィックを Amazon S3 バケットにルーティングできます。

## ステップ 12: ウェブサイトをテストする


ウェブサイトとリダイレクトが正しく機能することを確認します。ブラウザで、URL を入力します。この例では、次の URL を試すことができます。
+ **ドメイン** (`http://example.com`) – `example.com` バケット内のインデックスドキュメントを表示します。
+ **サブドメイン **(`http://www.example.com`) – リクエストを `http://example.com` にリダイレクトします。`example.com` バケット内のインデックスドキュメントが表示されます。

ウェブサイトやリダイレクトのリンクが機能しない場合は、以下のことを試しください。
+ **キャッシュのクリア**– ウェブブラウザのキャッシュをクリアします。
+ **ネームサーバーの確認**– キャッシュをクリアしてもウェブページやリダイレクトのリンクが機能しない場合は、ドメインのネームサーバーとホストゾーンのネームサーバーを比較します。ネームサーバーが一致しない場合は、ドメインのネームサーバーを更新してホストゾーンのネームサーバーと一致させる必要があります。詳細については、「[ドメインのネームサーバーおよびグルーレコードの追加あるいは変更](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-name-servers-glue-records.html)」を参照してください。

ルートドメインとサブドメインのテストが完了したら、[Amazon CloudFront](https://aws.amazon.com/cloudfront) ディストリビューションを設定できます。これにより、ウェブサイトのパフォーマンスを向上させ、ウェブサイトのトラフィックの確認に使用できるログを指定できます。詳細については、「[Amazon CloudFront によるウェブサイトの高速化](website-hosting-cloudfront-walkthrough.md)」を参照してください。

# Amazon CloudFront によるウェブサイトの高速化


[Amazon CloudFront](https://aws.amazon.com/cloudfront) を使用すると、Amazon S3 ウェブサイトのパフォーマンスを高めることができます。CloudFront を使用すると、世界中のデータセンター (*エッジロケーション* と呼ばれる) からお客様のウェブサイトのファイル (HTML、画像、動画など) を使用できるようになります。閲覧者がウェブサイトからファイルをリクエストすると、CloudFront は自動的に最も近いエッジロケーションのファイルのコピーにリクエストをリダイレクトします。これにより、遠い場所にあるデータセンターからコンテンツをリクエストした場合よりもダウンロード時間が高速になります。

CloudFront は、指定した期間にわたってコンテンツをエッジロケーションにキャッシュします。閲覧者が有効期限より長くキャッシュされていたコンテンツをリクエストすると、CloudFront はオリジンサーバーをチェックしてより新しいバージョンのコンテンツがあるかどうかを確認します。新しいバージョンが利用可能である場合、CloudFront は新しいバージョンをエッジロケーションにコピーします。元のコンテンツへの変更は、閲覧者がコンテンツをリクエストすると、エッジロケーションにレプリケートされます。

**Route 53 なしで CloudFront を使用する**  
このページのチュートリアルでは Route 53 を使用して CloudFront 配信をポイントしています。ただし、Route 53 を使用せずに CloudFront を使用して Amazon S3 バケットでホストされているコンテンツを配信する場合は、「[Amazon CloudFront チュートリアル: Amazon S3 用の動的コンテンツ配信のセットアップ](https://aws.amazon.com/cloudfront/getting-started/S3/)」を参照してください。CloudFront を使用して Amazon S3 バケットでホストされているコンテンツを配信する場合は、任意のバケット名を使用できます。また、HTTP と HTTPS の両方がサポートされます。

**CloudFormation テンプレートを使用した設定の自動化**  
ウェブサイトへの配信を行う CloudFront ディストリビューションを作成する安全な静的ウェブサイトを、CloudFormation テンプレートを使用して設定する方法の詳細については、*Amazon CloudFront デベロッパーガイド*の「[安全な静的ウェブサイトの開始方法](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html)」を参照してください。

**Topics**
+ [

## ステップ 1: CloudFront ディストリビューションを作成する
](#create-distribution)
+ [

## ステップ 2: ドメインとサブドメインのレコードセットを更新する
](#update-record-sets)
+ [

## (オプション) ステップ 3: ログファイルを確認する
](#check-log-files)

## ステップ 1: CloudFront ディストリビューションを作成する


まず、CloudFront ディストリビューションを作成します。これにより、ウェブサイトは世界中のデータセンターから利用できるようになります。

**Amazon S3 オリジンを使用してディストリビューションを作成するには**

1.  で CloudFront コンソールを開きます[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)

1. [**Create Distribution**] を選択します。

1. [**ディストリビューションの作成**] ページで、[**オリジンの設定**] セクションの [**オリジンドメイン名**] に、バケットの Amazon S3 ウェブサイトエンドポイントを入力します (例: **example.com.s3-website.us-west-1.amazonaws.com**)。

   CloudFront により自動的に [**Origin ID (オリジン ID)**] が入力されます。

1. [**Default Cache Behavior Settings (キャッシュ動作のデフォルト設定)**] の値はデフォルトのままにしておきます。

   [**ビューワープロトコルポリシー**] のデフォルト設定では、静的ウェブサイトに HTTPS を使用できます。これらの設定オプションの詳細については、*Amazon CloudFront デベロッパーガイド*の「[ウェブディストリビューションを作成または更新する場合に指定する値](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#DownloadDistValuesYouSpecify)」を参照してください。

1. [**Distribution Settings (ディストリビューションの設定)**] で、以下の作業を行います。

   1. [**Price Class (価格クラス)**] は [**Use All Edge Locations (Best Performance) (すべてのエッジロケーションを使用する (最適なパフォーマンス))**] に設定されたままにしておきます。

   1. [**代替ドメイン名 (CNAME)**] をルートドメインと `www` サブドメインに設定します。このチュートリアルでは、`example.com` と `www.example.com` です。
**重要**  
このステップを実行する前に、[代替ドメイン名を使用するための要件](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements)、特に有効な SSL/TLS 証明書の必要性について確認します。

   1. [**SSL 証明書**] で、[**Custom SSL Certificate (example.com) (独自 SSL 証明書 (example.com))**] を選択し、ドメイン名とサブドメイン名を対象とするカスタム証明書を選択します。

      詳細については、*Amazon CloudFront デベロッパーガイド*の「[SSL 証明書](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesSSLCertificate)」を参照してください。

   1. [**Default Root Object (デフォルトのルートオブジェクト)**] に、インデックスドキュメントの名前を入力します (例: `index.html`)。

      ディストリビューションにアクセスするために使用される URL にファイル名が含まれていない場合、CloudFront ディストリビューションはインデックスドキュメントを返します。[**Default Root Object (デフォルトのルートオブジェクト)**] は、静的ウェブサイトのインデックスドキュメントの名前と正確に一致する必要があります。詳細については、「[インデックスドキュメントの設定](IndexDocumentSupport.md)」を参照してください。

   1. [**ログ記録**] を [**On (オン)**] に設定します。
**重要**  
ディストリビューションを作成または更新して CloudFront のログを有効にすると、CloudFront はバケットのアクセスコントロールリスト (ACL) を更新して、バケットにログを書き込む `awslogsdelivery` アクセス許可を `FULL_CONTROL` アカウントに付与します。詳細については、**「Amazon CloudFront デベロッパーガイド」の「[標準ログ記録の設定とログファイルへのアクセスに必要なアクセス許可](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership)」を参照してください。ログを保存するバケットが S3 オブジェクト所有権のバケット所有者の強制設定を使用して ACL を無効にすると、CloudFront はバケットにログを書き込むことができません。詳細については、「[オブジェクトの所有権の制御とバケットの ACL の無効化。](about-object-ownership.md)」を参照してください。

   1. [**Bucket for Logs (ログ用のバケット)**] で、作成したログ記録バケットを選択します。

      ログ記録バケットの設定の詳細については、「[(オプション) ウェブトラフィックのログ記録](LoggingWebsiteTraffic.md)」を参照してください。

   1. CloudFront ディストリビューションへのトラフィックによって生成されたログをフォルダに保存する場合は、[**Log Prefix (ログのプレフィックス)**] にフォルダ名を入力します。

   1. 他の設定はすべてデフォルト値のままにしておきます。

1. [**Create Distribution**] を選択します。

1. ディストリビューションのステータスを表示するには、コンソールでディストリビューションを見つけて、[**ステータス**] 列を確認します。

   [`InProgress`] のステータスは、ディストリビューションがまだ完全にデプロイされていないことを示します。

   ディストリビューションがデプロイされたら、新しい CloudFront ドメイン名でコンテンツを参照できます。

1. CloudFront コンソールに表示される [**Domain Name (ドメイン名)**] の値を書き留めます (例: `dj4p1rv6mvubz.cloudfront.net`)。

1. CloudFront ディストリビューションが正常に動作していることを確認するには、ウェブブラウザでディストリビューションのドメイン名を入力します。

   ウェブサイトが表示されている場合、CloudFront ディストリビューションは機能します。ウェブサイトに Amazon Route 53 で登録されたカスタムドメインがある場合は、次のステップでレコードセットを更新するために CloudFront ドメイン名が必要になります。

## ステップ 2: ドメインとサブドメインのレコードセットを更新する


CloudFront ディストリビューションが正常に作成されたので、Route 53 でエイリアスレコードを更新して、新しい CloudFront ディストリビューションを指すようにします。

**CloudFront ディストリビューションを指すようにエイリアスレコードを更新するには**

1. Route 53 コンソール ([https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)) を開きます。

1. 左のナビゲーションで、[**Hosted zones**] (ホストゾーン) を選択します。

1. [**Hosted Zones**] (ホストゾーン) ページで、サブドメイン用に作成したホストゾーンを選択します (例: `www.example.com`)。

1. [**Records**] (レコード) で、サブドメイン用に作成した *A* レコードを選択します。

1. [**Record details**] (レコードの詳細) で、[**Edit record**] (レコードを編集) を選択します。

1. [**Route traffic to**] (トラフィックのルーティング先) で、[**Alias to CloudFront distribution**] (CloudFront ディストリビューションへのエイリアス) を選択します。

1. [**Choose distribution**] (ディストリビューションを選択) で、CloudFront ディストリビューションを選択します。

1. [**Save**] を選択します。

1. ルートドメインの *A* レコードを CloudFront ディストリビューションにリダイレクトするには、ルートドメイン用のこの手順を繰り返します (例: `example.com`)。

   レコードセットの更新は、2～48 時間以内に有効になります。

1. 新しい *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](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/) など他のサービスで分析できる貴重なビジネスデータも含まれています。

CloudFront ログは、CloudFront ディストリビューションを作成してログを有効にするときに選択したバケットとフォルダに保存されます。CloudFront は、対応するリクエストが行われると、24 時間以内にログバケットにログを書き込みます。

**ウェブサイトのログファイルを表示するには**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. ウェブサイトのログ記録バケットを選択します。

1. CloudFront ログフォルダを選択します。

1. CloudFront によって書き込まれた `.gzip` ファイルを開く前に、まずファイルをダウンロードします。

   学習のためだけにウェブサイトを作成した場合は、割り当てたリソースを削除して、課金を停止できます。これを行うには、「[サンプルリソースのクリーンアップ](getting-started-cleanup.md)」を参照してください。AWS リソースを削除すると、ウェブサイトは使用できなくなります。

# サンプルリソースのクリーンアップ
サンプルリソースのクリーンアップ

学習のために静的ウェブサイトを作成した場合は、割り当てた AWS リソースをここで削除して、課金を停止します。AWS リソースを削除すると、ウェブサイトは使用できなくなります。

**Topics**
+ [

## ステップ 1: Amazon CloudFront ディストリビューションを削除する
](#getting-started-cleanup-cloudfront)
+ [

## ステップ 2: Route 53 ホストゾーンを削除する
](#getting-started-cleanup-route53)
+ [

## ステップ 3: ログ記録を無効にし、S3 バケットを削除する
](#getting-started-cleanup-s3)

## ステップ 1: Amazon CloudFront ディストリビューションを削除する


Amazon CloudFront ディストリビューションを削除する前に、そのディストリビューションを無効にする必要があります。無効になったディストリビューションは機能しなくなり、料金も発生しません。無効にしたディストリビューションはいつでも有効にすることができます。無効にしたディストリビューションを削除すると、使用できなくなります。

**CloudFront ディストリビューションを無効にして削除するには**

1.  で CloudFront コンソールを開きます[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)

1. 無効にするディストリビューションを選択してから [**Disable (無効化)**] を選択します。

1. 確認を求められたら、[**Yes, Disable (はい、無効化する)**] を選択します。

1. 無効にしたディストリビューションを選択してから [**削除**] を選択します。

1. 確認を求めるメッセージが表示されたら、[**Yes, Delete (はい、削除します)**] を選択します。

## ステップ 2: Route 53 ホストゾーンを削除する


ホストゾーンを削除する前に、作成したレコードセットを削除する必要があります。NS レコードと SOA レコードを削除する必要はありません。これらはホストゾーンが削除されるときに自動的に削除されます。

**レコードセットを削除するには**

1. Route 53 コンソール ([https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)) を開きます。

1.  ドメイン名のリストでドメイン名を選択し、[**Go to Record Sets (レコードセットに移動)**] を選択します。

1. レコードセットのリストで、作成した *A* レコードを選択します。

   各レコードセットのタイプは [**タイプ**] 列に表示されます。

1. [**Delete Record Set (レコードセットの削除)**] を選択します。

1. 確認を求められたら、[**確認**] を選択します。

**Route 53 ホストゾーンを削除するには**

1.  前のステップを終了した画面で [**Back to Hosted Zones (ホストゾーンに戻る)**] を選択します。

1.  ドメイン名を選択してから [**Delete Hosted Zone (ホストゾーンの削除)**] を選択します。

1.  確認を求められたら、[**確認**] を選択します。

## ステップ 3: ログ記録を無効にし、S3 バケットを削除する


S3 バケットを削除する前に、バケットのログ記録が無効であることを確認します。それ以外の場合、削除するバケットへのログの書き込みが AWS によって継続されます。

**バケットのログ記録を無効にするには**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) で Amazon S3 コンソールを開きます。

1. [**バケット**] でバケット名を選択し、[**プロパティ**] を選択します。

1. [**プロパティ**] から [**ログ記録**] を選択します。

1. [**有効**] チェックボックスをオフにします。

1. [**Save**] を選択します。

これで、バケットを削除できます。詳細については、「[汎用バケットの削除](delete-bucket.md)」を参照してください。