S3 Express One Zone とは - Amazon Simple Storage Service

S3 Express One Zone とは

Amazon S3 Express One Zone は、最もレイテンシーの影響を受けやすいアプリケーションに 1 桁のミリ秒単位で一貫したデータアクセスを提供することを目的として構築された、高パフォーマンスのシングルアベイラビリティーゾーンの Amazon S3 ストレージ クラスです。S3 Express One Zone は、現在入手可能なレイテンシーが最も低いクラウドオブジェクトストレージクラスで、データアクセス速度は最大 10 倍速く、リクエストコストは S3 Standard より 50% 低減されます。リクエストが最大で 1 桁速く完了するため、アプリケーションは直ちにメリットを得られます。S3 Express One Zone は、その他の S3 ストレージクラスと同様のパフォーマンス伸縮性を備えています。

他の Amazon S3 ストレージクラスと同様に、容量やスループットの要件を事前に計画したりプロビジョンしたりする必要はありません。必要に応じてストレージをスケールアップまたはスケールダウンでき、Amazon S3 API を介してデータにアクセスできます。

S3 Express One Zone は、オブジェクトストレージをコンピューティングリソースと同じ場所に配置するオプションを提供し、単一のアベイラビリティーゾーンを選択できる最初の S3 ストレージクラスです。これにより、アクセス速度が最大限に高速化します。また、アクセス速度をさらに向上させて 1 秒あたり数十万のリクエストに対応するために、S3 Express One Zone ストレージクラスはデータを新しいバケットタイプである Amazon S3 ディレクトリバケットに保存します。キー名やアクセスパターンを問わず、各ディレクトリバケットは、1 秒あたり数十万のトランザクション (TPS) をサポートできます。

Amazon S3 Express One Zone ストレージクラスは、単一のアベイラビリティーゾーン内で 99.95% の可用性を実現するように設計されており、Amazon S3 サービスレベル契約に基づいています。S3 Express One Zone では、データは単一のアベイラビリティーゾーン内で冗長的に複数のデバイスに保存されます。S3 Express One Zone は、冗長性の損失を迅速に検出して修復することによって、同時デバイス障害を処理するように設計されています。既存のデバイスに障害が発生した場合、S3 Express One Zone はアベイラビリティーゾーン内の新しいデバイスに自動的にリクエストを移します。この冗長性により、アベイラビリティーゾーン内のデータへのアクセスの中断が回避されます。

S3 Express One Zone は、オブジェクトへのアクセスに必要なレイテンシーを最小限に抑えることが重要なあらゆるアプリケーションに最適です。このようなアプリケーションは、クリエイティブプロフェッショナルがユーザーインターフェイスからコンテンツに迅速にアクセスする必要がある、動画編集のような人間との対話型のワークフローになる可能性があります。S3 Express One Zone は、データに対する応答性の要件が似ている分析や機械学習のワークロード、特に小規模なアクセスやランダムアクセスが多いワークロードにも役立ちます。S3 Express One Zone は、Amazon EMR、Amazon SageMaker、Amazon Athena など、分析や人工知能と機械学習 (AI/ML) のワークロードをサポートするためにその他の AWS のサービス と併用できます。

S3 Express One Zone の仕組みを説明する図

S3 Express One Zone を使用する場合、ゲートウェイ VPC エンドポイントを使用して、仮想プライベートクラウド (VPC) 内のディレクトリバケットを操作できます。ゲートウェイエンドポイントを使用すると、VPC 用のインターネットゲートウェイや NAT デバイスを必要とせず追加コストあんしで、VPC から S3 Express One Zone にディレクトリバケットにアクセスできます。

汎用バケットやその他のストレージクラスで使用しているのと同じ Amazon S3 の API オペレーションと機能の多くをディレクトリバケットでも使用できます。これには、Amazon S3 のマウントポイント、Amazon S3 マネージドキー (SSE-S3) によるサーバー側の暗号化、S3 バッチオペレーション、S3 ブロックパブリックアクセスなどがあります。Amazon S3 コンソール、AWS Command Line Interface (AWS CLI)、AWS SDK、Amazon S3 REST API を使用して S3 Express One Zone にアクセスすることができます。

S3 Express One Zone の詳細については、次のトピックを参照してください。

概要

パフォーマンスを最適化してレイテンシーを低減するために、S3 Express One Zone には次の新しい概念が導入されています。

単一のアベイラビリティーゾーン

Amazon S3 Express One Zone ストレージクラスは、単一のアベイラビリティーゾーン内で 99.95% の可用性を実現するように設計されており、Amazon S3 サービスレベル契約に基づいています。S3 Express One Zone では、データは単一のアベイラビリティーゾーン内で冗長的に複数のデバイスに保存されます。S3 Express One Zone は、冗長性の損失を迅速に検出して修復することによって、同時デバイス障害を処理するように設計されています。既存のデバイスに障害が発生した場合、S3 Express One Zone はアベイラビリティーゾーン内の新しいデバイスに自動的にリクエストを移します。この冗長性により、アベイラビリティーゾーン内のデータへのアクセスの中断が回避されます。

アベイラビリティーゾーンは、AWS リージョン の 冗長電源、ネットワーク、および接続を備えた1つ以上の個別のデータセンターです。ディレクトリバケットを作成する際は、バケットの配置場所であるアベイラビリティーゾーンと AWS リージョン を選択します。

ディレクトリバケット

Amazon S3 バケットには、S3 汎用バケットと S3 ディレクトリバケットの 2 種類があります。汎用バケットは、S3 ユースケースの大部分で使用されているデフォルトの Amazon S3 バケットタイプです。ディレクトリバケットは、S3 Express One Zone ストレージクラスのみを使用します。これは、一貫して 1 桁ミリ秒のレイテンシーに維持する必要があるワークロードまたはパフォーマンス重視のアプリケーション向けに設計されています。アプリケーションとパフォーマンス要件に最適なバケットタイプを選択します。

ディレクトリバケットは、汎用バケットのフラットなストレージ構造とは対照的に、データを階層的にディレクトリにまとめます。ディレクトリバケットにはプレフィックスの制限はなく、個々のディレクトリは水平方向にスケールできます。

ディレクトリバケットは、パフォーマンス重視のアプリケーションで使用されるように構築された S3 Express One Zone ストレージクラスを使用します。S3 Express One Zone は、オブジェクトストレージをコンピュートリソースと同じ場所に配置するオプションを備えた単一のアベイラビリティーゾーンを選択できるため、最高レベルのアクセス速度を実現できます。これは、AWS リージョン 内の複数のアベイラビリティーゾーンでオブジェクトを冗長的に保存する汎用バケットとは異なります。

汎用バケットの詳細については、「ディレクトリバケット」を参照してください。汎用バケットの詳細については、「バケットの概要」を参照してください。

エンドポイントとゲートウェイ VPC エンドポイント

ディレクトリバケットのバケット管理 API オペレーションはリージョンエンドポイントを通じて利用でき、リージョンエンドポイント API オペレーションと呼ばれます。リージョンエンドポイント API オペレーションの例には、CreateBucketDeleteBucket があります。ディレクトリバケットを作成した後、ゾーンエンドポイント API オペレーションを使用して、ディレクトリバケット内のオブジェクトをアップロードして管理できます。ゾーンエンドポイント API オペレーションは、ゾーンエンドポイントを通じて実行できます。ゾーン別エンドポイント API オペレーションの例には、PutObjectCopyObject があります。

ゲートウェイ VPC エンドポイントを使用して、VPC から S3 Express One Zone にアクセスできます。ゲートウェイ エンドポイントを作成した後、VPC から S3 Express One Zone を送信先とするトラフィックのルートテーブルにターゲットとして追加できます。Amazon S3 と同様、ゲートウェイエンドポイントの使用に追加料金は発生しません。ゲートウェイ VPC エンドポイントの設定方法の詳細については、「S3 Express One Zone のネットワーク」を参照してください。

セッションベースの承認

S3 Express One Zone では、レイテンシーを最小限に抑えるように最適化された新しいセッションベースのメカニズムを使用して、リクエストを認証および承認します。CreateSession を使用して、バケットへの低レイテンシーアクセスを実現する一時的な認証情報をリクエストできます。このような一時的な認証情報は、特定の S3 ディレクトリバケットに限定されます。セッショントークンはゾーン (オブジェクトレベル) オペレーション (CopyObject を除く) でのみ使用されます。詳細については、「CreateSession authorization」を参照してください。

S3 Express One Zone でサポートされている AWS SDK は、ユーザーに代わってセッションの確立と更新を処理します。セッションを保護するため、一時的なセキュリティ認証情報は 5 分後に期限切れになります。AWS SDK をダウンロードしてインストールし、必要な AWS Identity and Access Management (IAM) アクセス許可を設定したら、直ちに API オペレーションの使用を開始できます。

S3 Express One Zone の機能

S3 Express One Zone では、次の S3 の機能が利用できます。サポートされている API とサポートされていない API の全リストについては、「S3 Express One Zone の違いとは」を参照してください。

アクセス管理とセキュリティ

ディレクトリバケットでは、次の機能を使用してアクセスを監査および管理することができます。デフォルトでは、ディレクトリバケットはプライベートであり、アクセスを明示的に許可されているユーザーのみがアクセスできます。バケット、プレフィックス、またはオブジェクトタグレベルでアクセス制御境界を設定できる汎用バケットとは異なり、ディレクトリバケットのアクセス制御境界はバケットレベルでのみ設定されます。詳細については、「S3 Express One Zone 向け AWS Identity and Access Management (IAM)」を参照してください。

  • S3 ブロックパブリックアクセス – すべての S3 ブロックパブリックアクセス設定は、デフォルトでバケットレベルで有効になっています。このデフォルトの設定は変更できません。

  • S3 オブジェクト所有権 (デフォルトでバケット所有者の強制) – アクセスコントロールリスト (ACL) はディレクトリバケットではサポートされていません。ディレクトリバケットは、S3 オブジェクト所有権のバケット所有者による強制設定を自動的に使用します。バケット所有者の強制とは、ACL が無効になり、バケット所有者はバケット内のすべてのオブジェクトを自動的に所有し、完全にコントロールできることを意味します。このデフォルトの設定は変更できません。

  • AWS Identity and Access Management (IAM) – IAM は、ディレクトリバケットへのアクセスを安全に制御するうえで役立ちます。IAM を使用すると、s3express:CreateSession アクションを通じてバケット管理 (リージョン) API オペレーションとオブジェクト管理 (ゾーン) API オペレーションへのアクセスを許可できます。詳細については、「S3 Express One Zone 向け AWS Identity and Access Management (IAM)」を参照してください。オブジェクト管理アクションとは異なり、バケット管理アクションはクロスアカウント間で実行できません。バケット所有者のみが、このようなアクションを実行できます。

  • バケットポリシー – IAM ベースのポリシー言語を使用して、ディレクトリバケットのリソースベースのアクセス許可を設定します。IAM を使用して CreateSession API オペレーションへのアクセスを制御することもできます。これにより、ゾーン API オペレーションまたはオブジェクト管理 API オペレーションを使用できるようになります。ゾーン API オペレーションに同一アカウントまたはクロスアカウントのアクセス許可を付与することができます。S3 Express One Zone のアクセス許可とポリシーの詳細については、「S3 Express One Zone 向け AWS Identity and Access Management (IAM)」を参照してください。

  • IAM Access Analyzer for S3 – アクセスポリシーを評価してモニタリングし、ポリシーが S3 リソースへの意図したアクセスのみを提供していることを確認します。

ロギングとモニタリング

S3 Express One Zone は、リソースの使用状況のモニタリングと制御に利用できる次のような S3 ログと監視ツールを使用します。

  • Amazon CloudWatch metrics – CloudWatch を使用して AWS リソースとアプリケーションをモニタリングして、パフォーマンスのメトリクスを収集し、追跡します。S3 Express One Zone は、その他の Amazon S3 ストレージクラス (AWS/S3) と同じ CloudWatch 名前空間を使用し、BucketSizeBytesNumberOfObjects のディレクトリバケットの毎日のストレージメトリクスをサポートします。詳細については、「Amazon CloudWatch によるメトリクスのモニタリング」を参照してください。

  • AWS CloudTrail ログ – AWS CloudTrail は、ユーザー、ロール、または AWS のサービス が実行するアクションを記録して、AWS アカウント のオペレーションとリスクの監査、ガバナンス、コンプライアンスの実施に役立つ AWS のサービス です。S3 Express One Zone の場合、CloudTrail はリージョンのエンドポイント API オペレーション (CreateBucketPutBucketPolicyなど) を管理イベントとしてキャプチャします。これらのイベントには、AWS Management Console、AWS Command Line Interface (AWS CLI)、AWS SDK、および AWS API オペレーションで実行されたアクションが含まれます。S3 Express One Zone の CloudTrail 管理イベントの eventsource は、s3express.amazonaws.com です。詳細については、「Amazon S3 CloudTrail イベント」を参照してください。

注記

Amazon S3 サーバーのアクセスログは S3 Express One Zone ではサポートされていません。

オブジェクト管理

ディレクトリバケットを作成すると、Amazon S3 コンソール、AWS SDK、AWS CLI を使用してオブジェクトストレージを管理できるようになります。S3 Express One Zone でのオブジェクト管理には次の機能を使用できます。

  • S3 バッチオペレーション – バッチオペレーションを使用して、ディレクトリバケット内のオブジェクトに対して一括オペレーションを実行します。例には、CopyInvoke AWS Lambda 関数 などがあります。例えばバッチオペレーションを使用して、ディレクトリバケットと汎用バケット間でオブジェクトをコピーできます。バッチオペレーションを使用すると、AWS SDK または AWS CLI を使用するか、Amazon S3 コンソールで数回クリックするだけで、単一の S3 リクエストで数十億のオブジェクトを大規模に管理できます。

  • インポート – ディレクトリバケット作成後、Amazon S3 コンソールのインポート機能を使用してバケットにオブジェクトを追加できます。インポートは、汎用バケットからディレクトリバケットにオブジェクトをコピーするバッチオペレーションジョブを作成するための効率的な方法です。

AWS SDK とクライアントライブラリ

ディレクトリバケットを作成して、バケットにオブジェクトをアップロードした後、次を使用してオブジェクトストレージを管理できます。

  • Mountpoint for Amazon S3 – Mountpoint for Amazon S3 は、高スループットアクセスを実現し、Amazon S3 データレイクのコンピューティングコストを削減するオープンソースのファイルクライアントです。Mountpoint for Amazon S3 は、ローカルファイルシステムの API コールを GETLIST などの S3 オブジェクト API コールに変換します。ペタバイトのデータを処理できるため、Amazon S3 が提供する伸縮性に優れたスループットを必要とする、読み取り量の多いデータレイクワークロードに最適です。これにより、数千のインスタンスにわたってスケールアップしたりスケールダウンしたりできます。

  • S3A – S3Aは Amazon S3 のデータストアにアクセスするための Hadoop と互換性のある推奨インターフェイスです。S3A は Hadoop の S3N ファイルシステムクライアントの後継です。

  • PyTorch on AWS — PyTorch on AWS は、機械学習モデルの開発と本番環境へのデプロイを容易にするオープンソースのディープラーニングフレームワークです。

  • AWS SDK – Amazon S3 でのアプリケーション開発には AWS SDK を使用できます。AWS SDK は、基盤となる Amazon S3 REST API をラップして、プログラミング作業を簡素化します。S3 Express One Zone での AWS SDK の使用の詳細については、「AWS SDK」を参照してください。

暗号化とデータ保護

ディレクトリバケットに保存されているオブジェクトは、Amazon S3 マネージドキー (SSE-S3) を使用したサーバー側の暗号化を使用して自動的に暗号化されます。ディレクトリバケットは、AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS)、お客様が提供する暗号化キーによるサーバー側の暗号化 (SSE-C)、または AWS KMS keys キーによる二層式サーバー側の暗号化 (DSSE-KMS) をサポートしていません。詳細については、データ保護と暗号化およびAmazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)を参照してください。

S3 Express One Zone では、アップロードまたはダウンロード中にデータを検証するために使用されるチェックサムアルゴリズムを選択するオプションが提供されます。CRC32、CRC32C、SHA-1、SHA-256 などのセキュアハッシュアルゴリズム (SHA) や巡回冗長検査 (CRC) データ整合性チェックアルゴリズムのいずれかを選択できます。MD5 ベースのチェックサムは S3 Express One Zone ストレージクラスではサポートされていません。

詳細については、「S3 の追加のチェックサムのベストプラクティス」を参照してください。

AWS Signature Version 4 (SigV4)

S3 Express One Zone は AWS Signature Version 4 (SigV4) を使用します。SigV4 は Amazon S3 に対する HTTP 経由のリクエストを認証するために使用される署名プロトコルです。S3 Express One Zone は AWS Sigv4 を使用してリクエストに署名します。詳細については、Amazon Simple Storage Service API リファレンスの「リクエストの認証 (AWS 署名バージョン 4)」を参照してください。

強力な整合性

S3 Express One Zone は、すべての AWS リージョン のディレクトリバケット内のオブジェクトの PUTDELETE リクエストに対して、読み取り後書き込みの強力な一貫性を提供します。詳細については、「Amazon S3 のデータ整合性モデル」を参照してください。

S3 Express One Zone AWS のサービス ストレージクラスで次を使用して、特定の低レイテンシーのユースケースをサポートできます。

  • Amazon Elastic Compute Cloud (Amazon EC2) – Amazon EC2 は、安全でスケーラブルなコンピューティング容量を AWS クラウド で提供します。Amazon EC2 の使用により、ハードウェアに事前投資する必要がなくなり、アプリケーションをより速く開発およびデプロイできます。Amazon EC2 を使用すると、必要な数 (またはそれ以下) の仮想サーバーの起動、セキュリティおよびネットワーキングの構成、ストレージの管理ができます。

  • AWS Lambda – Lambda はサーバーのプロビジョニングや管理を必要とせずにコードを実行できるコンピューティングサービスです。バケットの通知設定を構成し、関数のリソースベースのアクセス許可ポリシーで関数を呼び出すためのアクセス許可を Amazon S3 に付与します。

  • Amazon Elastic Kubernetes Service (Amazon EKS) は、AWS 上で、独自の Kubernetes コントロールプレーンをインストール、運用、保守する必要がないマネージド型サービスです。Kubernetes は、コンテナ化されたアプリケーションの管理、スケーリング、デプロイを自動化するオープンソースシステムです。

  • Amazon Elastic Container Service (Amazon ECS) – Amazon ECS は、コンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングできる、フルマネージドコンテナオーケストレーションサービスです。

  • Amazon Athena – Athena はインタラクティブなクエリサービスで、Amazon S3 内のデータを標準 SQL を使用して直接的に簡単に分析できます。また、Athena を使用すると、リソースの計画、設定、管理を必要とせずに Apache Spark を使用してデータ分析をインタラクティブに実行することもできます。Athena で Apache Spark アプリケーションを実行する場合は、処理用の Spark コードを送信して、結果を直接受け取ります。

  • Amazon SageMaker Runtime Model Training – Amazon SageMaker Runtime は、フルマネージド型の機械学習サービスです。SageMaker Runtime では、データサイエンティストやデベロッパーが迅速かつ簡単に機械学習モデルの構築とトレーニングを行うことができ、それらを稼働準備が整ったホストされている環境に直接デプロイできます。

  • AWS Glue – AWS Glue は、分析を行うユーザーが複数のソースからのデータを簡単に検出、準備、移動、統合できるようにするサーバーレスのデータ統合サービスです。分析用の AWS Glue は、分析、機械学習、アプリケーション開発に使用できます。AWS Glue には、ジョブの作成、実行、ビジネスワークフローの実装のための生産性向上ツールとデータ運用ツールも追加されています。

  • Amazon EMR – Amazon EMR は、Apache Hadoop や Apache Spark などのビッグデータフレームワークを AWS で簡単に実行して、膨大な量のデータを処理および分析できるマネージドクラスタープラットフォームです。

次のステップ

S3 Express One Zone ストレージクラスとディレクトリバケットの使用の詳細については、次のトピックを参照してください。