メニュー
Amazon Simple Storage Service
開発者ガイド (API Version 2006-03-01)

リクエスタ支払いバケット

一般に、Amazon S3 のバケットのストレージおよびデータ転送にかかるコストはすべて、そのバケット所有者が負担します。ただしバケット所有者は、バケットをリクエスタ支払いバケットとして設定することができます。リクエスタ支払いバケットの場合、リクエストおよびバケットからのデータのダウンロードにかかるコストは、所有者でなくリクエストを実行したリクエスタが支払います。データの保管にかかるコストは常にバケット所有者が支払います。

通常は、データを共有したいが、他者がデータにアクセスする際に発生する費用を負担したくない場合に、リクエスタ支払いバケットを設定します。たとえば、郵便番号リスト、参照データ、地理空間情報、ウェブクロールデータといった、大規模なデータセットを利用できるようにする際にリクエスタ支払いバケットを設定します。

重要

バケットでリクエスタ支払いを有効化すると、そのバケットには匿名アクセスができなくなります。

リクエスタ支払いバケットに関するリクエストはすべて認証する必要があります。リクエストの認証により、Amazon S3 はリクエスタを特定し、リクエスタ支払いバケットの使用に対して課金できるようになります。

リクエスタがリクエストを送る前に AWS Identity and Access Management (IAM) ロールを引き受ける際に、ロールが属するアカウントにリクエストの料金が発生します。IAM ロールの詳細については、『IAM ユーザーガイド』の「IAM ロール」を参照してください。

バケットをリクエスタ支払いバケットとして設定すると、リクエスタは、リクエストに x-amz-request-payer を (POST、GET、HEAD リクエストの場合はヘッダーに、REST リクエストの場合はパラメーターとして) 含めることで、リクエストとデータのダウンロードに課金されることを了解している旨を示す必要があります。

リクエスタ支払いバケットは、以下をサポートしていません。

  • 匿名リクエスト

  • BitTorrent

  • SOAP リクエスト

  • リクエスタ支払いバケットをエンドユーザーロギングのターゲットバケットに使用したり、その逆を実行したりすることはできません。ただし、ターゲットバケットがリクエスタ支払いバケットでない場合は、リクエスタ支払いバケット上でエンドユーザーロギングを有効化できます。

DevPay とリクエスタ支払い

Amazon DevPay を使用して、リクエスタ支払いバケットに格納されたコンテンツを販売できます。詳細については、「Using Amazon S3 Requester Pays with DevPay」の「Using Amazon S3 Requester Pays with DevPay」を参照してください。

課金の詳細

成功したリクエスタ支払いリクエストに対する課金は非常にシンプルです。リクエスタは、転送されたデータとリクエストに対して支払い、バケット所有者はデータのストレージに対して支払います。ただし以下の条件では、リクエストに対してバケット所有者が課金されます。

  • リクエスタが、リクエストにパラメーター x-amz-request-payer を (GET、HEAD、POST の場合はヘッダーに、REST の場合はパラメーターとして) 含めなかった場合 (HTTP コード 403)

  • リクエストの認証に失敗した場合 (HTTP コード 403)

  • リクエストが匿名の場合 (HTTP コード 403)

  • リクエストが SOAP リクエストの場合