SAA

S3 Transfer Accelerationの性能をお手軽に検証

スポンサーリンク
S3 Transfer Accelerationの性能を検証 SAA
スポンサーリンク
スポンサーリンク

S3 Transfer Accelerationの性能を検証する構成

S3 Transfer Accelerationの性能を簡単に確認する方法をご紹介します。

S3 Transfer AccelerationはS3が提供するオプションの1つで、世界中のユーザーがデータをアップロード/ダウンロードする際の、ネットワークパフォーマンスを用意に最適化することができます。

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

Amazon S3 Transfer Acceleration を使用した高速かつ安全なファイル転送の設定

今回はS3 Transfer Accelerationの性能を確認するために、速度比較ツールのAmazon S3 Transfer Acceleration Speed Comparisonを使用して検証を行います。

構築する環境

Amazon.co.jp: AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版 : NRIネットコム株式会社, 佐々木 拓郎, 林 晋一郎, 金澤 圭: 本
Amazon.co.jp: AWS認定資格試験テキスト AWS認定ソリューションアーキテクト - アソシエイト 改訂第2版 : NRIネットコム株式会社, 佐々木 拓郎, 林 晋一郎, 金澤 圭: 本
Diagram of verifying performatance of S3 Transfer Acceleration.

S3バケットを1つ作成します。

本バケットはS3 Transfer Accelerationを有効に設定します。

CloudFormationテンプレートファイル

上記の構成をCloudFormationで構築します。

以下のURLにCloudFormationテンプレートを配置します。

https://github.com/awstut-an-r/awstut-saa/tree/main/02/002

テンプレートファイルのポイント解説

今回の環境を構成するための、各テンプレートファイルのポイントを取り上げます。

AccelerateConfigurationのStatusをEnabledにする

saa-02-002.yamlでS3バケット周りのリソースを定義します。

S3 Transfer Accelerationを有効化したバケットを作成します。

Resources:
  Bucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: !Sub ${Prefix}-bucket
      AccelerateConfiguration:
        AccelerationStatus: Enabled
      AccessControl: Private
Code language: YAML (yaml)

AccelerationConfigurationプロパティにてS3 Transfer Accelerationの設定を行います。同プロパティ内のAccelerationStatusプロパティを「Enabled」に指定することで有効化できます。デフォルトでは本プロパティは「Suspended」となっており、無効化されています。

環境構築

CloudFormationを使用して、本環境を構築し、実際の挙動を確認します。

CloudFormationスタックを作成し、スタック内のリソースを確認する

CloudFormationスタックを作成します。

スタックの作成および各スタックの確認方法については、以下のページをご確認ください。

上記コマンドの実行の結果、今回作成されたS3バケットの名前が「saa-02-002-bucket」であることを確認しました。

続いてバケットのS3 Transfer Accelerationの設定状況を確認します。

Enabling S3 Transfer Acceleration.

S「Enabled」ですので、有効化されています。

速度比較ツールでS3 Transfer Accelerationの性能を評価する

バケットの用意ができましたので、速度比較ツールを使用して、S3 Transfer Accelerationの性能を確認します。ツールの使用方法は、AWS公式サイトで紹介されている手順に従います。

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

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

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

上記に従い、URLを作成します。今回の構成に合わせて、regionおよびBucketNameを修正すると、以下のURLになります。

https://s3-accelerate-speedtest.s3-accelerate.amazonaws.com/en/accelerate-speed-comparsion.html?region=ap-northeast-1&origBucketName=saa-02-002-bucket

アクセス後、自動的にツールが開始されます。

Result of S3 Transfer Acceleration Speed Comparison.

画像のように、ツールが実行されると、各リージョンからテスト用データのアップロードが開始されます。データのアップロードは、S3 Transfer Accelerationの設定の有無が比較できるような形で実行されます。

画像の実行結果から、S3バケットの設置元であるTokyoリージョンに近いリージョン(TokyoやSeoul)からのアップロードでは効果は低いですが、遠いリージョン(DublinやFrankfurt)からのアップロードでは効果が高く、最大で2.5倍程度の向上が見込めることがわかりました。

まとめ

S3 Transfer Accelerationを有効化したS3バケットを作成しました。

評価ツールを使用して、S3 Transfer Accelerationによるファイル転送速度の高速化の性能を検証しました。

検証結果から、バケットから遠いリージョンでは2.5倍程度の高速化が見込めることが確認できました。

タイトルとURLをコピーしました