S3 Transfer Acceleration の有効化と使用
Amazon S3 Transfer Acceleration を使用すると、クライアントと S3 バケットの間で、長距離にわたるファイル転送を迅速かつ安全に行うことができます。S3 コンソール、AWS Command Line Interface (AWS CLI)、API、または AWS SDK を使用して Transfer Acceleration を有効にすることができます。
このセクションでは、バケットに対する Amazon S3 Transfer Acceleration を有効にして、有効にしたバケットに高速化エンドポイントを使用する方法の例を示します。
Transfer Acceleration の要件の詳細については、[Amazon S3 Transfer Acceleration を使用した高速かつ安全なファイル転送の設定] を参照してください。
注記
高速アップロード速度と非高速アップロード速度を比較する場合は、Amazon S3 Transfer Acceleration 速度比較ツール
速度比較ツールでは、マルチパートアップロードを使用して、ブラウザからさまざまな AWS リージョンにファイルを転送し、Amazon S3 Transfer Acceleration を使用した場合と使用していない場合の速度を比較します。リージョン別に、ダイレクトアップロードの速度と、高速化アップロードの速度を比較できます。
S3 バケットの Transfer Acceleration を有効にするには
AWS Management Console にサインインし、Amazon S3 コンソール (https://console.aws.amazon.com/s3/
) を開きます。 -
[バケット] リストで、Transfer Acceleration を有効にするバケットの名前を選択します。
-
[プロパティ] を選択します。
-
[Transfer Acceleration] で、[編集] を選択します。
-
[有効化] を選択し、[変更を保存] を選択します。
高速データ転送にアクセスするには
-
Amazon S3 によってバケットの Transfer Acceleration が有効になると、バケットの プロパティ タブが表示されます。
-
Transfer acceleration の 高速化エンドポイント には、バケットの Transfer Acceleration エンドポイントが表示されます。このエンドポイントを使用して、バケットとの間の高速データ転送にアクセスします。
Transfer Acceleration を停止した場合、高速化エンドポイントは機能しなくなります。
以下は、Transfer Acceleration で使用される AWS CLI コマンドの例です。AWS CLI をセットアップする手順については、[AWS CLI を使用した Amazon S3 での開発] を参照してください。
バケットでの Transfer Acceleration の有効化
AWS CLI put-bucket-accelerate-configuration コマンドを使用すると、バケットで Transfer Acceleration を有効化または停止できます。
次の例では、Status=Enabled
を設定することにより、バケットに対する Transfer Acceleration を有効にしています。Status=Suspended
を使用して、Transfer Acceleration を一時停止します。
$
aws s3api put-bucket-accelerate-configuration --bucketbucketname
--accelerate-configuration Status=Enabled
Transfer Acceleration の使用
S3 および s3api AWS CLI コマンドによって行われたすべての Amazon S3 リクエストを、高速化エンドポイント: s3-accelerate.amazonaws.com
に送信できます。これを行うには、AWS Config ファイルのプロファイルで、設定値 use_accelerate_endpoint
を true
に設定します。高速化エンドポイントを使用するには、バケットに対する Transfer Acceleration を有効にしておく必要があります。
すべてのリクエストはバケットアドレス指定の仮想スタイル (my-bucket.s3-accelerate.amazonaws.com
) を使用して送信されます。高速化エンドポイントでは、これらのオペレーションをサポートしていないため、ListBuckets
、CreateBucket
、DeleteBucket
リクエストは高速化エンドポイントには送信されません。
use_accelerate_endpoint
の詳細については、AWS CLI CLI コマンドリファレンスの「AWS CLI S3 の設定」を参照してください。
次の例では、デフォルトのプロファイル内で use_accelerate_endpoint
を true
に設定しています。
$
aws configure set default.s3.use_accelerate_endpoint true
一部の AWS CLI コマンドについてのみ高速化エンドポイントを使用するには、次のいずれかの方法を使用できます。
-
すべての s3 または s3api コマンドで高速化エンドポイントを使用するには、
--endpoint-url
パラメータをhttps://s3-accelerate.amazonaws.com
に設定します。 -
AWS Config ファイル内で別々のプロファイルを設定できます。たとえば、
use_accelerate_endpoint
をtrue
に設定するプロファイルとuse_accelerate_endpoint
を設定しないプロファイルを作成します。コマンドを実行する際は、高速化エンドポイントを使用するかどうかによって、適切なプロファイルを指定します。
Transfer Acceleration が有効になっているバケットにオブジェクトをアップロードする
次の例では、高速化エンドポイントの使用が設定されているデフォルトプロファイルを使用して、Transfer Acceleration が有効になっているバケットにファイルをアップロードします。
$
aws s3 cpfile.txt
s3://bucketname/keyname
--regionregion
次の例では、--endpoint-url
パラメータで高速化エンドポイントを指定して、Transfer Acceleration が有効になっているバケットにファイルをアップロードします。
$
aws configure set s3.addressing_style virtual$
aws s3 cpfile.txt
s3://bucketname/keyname
--regionregion
--endpoint-url https://s3-accelerate.amazonaws.com
以下は、AWS SDK で Transfer Acceleration を使用して Amazon S3 にオブジェクトをアップロードする例です。AWS SDK でサポートされている一部の言語 (Java、.NET など) では高速化エンドポイントのクライアント設定フラグを使用できるため、Transfer Acceleration 用のエンドポイントを明示的に bucketname
.s3-accelerate.amazonaws.com に設定する必要はありません。
REST API PutBucketAccelerateConfiguration
オペレーションを使用して、既存のバケットでアクセラレーション設定を有効にします。
詳細については、Amazon Simple Storage Service API リファレンスの「PutBucketAccelerateConfiguration」を参照してください。