こんにちは、マネージドサービス部テクニカルサポート課の柏尾です。
今回は re:Invent 2023 で発表された「Amazon S3 Express One Zone Storage Class」を Amazon EMR から利用できるようになりましたので、その内容について確認していきたいと思います。
Amazon S3 Express One Zone Storage Class とは
以下の記事[1] によると「Amazon S3 Express One Zone Storage Class」は、
「最も頻繁にアクセスされるデータやレイテンシーの影響を受けやすいアプリケーションに対して、一貫した 1 桁ミリ秒のデータ アクセスを提供することを目的として構築された、高性能の単一アベイラビリティーゾーンのストレージクラス」
とのことです。
[1] Amazon S3 Express One Zone Storage Class aws.amazon.com
S3 Express One Zone の特徴
また、特徴として以下の記載があります。
- S3 Express One Zone は、S3 Standard と比較してデータ アクセス速度を 10 倍向上
- リクエストコストを 50% 削減できる
- 1 分あたり数百万件のリクエストを処理できるように拡張できる
- S3 Express One Zone を使用すると、データを保存するために AWS リージョン内の特定の AWS アベイラビリティ ゾーンを選択できる
- ストレージを同じアベイラビリティーゾーン内のコンピューティングリソースと同じ場所に配置して、パフォーマンスをさらに最適化することができる
- データは別のバケット タイプ (S3 ディレクトリ バケット) に保存され、1 秒あたり数十万のリクエストをサポートする
- Amazon SageMaker Model Training、Amazon Athena、Amazon EMR、AWS Glue Data Catalog などのサービスと併用して、機械学習や分析のワークロードを高速化することができる
S3 Express One Zone の主なユースケース
主なユースケースとしては以下の記載がありました。
- 機械学習と人工知能のトレーニング
- インタラクティブなデータ分析
- ハイパフォーマンスコンピューティング (HPC)
- 財務モデリング
- リアルタイム広告
- メディアコンテンツのワークロード
このように、One Zone(単一のアベイラビリティゾーンにデータが保存される)ということを許容できる処理やデータであれば、アクセス速度やコスト削減の恩恵を受けることが可能となるアップデートとなっています。
Amazon EMR とは
Amazon EMR (旧称 Amazon Elastic MapReduce) は、Apache Spark、Apache Hive、Presto などのオープンソースフレームワークを使用して、ペタバイトスケールのデータ処理、相互分析、機械学習を行なうことができる、マネージドクラスタープラットフォームおよび、クラウドビッグデータソリューションとなっています[2]。
また、Amazon EMR を使用して、大量のデータを変換し、Amazon Simple Storage Service (Amazon S3) や Amazon DynamoDB などの他の AWS データストアやデータベースにデータを出し入れすることも可能となっています。
[2] Amazon EMR とは docs.aws.amazon.com
Amazon EMR で S3 Express One Zone を利用するには
Amazon EMRにて「Amazon S3 Express One Zone Storage Class」を利用できるようになったことにより、EMRでも、前述のような大量のデータ処理の高速化やコスト削減が期待できるものとなります。
Amazon EMR で S3 Express One Zone を利用するためにはいくつかの前提条件や考慮事項がありました[3]。
[3] Upload data to Amazon S3 Express One Zone docs.aws.amazon.com
前提条件
- S3 Express One Zone 権限が必要:EMRクラスターの Amazon EC2 インスタンス プロファイルにアタッチする IAM ポリシーにて「s3express:CreateSession」の権限が必要
- S3A connector を使用: S3 Express One Zone ストレージ クラスを使用する Amazon S3 バケットのデータにアクセスするように Spark クラスターを構成するには、クラスター定義にて Apache Hadoop コネクタ S3A を使用するように定義
考慮事項
- Amazon S3 Express One Zone は、Amazon EMR リリース 6.15.0 以降でサポートされる
- Amazon EMR で S3 Express One Zone を使用するには、S3A コネクタが必要
- Amazon S3 Express One Zone ストレージ クラスは、Amazon EC2 上で実行される Amazon EMR クラスター上の Spark でのみサポート
- S3 Express One Zone ストレージ クラスは、Amazon EMR サーバーレスまたは EKS 上の Amazon EMR ではサポートされていない
具体的な Amazon S3 Express One Zone を使用するEMRクラスターの設定方法につきましては前述のドキュメント[3]をご参照ください。
最後までお読み頂きありがとうございました。今回の記事がどなたかの参考になれば幸いです。