メニュー
Amazon Simple Storage Service
コンソールユーザーガイド

静的ウェブサイトホスティング用に S3 バケットを設定する方法

古い Amazon S3 コンソールを使用している場合、新しいコンソールを使用するには、次のボックスで [Opt In] を選択します。このボックスは古い Amazon S3 コンソールのホームページに表示されます。[Opt In] はすべてのリージョンで利用できるわけではないことに注意してください。  

 新しい Amazon S3 コンソール UI にオプトイン

静的ウェブサイトを Amazon S3 でホスティングできます。静的ウェブサイトでは、個々のウェブページに静的コンテンツが含まれており、クライアント側スクリプトも含まれていることがあります。対照的に、動的ウェブサイトはサーバー側処理に依存しており、例えばサーバー側スクリプト(PHP、JSP、ASP.NET など)が使用されます。サーバー側スクリプトは Amazon S3 ではサポートされていません。詳細については、『Amazon Simple Storage Service 開発者ガイド』の「Amazon S3 での静的ウェブサイトのホスティング」を参照してください。

静的ウェブサイトホスティング用に S3 バケットを設定するには

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

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

  3. [Properties] を選択します。

  4. [Static website hosting] を選択します。

    静的ウェブサイトホスティングのバケットを有効にすれば、ウェブブラウザが、バケットの Amazon S3 のウェブサイトエンドポイントを通じてすべてのコンテンツにアクセスできます。

  5. [Use this bucket to host] を選択します。

    1. [Index Document] に、インデックスドキュメントの名前 (通常は index.html) を入力します。バケットをウェブサイトホスティング用に設定するときは、インデックスドキュメントを指定する必要があります。Amazon S3 からこのインデックスドキュメントが返されるのは、ルートドメインまたはサブフォルダに対するリクエストが行われたときです。詳細については、Amazon Simple Storage Service 開発者ガイド の「バケットをウェブサイトホスティング用に設定」を参照してください。

    2. (オプション) [Error Document] に、カスタムエラードキュメントの名前を入力します。エラーが発生した場合は、Amazon S3 から HTML エラードキュメントが返されます。4XX クラスのエラーの場合は、ウェブサイト独自のエラードキュメントを返すこともでき、このドキュメントの中で、ウェブサイトのユーザー向けに追加のガイダンスを記述することができます。詳細については、『Amazon Simple Storage Service 開発者ガイド』の「カスタムエラードキュメントのサポート」を参照してください。

    3. (オプション) 高度なリダイレクトツールを指定する場合、[Edit redirection rules] のテキスト領域に、XML を使用してルールを記述します。たとえば、条件に応じてリクエストのルーティング先を変えることができます。この条件として使用できるのは、リクエストの中の特定のオブジェクトキー名またはプレフィックスです。詳細については、Amazon Simple Storage Service 開発者ガイド の「バケットをウェブサイトホスティング用に設定」を参照してください。

  6. [Save] を選択します。

  7. バケット内のオブジェクトに対するアクセス権限をすべてのユーザーに付与するために、バケットポリシーをウェブサイトバケットに追加します。バケットをウェブサイトとして設定するときは、そのサイトで配信するオブジェクトを、パブリックに読み取り可能となるように設定する必要があります。このようにするには、全員に s3:GetObject を許可するバケットポリシーを作成します。以下のサンプルバケットポリシーは、example-bucket バケット内のオブジェクトへのアクセスをすべてのユーザーに許可します。

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

    バケットポリシーの追加については、「S3 バケットポリシーを追加する方法」を参照してください。詳細については、『Amazon Simple Storage Service 開発者ガイド』 の「Permissions Required for Website」を参照してください。

注記

[Disable website hosting] を選択した場合、Amazon S3 ではバケットから既存のウェブサイトの設定がすべて削除され、ウェブサイトのエンドポイントからバケットにアクセスできなくなります。ただし、バケットは引き続き REST エンドポイントでは使用できます。Amazon S3 エンドポイントのリストについては、『アマゾン ウェブ サービス全般のリファレンス』の「Amazon S3 リージョンとエンドポイント」を参照してください。