ウェブサイトエンドポイント - Amazon Simple Storage Service

ウェブサイトエンドポイント

バケットを静的ウェブサイトとして設定すると、そのウェブサイトは、バケットの AWS リージョン固有のウェブサイトエンドポイントで利用できます。ウェブサイトエンドポイントは、REST API リクエストを送信するエンドポイントとは別のものです。エンドポイントの違いの詳細については、「ウェブサイトエンドポイントと REST API エンドポイントの主な違い」を参照してください。

使用しているリージョンに応じて、Amazon S3 ウェブサイトエンドポイントは以下の 2 つの形式のいずれかになります。

  • s3-website ダッシュ (-) リージョンhttp://bucket-name.s3-website-Region.amazonaws.com

  • s3-website ドット (.) リージョンhttp://bucket-name.s3-website.Region.amazonaws.com

これらの URL にアクセスすると、ウェブサイト用に設定したデフォルトのインデックスドキュメントが返されます。Amazon S3 ウェブサイトエンドポイントの詳細なリストについては、「Amazon S3 ウェブサイトエンドポイント」を参照してください。

ウェブサイトエンドポイントにあるコンテンツにアクセスできるようにするには、すべてのコンテンツがパブリックに読み取り可能となっている必要があります。そのためには、バケットの S3 パブリックアクセスブロック設定を編集します。詳細については、「Amazon S3 パブリックアクセスブロックの使用」を参照してください。次に、バケットポリシーを使用するか、オブジェクトに対するアクセスコントロールリスト (ACL) を使用して、必要なアクセス許可を付与します。詳細については、「ウェブサイトアクセスのアクセス許可の設定」を参照してください。

重要

Amazon S3 ウェブサイトエンドポイントは HTTPS をサポートしていません。Amazon S3 バケットで HTTPS を使用する方法については、以下を参照してください。

リクエスタ支払いバケット に、ウェブサイトエンドポイントを介してアクセスすることはできません。このようなバケットへのリクエストに対しては 403 Access Denied レスポンスを受け取ります。詳細については、「リクエスタ支払いバケット」を参照してください。

ウェブサイトエンドポイントの例

以下の例では、静的ウェブサイトとして設定されている Amazon S3 バケットにアクセスする方法を示しています。

例 —ルートレベルでのオブジェクトのリクエスト

バケットのルートレベルに保存されている特定のオブジェクトをリクエストするには、以下の URL 構造を使用します。

http://bucket-name.s3-website.Region.amazonaws.com/object-name

たとえば、以下の URL は、バケットのルートレベルに保存されている photo.jpg オブジェクトをリクエストするものです。

http://example-bucket.s3-website.us-west-2.amazonaws.com/photo.jpg

例 —プレフィックスでのオブジェクトのリクエスト

バケット内のフォルダに保存されているオブジェクトをリクエストするには、以下の URL 構造を使用します。

http://bucket-name.s3-website.Region.amazonaws.com/folder-name/object-name

以下の URL は、バケット内の docs/doc1.html オブジェクトをリクエストするものです。

http://example-bucket.s3-website.us-west-2.amazonaws.com/docs/doc1.html

DNS CNAME の追加

登録済みのドメインがある場合は、Amazon S3 ウェブサイトエンドポイントを指し示す DNS CNAME エントリを追加できます。たとえば、www.example-bucket.com ドメインを登録した場合は、バケット www.example-bucket.com を作成し、www.example-bucket.com.s3-website.Region.amazonaws.com を参照する DNS CNAME エントリを追加できます。http://www.example-bucket.com へのリクエストはすべて、www.example-bucket.com.s3-website.Region.amazonaws.com にルーティングされます。

詳細については、「CNAME による Amazon S3 URL のカスタマイズ」を参照してください。

Route 53 でのカスタムドメインの使用

Amazon S3 ウェブサイトエンドポイントを使用してウェブサイトにアクセスする代わりに、Amazon Route 53 に登録された独自のドメイン (example.com など) を使用して、コンテンツを提供できます。Amazon S3 と Route 53 を使用して、ルートドメインでウェブサイトをホスティングできます。たとえば、ルートドメインが example.com で、ウェブサイトを Amazon S3 でホスティングする場合、ウェブサイト閲覧者は「http://www.example.com」または「http://example.com」と入力するだけで、ブラウザからそのウェブサイトにアクセスできます。

チュートリアル例については、「Route 53 に登録されたカスタムドメインを使用した静的ウェブサイトの設定」を参照してください。

ウェブサイトエンドポイントと REST API エンドポイントの主な違い

Amazon S3 ウェブサイトエンドポイントは、ウェブブラウザを介してアクセスするように最適化されています。以下の表は、REST API エンドポイントとウェブサイトエンドポイントの主な違いをまとめたものです。

主な違い REST API エンドポイント ウェブサイトエンドポイント
アクセスコントロール

パブリックコンテンツとプライベートコンテンツの両方をサポートします。

公開で読み取り可能なコンテンツのみをサポートします。
エラーメッセージの処理

XML 形式のエラーレスポンスを返します。

HTML ドキュメントを返します。
リダイレクトのサポート

該当しません

オブジェクトレベルとバケットレベルの両方のリダイレクトをサポートします。
サポートされるリクエスト

バケットおよびオブジェクトのすべてのオペレーションをサポートします。

オブジェクトに対しては GET リクエストと HEAD リクエストのみをサポートします。
バケットのルートでの GET リクエストと HEAD リクエストにレスポンスします。 バケット内のオブジェクトキーのリストを返します。 ウェブサイト設定で指定されているインデックスドキュメントを返します。
Secure Sockets Layer (SSL) のサポート SSL 接続をサポートします。 SSL 接続をサポートしません。

Amazon S3 エンドポイントの完全なリストについては、AWS General Reference の「Amazon S3 サービスエンドポイントとクオータ」を参照してください。