Amazon S3 Transfer Acceleration - Amazon Simple Storage Service

Amazon S3 Transfer Acceleration

Amazon S3 Transfer Acceleration を使用すると、クライアントと S3 バケットの間で、長距離にわたるファイル転送を高速、簡単、安全に行えるようになります。Transfer Acceleration では、Amazon CloudFront の世界中に分散したエッジロケーションを利用しています。エッジロケーションに到着したデータは、最適化されたネットワークパスで Amazon S3 にルーティングされます。

Transfer Acceleration を使用する場合は、追加のデータ転送料金が発生することもあります。料金の詳細については、「Amazon S3 の料金」を参照してください。

Amazon S3 Transfer Acceleration を使用する理由

次のような場合は、バケットに対する Transfer Acceleration の使用が推奨されます。

  • 中央のバケットに対して世界中のお客様からアップロードが行われる。

  • 大陸間で定期的にギガバイトからテラバイト単位のデータを転送する。

  • Amazon S3 へのアップロード時にインターネット経由で利用可能な帯域幅を十分に活用できていない。

Transfer Acceleration の使用が適しているケースの詳細については、「Amazon S3 のよくある質問」を参照してください。

Amazon S3 Transfer Acceleration の速度比較ツールを使用する

Amazon S3 Transfer Acceleration 速度比較ツールを使用すると、高速化した場合と高速化していない場合の Amazon S3 リージョン間でのアップロード速度を比較できます。速度比較ツールでは、マルチパートアップロードを使用して、ブラウザからさまざまな Amazon S3 リージョンにファイルを転送できます。このときに、Transfer Acceleration を利用する場合と利用しない場合を比較できます。

速度比較ツールには、次のいずれかの方法でアクセスできます。

  • 下に示す URL をブラウザウィンドウにコピーします。このとき、region はお使いのリージョン (us-west-2 など) に、yourBucketName は評価対象のバケット名に置き換えてください。

    https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html?region=region&origBucketName=yourBucketName

     

    Amazon S3 でサポートされるリージョンのリストについては、『アマゾン ウェブ サービス全般のリファレンス』の「リージョンとエンドポイント」を参照してください。

  • Amazon S3 コンソールを使用します。詳細については、Amazon Simple Storage Service コンソールユーザーガイドの「Transfer Acceleration の有効化」を参照してください。

Amazon S3 Transfer Acceleration の使用開始

Amazon S3 Transfer Acceleration の使用を開始するには、以下の手順を実行します。

  1. バケットに対する Transfer Acceleration を有効にする – バケットで Transfer Acceleration を使用するには、バケット名がピリオド (".") を含んでおらず、DNS 命名要件に準拠している必要があります。

    バケットでは、次のいずれかの方法で Transfer Accelerationを有効にすることができます。

  2. 以下の s3-accelerate エンドポイントドメイン名のいずれかを使用して、高速化を有効にしたバケットとのデータの送受信を行います。

    • bucketname.s3-accelerate.amazonaws.com – 高速化を有効にしたバケットにアクセスします。

    • bucketname.s3-accelerate.dualstack.amazonaws.com – IPv6 経由で、高速化を有効にしたバケットにアクセスします。Amazon S3 デュアルスタックエンドポイントは、IPv6 および IPv4 を介した S3 バケットへのリクエストをサポートしています。Transfer Accelerationデュアルスタックエンドポイントのみが、仮想ホスト形式のエンドポイント名を使用します。詳細については、「IPv6 を使用したリクエストの実行の開始方法」および「Amazon S3 デュアルスタックのエンドポイントの使用」を参照してください。

    注記

    高速化エンドポイントに加えて、通常のエンドポイントを引き続き使用することもできます。

    Transfer Acceleration を有効にしたあと、s3-accelerate エンドポイントドメイン名への、Amazon S3 の PUT Object および GET Object のリクエストを指すことができます。たとえば、PUT Object を利用した REST API アプリケーションで、PUT リクエストに mybucket.s3.us-east-1.amazonaws.com というホスト名を使用しているとします。この場合、PUT を高速化するには、リクエスト内のホスト名を mybucket.s3-accelerate.amazonaws.com に変更します。標準アップロード速度の使用に戻るには、名前を mybucket.s3.us-east-1.amazonaws.com に戻します。

    Transfer Acceleration を有効にしたあと、パフォーマンス上の利点が感じられるまでには最長で 20 分ほどかかります。ただし、高速化エンドポイントは、Transfer Acceleration を有効にするとすぐに利用できます。

    AWS CLI、AWS SDK、あるいは他のツールで Amazon S3 との間でデータをやり取りする場合、高速化エンドポイントを使用して転送できます。AWS SDK を使用している場合、サポートされている一部の言語では高速化エンドポイントのクライアント設定フラグを使用でき、Transfer Acceleration 用のエンドポイントを明示的に bucketname.s3-accelerate.amazonaws.com に設定する必要はありません。高速化エンドポイントのクライアント設定フラグを使用する方法の例については、「Amazon S3 Transfer Acceleration の例」を参照してください。

Transfer Acceleration エンドポイントでは、GET Service (ListBuckets)PUT Bucket (CreateBucket)、および DELETE Bucket オペレーションを除いて、すべての Amazon S3 オペレーションを行うことができます。また、Amazon S3 Transfer Acceleration は PUT Object - Copy を使用したリージョン間のコピーをサポートしていません。

Amazon S3 Transfer Acceleration を使用するための要件

S3 バケットで Transfer Acceleration を使用するための要件を次に示します。

  • Transfer Acceleration は仮想ホスト形式のリクエストでのみサポートされます。仮想ホスト形式のリクエストの詳細については、「REST API を使用したリクエストの実行」を参照してください。

  • Transfer Acceleration で使用するバケットは、ピリオド (".") が含まれていない DNS 準拠の名前にする必要があります。

  • Transfer Acceleration は、バケットに対して有効にする必要があります。バケットに対する Transfer Acceleration を有効にした後、バケットへのデータ転送速度が上昇するまでに、最長で 20 分かかる場合があります。

    注記

    現在、Transfer Acceleration は以下のリージョンにあるバケットではサポートされていません。

    • アフリカ (ケープタウン) (af-south-1)

    • アジアパシフィック (香港) (ap-east-1)

    • アジアパシフィック (大阪: ローカル) (ap-northeast-3)

    • 欧州 (ストックホルム) (eu-north-1)

    • ヨーロッパ (ミラノ) (eu-south-1)

    • 中東 (バーレーン) (me-south-1)

  • Transfer Acceleration に有効なバケットにアクセスするには、エンドポイント bucketname.s3-accelerate.amazonaws.com、またはデュアルエンドポイント bucketname.s3-accelerate.dualstack.amazonaws.com を使って、IPv6 を使用して有効なバケットに接続する必要があります。

  • 転送状態として高速化を設定するには、バケット所有者である必要があります。バケット所有者は他のユーザーに対し、バケットに高速化状態を設定するためのアクセス許可を割り当てることができます。s3:PutAccelerateConfiguration アクセス許可では、ユーザーがバケットで Transfer Acceleration を有効または無効にすることができます。また、s3:GetAccelerateConfiguration アクセス許可では、ユーザーはバケットの Transfer Acceleration 状態 (Enabled または Suspended.) を返すことができます。これらのアクセス許可の詳細については、「例 — バケットサブリソースオペレーション」および「Amazon S3 での Identity and Access Management」を参照してください。

詳細