S3 Express One Zone の違いを理解する
Amazon S3 Express One Zone は、最もレイテンシーの影響を受けやすいアプリケーションに 1 桁のミリ秒単位で一貫したデータアクセスを提供することを目的として構築された、高パフォーマンスのシングルアベイラビリティーゾーンの Amazon S3 ストレージ クラスです。S3 Express One Zone は、オブジェクトストレージをコンピュートリソースと同じ場所に配置するオプションを備えた単一のアベイラビリティーゾーンを選択できる最初の S3 ストレージクラスです。これにより、最高レベルのアクセス速度を実現できます。また、アクセス速度をさらに向上し、1 秒あたり数十万のリクエストをサポートするために、S3 Express One Zone はデータを新しいバケットタイプである Amazon S3 ディレクトリバケットに保存します。
詳細については、「ディレクトリバケットと S3 Express One Zone」を参照してください。
Amazon S3 API を使用して、ディレクトリバケットを作成し、S3 Express One Zone のデータにアクセスできます。Amazon S3 API は S3 Express One Zone やディレクトリバケットと互換性がありますが、いくつか大きな違いがあります。S3 Express One Zone の違いの詳細については、次のトピックを参照してください。
トピック
S3 Express One Zone の違い
-
サポートされているバケットタイプ – S3 Express One Zone ストレージクラスのオブジェクトは、ディレクトリバケットにのみ保存できます。詳細については、「ディレクトリバケットの概要」を参照してください。
-
永続性 – S3 Express One Zone では、データは単一のアベイラビリティーゾーン内で冗長的に複数のデバイスに保存されます。S3 Express One Zone は、単一のアベイラビリティーゾーン内で 99.95% の可用性を実現するように設計されており、Amazon S3 サービスレベル契約
に基づいています。詳細については、「単一のアベイラビリティーゾーン」を参照してください。 -
ListObjectsV2
の動作ディレクトリバケットの場合、
ListObjectsV2
は辞書順 (アルファベット順) にオブジェクトを返すわけではありません。さらに、プレフィックスは区切り文字で終わる必要があり、区切り文字として指定できるのは「/」のみです。ディレクトリバケットの場合、
ListObjectsV2
レスポンスには、進行中のマルチパートアップロードにのみ関連するプレフィックスが含まれます。
-
削除動作 – ディレクトリバケット内のオブジェクトを削除すると、Amazon S3 はオブジェクトパス内の空のディレクトリをすべて再帰的に削除します。例えば、オブジェクトキー
dir1/dir2/file1.txt
を削除した場合、Amazon S3 はfile1.txt
を削除します。dir1/
とdir2/
のディレクトリが空で、その他のオブジェクトが含まれていない場合、Amazon S3 はこれらのディレクトリも削除します。 -
ETag とチェックサム – S3 Express One Zone のエンティティタグ (ETag) はランダムな英数字文字列であり、MD5 チェックサムではありません。S3 Express One Zone での追加のチェックサムの詳細については、「S3 の追加のチェックサムのベストプラクティス」を参照してください。
-
DeleteObjects
リクエスト内のオブジェクトキー-
DeleteObjects
リクエストのオブジェクトキーには、空白以外の文字を 1 つ以上含める必要があります。すべての空白文字を含む文字列はDeleteObjects
リクエストではサポートされていません。 -
DeleteObjects
リクエストのオブジェクトキーには、改行 (\n
)、タブ (\t
) とキャリッジリターン (\r
) 文字を除き、Unicode 制御文字を含めることはできません。
-
-
リージョンエンドポイントとゾーンエンドポイント – S3 Express One Zone を使用する場合、すべてのクライアントリクエストでリージョンを指定する必要があります。リージョンエンドポイントの場合は、
s3express-control.us-west-2.amazonaws.com
などのリージョンを指定します。ゾーンエンドポイントの場合は、s3express-usw2-az1.us-west-2.amazonaws.com
など、リージョンとアベイラビリティーゾーンの両方を指定します。詳細については、「リージョンエンドポイントとゾーンエンドポイント」を参照してください。 -
マルチパートアップロード – Amazon S3 に保存されているその他のオブジェクトと同様に、マルチパートアップロードプロセスを使用して S3 Express One Zone ストレージクラスに保存されているサイズの大きいオブジェクトをアップロードしてコピーできます。ただし、S3 Express One Zone に保存されているオブジェクトでマルチパートアップロードプロセスを使用する場合は次のような違いがあります。詳細については、「ディレクトリバケットでのマルチパートアップロードの使用」を参照してください。
-
オブジェクトの作成日はマルチパートアップロードの完了日となります。
-
マルチパート番号には連続したパート番号を使用する必要があります。連続しないパーツ番号を使用してマルチパートアップロードリクエストを実行しようとすると、Amazon S3 は HTTP
400 (Bad Request)
エラーを生成します。 -
マルチパートアップロードを開始するユーザーは、
s3express:CreateSession
アクセス許可を通じて明示的にAbortMultipartUpload
へのアクセス許可が付与されている場合にのみ、マルチパートアップロードリクエストを中止できます。詳細については、「IAM を使用したリージョンエンドポイント API の承認」を参照してください。
-
-
ディレクトリバケットを空にする – AWS Command Line Interface (CLI) による
s3 rm
コマンド、Mountpoint によるdelete
オペレーション、AWS Management Console による空のバケットオプションボタンでは、ディレクトリバケット内の進行中のマルチパートアップロードを削除できません。こうした進行中のマルチパートアップロードを削除するには、ListMultipartUploads
オペレーションを使用してバケット内の進行中のマルチパートアップロードを一覧表示し、AbortMultipartUpload
オペレーションを使用して進行中のすべてのマルチパートアップロードを中止します。 -
サーバー側の暗号化
-
ディレクトリバケットの場合、サーバー側の暗号化でデータを暗号化するには、Amazon S3 マネージドキーを使用したサーバ側の暗号化 (SSE-S3)(デフォルト) または AWS Key Management Service (AWS KMS) キーを使用したサーバー側の暗号化 (SSE-KMS) のいずれかを使用できます。バケットのデフォルトの暗号化では、必要な暗号化設定を使用することをお勧めします。
CreateSession
リクエストまたはPUT
オブジェクトリクエストでは、バケットのデフォルトの暗号化を上書きしないことをお勧めします。その後、新しいオブジェクトは必要な暗号化設定で自動的に暗号化されます。ディレクトリバケットの暗号化の上書き動作の詳細については、「新しいオブジェクトのアップロードに AWS KMS を使用してサーバー側の暗号化を指定する」を参照してください。 -
SSE-KMS 設定では、バケットの存続期間中、ディレクトリバケットごとに 1 つのカスタマーマネージドキーしかサポートできません。AWS マネージドキー (
aws/s3
) はサポートされていません。また、SSE-KMS のカスタマーマネージドキーを指定した後は、バケットの SSE-KMS 設定のカスタマーマネージドキーを上書きすることはできません。バケットの SSE-KMS 設定に指定したカスタマーマネージドキーは、次のように識別できます。
HeadObject
API オペレーションリクエストを実行して、レスポンス内のx-amz-server-side-encryption-aws-kms-key-id
の値を検索します。
データに新しいカスタマーマネージドキーを使用するには、新しいカスタマーマネージドキーを使用して既存のオブジェクトを新しいディレクトリバケットにコピーすることをお勧めします。
-
CopyObject および UploadPartCopy を除くゾーンエンドポイント (オブジェクトレベル) API オペレーションでは、CreateSession を介してリクエストを認証および承認することで低レイテンシーを実現します。バケットのデフォルトの暗号化では、必要な暗号化設定を使用することをお勧めします。
CreateSession
リクエストまたはPUT
オブジェクトリクエストでは、バケットのデフォルトの暗号化を上書きしないことをお勧めします。その後、新しいオブジェクトは必要な暗号化設定で自動的に暗号化されます。SSE-KMS を使用してディレクトリバケット内の新しいオブジェクトを暗号化するには、KMS キー (特にカスタマーマネージドキー) を使用してディレクトリバケットのデフォルトの暗号化設定として SSE-KMS を指定する必要があります。その後、ゾーンエンドポイント API オペレーションのセッションが作成されると、セッション中に新しいオブジェクトが SSE-KMS および S3 バケットキーで自動的に暗号化および復号されます。ディレクトリバケットの暗号化の上書き動作の詳細については、「新しいオブジェクトのアップロードに AWS KMS を使用してサーバー側の暗号化を指定する」を参照してください。 -
CopyObject の場合、SSE-KMS を使用してディレクトリバケット内の新しいオブジェクトコピーを暗号化するには、KMS キー (特にカスタマーマネージドキー) を使用してディレクトリバケットのデフォルトの暗号化設定として SSE-KMS を指定する必要があります。次に、SSE-KMS で新しいオブジェクトコピーにサーバー側の暗号化設定を指定するときは、暗号化キーがディレクトリバケットのデフォルトの暗号化設定に指定したカスタマーマネージドキーと同じであることを確認する必要があります。UploadPartCopy では、SSE-KMS を使用してディレクトリバケット内の新しいオブジェクトパーツコピーを暗号化するには、KMS キー (特にカスタマーマネージドキー) を使用してディレクトリバケットのデフォルトの暗号化設定として SSE-KMS を指定する必要があります。UploadPartCopy リクエストヘッダーで SSE-KMS を使用して新しいオブジェクトパートコピーのサーバー側の暗号化設定を指定することはできません。また、CreateMultipartUpload リクエストで指定する暗号化設定は、送信先バケットのデフォルトの暗号化設定と一致する必要があります。
-
S3 バケットキーは、ディレクトリバケット内の
GET
およびPUT
オペレーションで常に有効になっており、無効にすることはできません。SSE-KMS で暗号化されたオブジェクトを、CopyObject、UploadPartCopy、バッチオペレーションの Copy オペレーション、または import ジョブを使用して、汎用バケットからディレクトリバケットへ、ディレクトリバケットから汎用バケットへ、またはディレクトリバケット間でコピーする場合、S3 バケットキーはサポートされません。この場合、KMS で暗号化されたオブジェクトのコピーリクエストが実行されるたびに、Amazon S3 は AWS KMS を呼び出します。 -
ディレクトリバケットで暗号化に AWS KMS カスタマーマネージドキーを指定する場合は、キー ID またはキー ARN のみを使用します。KMS キーのキーエイリアス形式はサポートされていません。
-
S3 Express One Zone がサポートする API オペレーション
Amazon S3 Express One Zone ストレージクラスは、リージョン (バケットレベル、またはコントロールプレーン) とゾーン (オブジェクトレベル、またはデータ プレーン) の両方のエンドポイント API オペレーションをサポートします。詳細については、S3 Express One Zone のネットワークおよびエンドポイントとゲートウェイ VPC エンドポイントを参照してください。
リージョンエンドポイント API オペレーション
S3 Express One Zone では、次のリージョンエンドポイント API オペレーションがサポートされています。
ゾーンエンドポイント API オペレーション
S3 Express One Zone では、次のゾーンエンドポイント API オペレーションがサポートされています。
S3 Express One Zone がサポートしていない Amazon S3 の機能
S3 Express One Zone では、次の Amazon S3 の機能がサポートされていません。
-
AWS マネージドポリシー
-
S3 向け AWS PrivateLink
-
MD5 チェックサム
-
多要素認証 (MFA) Delete
-
S3 オブジェクトロック
-
リクエスタ支払い
-
S3 Access Grants
-
S3 アクセスポイント
-
バケットのタグ
-
Amazon CloudWatch のリクエストメトリクス
-
S3 イベント通知
-
S3 ライフサイクル
-
S3 マルチリージョンアクセスポイント
-
S3 Object Lambda アクセスポイント
-
S3 バージョニング
-
S3 インベントリ
-
S3 レプリケーション
-
オブジェクトタグ
-
S3 Select
-
サーバーアクセスログ
-
静的ウェブサイトホスティング
-
S3 Storage Lens
-
S3 Storage Lens グループ
-
S3 Transfer Acceleration
-
AWS Key Management Service (AWS KMS) キーによる二層式サーバー側の暗号化 (DSSE-KMS)
-
顧客提供のキーを用いたサーバー側の暗号化 (SSE-C)。
-
Amazon S3 コンソールで新しいバケットを作成する際に、既存のバケットの設定をコピーするオプション
-
拡張アクセス拒否 (HTTP
403 Forbidden
) エラーメッセージ