背景・目的
先日、Announcing the Amazon S3 Express One Zone storage classが発表されたので、どのようなものか確認し試してみます。
まとめ
S3 Express One Zone storage classには、下記の特徴があります。
特徴 | 概要 |
---|---|
目的 | 一桁ミリ秒のデータアクセスを提供するS3ストレージクラス アプリケーションはリクエストが最大1桁速く完了するメリットを享受可能 |
パフォーマンス | 現行のオブジェクトストレージと比較して最大10倍の速度 |
コスト | リクエストコストがS3 Standardの50%低減 |
トランザクション | 1秒あたり数十万のトランザクションをサポート |
配置 | 1つのアベイラビリティゾーン(AZ)に配置 |
可用性 | 単一のAZで99.95%を実現し、Amazon S3サービスレベルアグリーメント(SLA)に基づいている |
冗長性 | 単一のAZ内の複数のデバイスに冗長的に保存され、冗長性が失われた場合には検出され、新しいデバイスに自動的に移行して修復される |
ワークロード | 低レイテンシが求められるアプリケーションに最適 例:インタラクティブなワークロード、分析、機械学習 |
特性 | 小規模アクセスや多数のランダムアクセスに対応 |
他のAWSサービスとの連携 | Amazon EMR、Amazon Athena、Amazon SageMakerなどの分析やAI/MLワークロードをサポートする他のAWSサービスと併用可能 |
ディレクトリバケットを使用 | 汎用バケットと比較して機能は制限されている。 オブジェクトのACLや CloudTrailデータイベントなどがない。 |
料金 | Read/Write等のリクエスト料金は約半額だが、格納コストは倍近くかかる。 |
概要
What is S3 Express One Zone?
What is S3 Express One Zone?を元に整理します。
下記の特徴があります。
- 一桁ミリ秒のデータアクセスを目的としたS3ストレージクラス
- アプリケーションはリクエストが最大1桁速く完了する可能性がある。
- 現在のオブジェクトストレージと比較して、最大10倍速い
- リクエストコストは、S3 Standardの50%低い
- 数十万トランザクション/秒をサポート
- 1つのAZに配置
- 可用性は、単一AZで99.95%を実現するように設計されており、SLAが定義されている( Amazon S3 Service Level Agreement)
- 単一AZの複数デバイスに冗長的に保存され、冗長性が失われた場合に検出され、新しいデバイスに自動的に移動し修復する。
- 低レイテンシー向けのアプリケーションに最適
- インタラクティブなワークロード
- 分析、機械学習
- 小規模アクセスや多数のランダムアクセス
- EMR、Athena、SageMakerなどの分析やAL/MLのワークロードをサポートする他のAWSと併用できる。
- VPCe、SSE-S3、パブリックブロックアクセス等にも対応
Overview
特徴的な機能をピックアップして整理します。全てではありませんので、詳細はドキュメントをご確認ください。
Directory buckets
Amazon S3バケットには、2種類が存在します:汎用バケットとS3ディレクトリバケットです。
汎用バケットは、S3の多くのワークロードで使用される標準的なS3バケットで、フラットな保存機構を採用しています。
S3ディレクトリバケットは、S3 Express One Zoneストレージクラス専用に使用されるもので、データを階層的に整理することが特徴です。
ディレクトリバケットはプレフィックス制限がなく、各ディレクトリは水平方向に拡張することが可能です。
S3 Express One Zoneを選択すると、オブジェクトストレージとコンピュートリソースを同じ場所に配置できるアベイラビリティゾーン(AZ)を選択できます。これにより、ストレージと計算リソースの間のデータアクセス速度が最適化されます。
下記にディレクトリバケットと汎用バケットの比較を記載します。
特徴 | 汎用バケット | S3ディレクトリバケット |
---|---|---|
ストレージタイプ | 標準的なS3バケット | S3 Express One Zone専用 |
データの保存機構 | フラットな保存機構 | 階層的な整理 |
使用されるストレージクラス | 多くのS3ストレージクラス | S3 Express One Zone |
その他制約事項など | アカウント単位で最大100バケットまで(ソフトリミット) | アカウント単位で最大10バケットまで(ソフトリミット) |
Session-based authorization
S3 Express One Zoneを使用すると、セッションベースのメカニズムを通してリクエストを認証、承認する。
Features of S3 Express One Zone
Access management and security
- S3 ブロック パブリック アクセス:すべての S3 ブロック パブリック アクセス設定は、デフォルトでバケット レベルで有効
- S3 オブジェクト所有権 (デフォルトで強制されるバケット所有者) :アクセス制御リスト (ACL) はディレクトリ バケットではサポートされません。ディレクトリバケットは、S3 オブジェクト所有権のバケット所有者強制設定を自動的に使用
実践
2023/12/10現在で、米国東部 (バージニア北部)、米国西部 (オレゴン)、欧州 (ストックホルム)、アジアパシフィック (東京) のみ利用出来ます。
Announcing the new Amazon S3 Express One Zone high performance storage classの記事を参考に試してみます。
バケットの作成
-
AWSにログインし、S3のトップページに移動します。
-
下記を入力し、最後に「バケットを作成」をクリックします。
-
オブジェクトタブをクリックします。概要と暗号化設定しかありません。汎用バケットと比較してCloudTrailのデータイベント、オブジェクトロックなどは用意されていせん。
インポート
既存の汎用バケットのコンテンツをディレクトリバケットにコピーできるようです。
-
下記を入力し、「インポート」をクリックすると、バッチオペレーションによりコピーされます。
-
しばらくすると、ステータスは「完了済み」になりました。
考察
今回、S3 Express One Zoneを試してみました。まだ、その特徴的な性能(レイテンシ)を確認していませんが、今後はAthena等を使って比較し、その効果を検証したいと考えています。
また、まだ全てを把握しているわけではありませんが、以下の特徴に基づき、データマートでのETLプロセスの最後のデータマートとして利用するワークロードや、データ基盤のランディングゾーンでのtext/gzなど読み込み効率が低いRawデータの一時的な配置に適していると考えられます。
- 低レイテンシー
- 料金は、S3 Standardと比較して、Read/Writeが約半額、保管コストはおおよそ倍
- 1AZに配置
参考