今日は、S3のリクエスタ支払いのバケットポリシーの日。
目次
とある日
AWS の勉強用の記録。
よく問題集とかで出る項目だけを調べてまとめるだけ。
S3 リクエスタ支払い
一般に、Amazon S3 のバケットのストレージおよびデータ転送にかかるコストはすべて、そのバケット所有者が負担します。ただし、バケットをリクエスタ支払いバケットに設定することはできます。リクエスタ支払いバケットの場合、リクエストおよびバケットからのデータのダウンロードにかかるコストは、所有者でなくリクエストを実行したリクエスタが支払います。データの保管にかかるコストは常にバケット所有者が支払います。
通常は、データを共有したいが、他者がデータにアクセスする際に発生する費用を負担したくない場合に、リクエスタ支払いバケットをバケットに設定します。例えば、郵便番号リスト、参照データ、地理空間情報、ウェブクロールデータといった、大規模なデータセットを利用できるようにする際にリクエスタ支払いバケットを設定することができます。
x-amz-request-payer
バケットをリクエスタ支払いバケットとして設定すると、リクエスタは、リクエストに
x-amz-request-payer
を (POST、GET、HEAD リクエストの場合はヘッダーに、REST リクエストの場合はパラメータとして) 含めることで、リクエストとデータのダウンロードに課金されることを了解している旨を示す必要があります。
サポートしないリクエスタ支払いバケット
- 匿名リクエスト
- SOAP リクエスト
- リクエスタ支払いバケットをエンドユーザーログのターゲットバケットとして使用する場合、あるいはその逆。ただし、ターゲットバケットがリクエスタ支払いバケットでない場合は、リクエスタ支払いバケット上でエンドユーザーのログを有効にできます。
〆
S3リクエスト支払いは問題としてよく出るが、バケットポリシーでヘッダーにx-amz-request-payerを指定する必要がある。