LoginSignup
2
1

Amazon S3 Express One Zoneを試してみた

Last updated at Posted at 2023-12-10

背景・目的

先日、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等のリクエスト料金は約半額だが、格納コストは倍近くかかる。
  • 目的:一桁ミリ秒のデータアクセスを提供する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の記事を参考に試してみます。

バケットの作成

  1. AWSにログインし、S3のトップページに移動します。

  2. ディレクトリバケットのタブが増えています。
    image.png

  3. ①「ディレクトリバケット」をクリックし②「バケットを作成」ボタンをクリックします。
    image.png

  4. 下記を入力し、最後に「バケットを作成」をクリックします。

    • AWSリージョンを選択。現在、利用可能なリージョンは限定されるので注意が必要です。今回はus-west-2で作成しています。
    • バケットタイプ:ディレクトリ
    • AZ:選択したリージョンのうち一つ。今回はusw2-az1を選択。
    • チェックボックス:AZ1つに保存される旨を認識して有効化。
    • バケット名:任意。バケット名のサフィックスに、AZと--x-s3が自動で付与されます。
      image.png
      image.png
      image.png
  5. 出来ました。タブについて汎用バケットと比較し、管理とアクセスポイントがないようです。
    image.png

  6. オブジェクトタブをクリックします。概要と暗号化設定しかありません。汎用バケットと比較してCloudTrailのデータイベント、オブジェクトロックなどは用意されていせん。
    image.png

  7. アクセス許可タブをクリックします。汎用バケットと比較して、ACL、CORSがありません。
    image.png
    image.png

  8. メトリクスタブをクリックします。汎用バケットと比較して、ストレージクラス分析、レプリケーションメトリクスはありません。
    image.png

インポート

既存の汎用バケットのコンテンツをディレクトリバケットにコピーできるようです。

  1. ①「ディレクトリバケット」を選択し、②「インポート」ボタンをクリックします。
    image.png

  2. 下記を入力し、「インポート」をクリックすると、バッチオペレーションによりコピーされます。

    • ソース:汎用バケット。今回は、過去に作成したticktdbのlistingデータを使用します。
    • IAMロール
      image.png
      image.png
  3. しばらくすると、画面がバッチオペレーションの画面に切り替わります。ステータスは準備中です。
    image.png

  4. しばらくすると、ステータスは「完了済み」になりました。

  5. コピーされたファイルのストレージクラスも「S3 Express One Zone」になっていることがわかります。
    image.png

  6. S3 Selectは出来ないようです。アクションタブに見当たりませんでした。
    image.png

考察

今回、S3 Express One Zoneを試してみました。まだ、その特徴的な性能(レイテンシ)を確認していませんが、今後はAthena等を使って比較し、その効果を検証したいと考えています。
また、まだ全てを把握しているわけではありませんが、以下の特徴に基づき、データマートでのETLプロセスの最後のデータマートとして利用するワークロードや、データ基盤のランディングゾーンでのtext/gzなど読み込み効率が低いRawデータの一時的な配置に適していると考えられます。

  • 低レイテンシー
  • 料金は、S3 Standardと比較して、Read/Writeが約半額、保管コストはおおよそ倍
  • 1AZに配置

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1