

# ストレージの転送と使用にリクエスタ支払い汎用バケットを使用する
<a name="RequesterPaysBuckets"></a>

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

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

**重要**  
汎用バケットでリクエスタ支払いを有効にすると、そのバケットへの匿名アクセスは許可されなくなります。

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

リクエスタがリクエストを送る前に AWS Identity and Access Management (IAM) ロールを引き受ける際に、ロールが属するアカウントにリクエストの料金が発生します。IAM ロールの詳細については、**「IAM ユーザーガイド」の「[IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)」を参照してください。

バケットをリクエスタ支払いバケットとして設定した後、リクエスタはリクエストとデータダウンロードに対して課金されることを理解している旨を示す必要があります。料金を受け入れることを示すには、リクエスタが DELETE、GET、HEAD、POST、PUT リクエストの API リクエストにヘッダーとして `x-amz-request-payer` を含めるか、REST リクエストに `RequestPayer` パラメータを追加する必要があります。CLI リクエストの場合、リクエスタは `--request-payer` パラメータを使用できます。

**Example – オブジェクトの削除時にリクエスタ支払いを使用する**  
次の [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) API の例を使用するには、`user input placeholders` をユーザー自身の情報に置き換えます。  

```
DELETE /Key+?versionId=VersionId HTTP/1.1
Host: Bucket.s3.amazonaws.com
x-amz-mfa: MFA
x-amz-request-payer: RequestPayer
x-amz-bypass-governance-retention: BypassGovernanceRetention
x-amz-expected-bucket-owner: ExpectedBucketOwner
```

リクエスタが [https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) API を使用してオブジェクトを復元する場合、`x-amz-request-payer` ヘッダーまたは `RequestPayer` パラメータがリクエストに含まれている限りリクエスタ支払いがサポートされます。ただし、リクエスタはリクエストのコストのみを支払います。バケット所有者が取り出し料金を支払います。

リクエスタ支払いバケットは、次の場合サポートしていません。
+ 匿名リクエスト
+ SOAP リクエスト
+ リクエスタ支払いバケットをエンドユーザーログのターゲットバケットとして使用する場合、あるいはその逆。ただし、ターゲットバケットがリクエスタ支払いバケットでない場合は、リクエスタ支払いバケット上でエンドユーザーのログを有効にできます。

## リクエスタ支払いの課金の仕組み
<a name="ChargeDetails"></a>

成功したリクエスタ支払いリクエストに対する課金はシンプルです。リクエスタは、転送されたデータとリクエストに対して支払い、バケット所有者はデータのストレージに対して支払います。ただし以下の条件では、リクエストに対してバケット所有者が課金されます。
+ このリクエストにより `AccessDenied` (HTTP `403 Forbidden`) エラーが返され、リクエストがバケット所有者の個別の AWS アカウントまたは AWS 組織内で開始される。
+ リクエストが SOAP リクエストの場合

リクエスタ支払いの詳細については、以下のトピックを参照してください。

**Topics**
+ [リクエスタ支払いの課金の仕組み](#ChargeDetails)
+ [バケットでのリクエスタ支払いの設定](RequesterPaysExamples.md)
+ [REST API を使用した requestPayment 設定の取得](BucketPayerValues.md)
+ [リクエスタ支払いバケットからのオブジェクトのダウンロード](ObjectsinRequesterPaysBuckets.md)