バケットでのリクエスタ支払いの設定 - Amazon Simple Storage Service

バケットでのリクエスタ支払いの設定

Amazon S3 バケットをリクエスタ支払いバケットに設定して、バケット所有者の代わりにリクエスタがリクエストとデータダウンロードの費用を支払うようにすることができます。

このセクションでは、コンソールと REST API を使用して Amazon S3 バケットでリクエスタ支払いを設定する方法の例を示します。

S3 バケットのリクエスタ支払いを有効にするには

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

  2. [バケット] のリストで、リクエスタ支払いを有効にするバケットの名前を選択します。

  3. [プロパティ] を選択します。

  4. [リクエスタ支払い] で、[編集] を選択します。

  5. [有効化] を選択し、[変更を保存] を選択します。

    Amazon S3 は、[バケットのリクエスタ支払い] を有効にし、[バケットの概要] を表示します。[リクエスタ支払い] の下に、[有効] と表示されます

バケット所有者のみが、バケットのRequestPaymentConfiguration.payerの設定値をBucketOwner (デフォルト) またはRequesterに設定できます。requestPayment リソースの設定はオプションです。デフォルトでは、バケットはリクエスタ支払いバケットではありません。

リクエスタ支払いバケットを通常のバケットに戻すには、値 BucketOwner を使用します。通常、Amazon S3 バケットにデータをアップロードする際に BucketOwner を使用し、その後、バケット内のオブジェクトを公開する前に値を Requester に設定します。

requestPayment を設定するには

  • PUT リクエストを使用して、指定したバケットの Payer の値を Requester に設定します。

    PUT ?requestPayment HTTP/1.1 Host: [BucketName].s3.amazonaws.com Content-Length: 173 Date: Wed, 01 Mar 2009 12:00:00 GMT Authorization: AWS [Signature] <RequestPaymentConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <Payer>Requester</Payer> </RequestPaymentConfiguration>

リクエストが成功すると、Amazon S3 は、以下のようなレスポンスを返します。

HTTP/1.1 200 OK x-amz-id-2: [id] x-amz-request-id: [request_id] Date: Wed, 01 Mar 2009 12:00:00 GMT Content-Length: 0 Connection: close Server: AmazonS3 x-amz-request-charged:requester

リクエスタ支払いは、バケットレベルでのみ設定できます。バケット内の特定のオブジェクトに対してリクエスタ支払いを設定することはできません。

バケットは、いつでも自由に BucketOwner または Requester に設定できます。ただし、新しい設定値が有効になるまでに数分かかる場合があります。

注記

特に URL の有効期限がとても長い場合、署名付き URL を提供するバケット所有者は、バケットをリクエスタ支払いに設定する前によく検討してください。バケット所有者は、バケット所有者の認証情報を使用する署名付き URL をリクエスタが使用するたびに課金されます。