TOP>コラム一覧>Amazon S3 Express One Zoneの性能を調べてみた

Amazon S3 Express One Zoneの性能を調べてみた

はじめに

こんにちは、高橋です。
私が好きなサービスはAmazon S3です。どこからでもアクセスでき、容量は無制限、安価、データが失われるリスクも限りなく低いというとても素晴らしいサービスですね。そのS3に昨年のre:invent 2023で、新しいストレージクラスであるAmazon S3 Express One Zoneが発表されました。うたい文句は従来のS3の10倍のI/O性能ということでしたので、今回は実際にどれぐらい速いのか試してみたいと思います。

1.Amazon S3 Express One Zoneとは?

Amazon S3 Express One ZoneはAmazon S3に追加された新しいストレージクラスで、S3の中でも最もスループットが高く、レイテンシーも低いものとなります。Amazon S3 Express One Zoneはシングルアベイラビリティーゾーン構成となっており、データアクセス速度は最大 10 倍速くなるとなっています。Amazon S3 Standardと同様にシングルアベイラビリティーゾーン構成のOne Zone-1Aとのスペックを纏めると以下のようになります。

Standard One Zone-1A Express One Zone
レイテンシー ミリ秒 ミリ秒 一桁ミリ秒
耐久性 99.999999999% 99.999999999% 99.999999999%
利用アベイラビリティゾーン 3以下 1 1
可用性 99.99% 99.5% 99.95%
保存料金(GB) $0.025 $0.0138 $0.18
主な用途 汎用ストレージ アクセス頻度が少ないデータ用 最もアクセス頻度が高いデータ用

耐久性はイレブンナインでどのストレージも変わりませんが、One Zone-1AとExpress One Zoneはシングルアベイラビリティーゾーン構成なのでアベイラビリティゾーンが全滅する様な大災害が発生したら、データロスのリスクがあります。

2.Amazon S3 Express One Zoneの作成

ここではAmazon S3 Express One Zoneを作成してみます。
ただ作製は簡単で、通常のS3作成のウィザードの中でバケットタイプを「ディレクトリ-新規」を選択し、作成するアベイラビリティゾーンを指定し、「データは 1 つのアベイラビリティゾーンに保存されます」にチェックを入れ、バケットのベース名を入力するだけです。

バケット名にはサフィックスが自動的に付与され、どこのリージョンにあるかすぐわかるようになっています。

3.AWS CLIからの読み書き性能比較

続いてStandardクラスとI/O性能を比較してみます。
テストはAmazon S3 Express One Zone があるアベイラビリティゾーンにEC2インスタンスを作成し、そこからAWS CLIのコマンドで1GBのファイルを読み書き(copy)し、それに要した時間を計測します。それを7回実施し、最短と最長時間を切った5回分の平均時間で比較を行います。
結果は下記の通りとなりました。

読み込み 書き込み
S3 Standard S3 Express 1-Z S3 Standard S3 Express 1-Z
1回目 4.005秒 3.570秒 6.011秒 2.685秒
2回目 3.916秒 3.571秒 5.799秒 2.636秒
3回目 4.079秒 3.581秒 5.955秒 2.866秒
4回目 4.014秒 3.652秒 5.811秒 2.927秒
5回目 4.022秒 3.611秒 5.972秒 3.231秒
6回目 4.015秒 3.522秒 6.018秒 2.641秒
7回目 3.934秒 3.618秒 5.642秒 2.654秒
平均 3.998秒 3.590秒 5.910秒 2.755秒

読み込みに関しては10%程度Amazon S3 Express One Zoneの方が処理速度が速いという結果が得られ、全体的に少し速度が上がるかなという程度の結果となりました。それに対して書き込みはAmazon S3 Express One Zoneの方が2倍以上の速度で処理が完了し、書き込み性能の方が大きな恩恵が得られるという結果となりました。

4.Mountpoint for Amazon S3を利用した場合の性能比較

Amazon S3 Express One Zoneは、昨年夏ごろにGAされたMountpoint for Amazon S3にも対応しています。Mountpoint for Amazon S3はEC2やECSインスタンスがS3バケットをファイルシステムとしてマウントし、OSコマンドで直接読み書きすることができる機能です。
今回はLinux上でテストをしたいので、まずは下記のようにmount-s3のパッケージをダウンロードしてS3バケットをマウントします。

[ec2-user@ip- tmp]$ wget https://s3.amazonaws.com/mountpoint-s3-release/latest/x86_64/mount-s3.rpm
[ec2-user@ip- tmp]$ sudo yum install mount-s3.rpm
[ec2-user@ip- tmp]$
[ec2-user@ip- tmp]$ mount-s3 s3exoz--apne1-az1--x-s3(バケット名) /home/ec2-user/ ex-1zone(マウントポイント)
bucket s3exoz--apne1-az1--x-s3 is mounted at /home/ec2-user/ex-1zone    

では読み書きのテストを実施しようと思いますが、Amazon S3 Express One Zoneは小さいファイルのI/Oの方がより効果的と言われているので、今回は1KBのファイルを100個用意して、それをOSのcpコマンドでマウントしたS3バケットに読み書きするテストを行います。こちらもそれぞれ7回実施し、最短と最長時間を切った5回分の平均時間で比較を行います(AWS CLIのときも試したかったのですが、I/Oの時間よりそれ以外の待ち時間が長すぎてテストの意味がありませんでした)。

読み込み 書き込み
S3 Standard S3 Express 1-Z S3 Standard S3 Express 1-Z
1回目 14.046秒 6.557秒 59.437秒 24.275秒
2回目 13.577秒 6.529秒 55.604秒 24.019秒
3回目 13.328秒 6.485秒 52.660秒 23.588秒
4回目 12.598秒 6.487秒 50.322秒 24.051秒
5回目 12.205秒 6.460秒 50.324秒 24.149秒
6回目 12.289秒 6.477秒 49.703秒 24.512秒
7回目 11.778秒 6.467秒 49.090秒 24.018秒
平均 12.799秒 6.489秒 51.723秒 24.102秒

こちらの場合は読み書き共にExpress One ZoneはStandardの2倍の速度で実行されており、言われていた通り速度に関しては十分な優位性があることが確認できました。

さいごに

今回Amazon S3 Express One ZoneはI/O性能に優れているという触れ込みを受けて、実際にそうなのかと速度の比較を行いましたが、単純な検証でも一般的なStandardクラスの2倍程度の速度がでることが確認でき、少しでも早く処理をしたいという場合には有用であることが分かりました。これまで多くの場合はStandardクラスを利用してきましたが、今後は用途に応じてExpress One Zoneを選択するのはありだと思います。

CTCは、AWSのビジネス利活用に向けて、お客様のステージに合わせた幅広い構築・運用支援サービスを提供しています。
経験豊富なエンジニアが、ワンストップかつ柔軟にご支援します。
ぜひ、お気軽にお問い合わせください。

お問い合わせ



【著者プロフィール】

高橋 繁義(たかはし しげよし)

伊藤忠テクノソリューションズ株式会社 クラウドアーキテクト

インフラ全般のエンジニアとして20年以上活動し、現在AWS専任の技術担当兼サービス企画担当として活動中
2022年から2年連続でAPN Ambassadorに選任

高橋 繁義(たかはし しげよし)

TOP>コラム一覧>Amazon S3 Express One Zoneの性能を調べてみた

pagetop