StorageGRIDにおけるS3バケットの操作と実装の詳細
StorageGRID システムは、S3 テナントアカウントごとに最大 20,000 個のバケットをサポートします。
各グリッドには、最大100,000個のバケットを含めることができます。
複数のテナントがそれぞれ最大5,000個のバケットを持つ場合、グリッド内の各ストレージノードは最低64 GBのRAMを搭載する必要があります。
バケット名の制限は AWS US Standard リージョンの制限に従いますが、S3 仮想ホスト型リクエストをサポートするために、さらに DNS 命名規則に基づいて制限する必要があります。
詳細については、以下を参照してください。
ListObjects (GET Bucket) および ListObjectVersions (GET Bucket object versions) オペレーションはStorageGRIDをサポートします"整合性の値"。
個々のバケットについて、最終アクセス時刻の更新が有効になっているか無効になっているかを確認できます。"GET Bucket last access time のように指定します"を参照してください。
次の表に、 StorageGRID での S3 REST API バケット処理の実装方法を示します。これらの処理を実行するには、アカウントに必要なアクセスクレデンシャルが付与されている必要があります。
| 操作 | インプリメンテーション |
|---|---|
CreateBucket |
新しいバケットを作成します。バケットを作成すると、そのバケットの所有者になります。 注:S3ディレクトリバケットはサポートされていません。
|
DeleteBucket |
バケットを削除します。 |
DeleteBucketCors |
バケットのCORS設定を削除します。 |
DeleteBucketEncryption |
バケットからデフォルトの暗号化を削除します。既存の暗号化オブジェクトは暗号化されたままですが、バケットに追加された新しいオブジェクトは暗号化されません。 |
DeleteBucketLifecycle |
バケットからライフサイクル設定を削除します。"S3 ライフサイクル設定を作成する"を参照してください。 |
DeleteBucketPolicy |
バケットに関連付けられているポリシーを削除します。 |
DeleteBucketReplication |
バケットに関連付けられているレプリケーション設定を削除します。 |
DeleteBucketTagging |
サブリソースを使用し `tagging`てバケットからすべてのタグを削除します。 注意:このバケットにデフォルト以外の ILM ポリシータグが設定されている場合、値が割り当てられた `NTAP-SG-ILM-BUCKET-TAG`バケットタグが存在します。 `NTAP-SG-ILM-BUCKET-TAG`バケットタグが存在する場合は、DeleteBucketTaggingリクエストを発行しないでください。代わりに、 `NTAP-SG-ILM-BUCKET-TAG`タグとその割り当てられた値のみを指定してPutBucketTaggingリクエストを発行し、バケットから他のすべてのタグを削除してください。 `NTAP-SG-ILM-BUCKET-TAG`バケットタグを変更または削除しないでください。 |
GetBucketAcl |
バケットの所有者にバケットへのフルアクセスがあることを示す応答が返され、所有者のID、表示名、および権限が表示されます。 |
GetBucketCors |
バケットの設定を返し `cors`ます。 |
GetBucketEncryptionの略 |
バケットのデフォルトの暗号化設定を返します。 |
GetBucketLifecycleConfiguration (以前のGET Bucket lifecycle) |
バケットのライフサイクル構成を返します。"S3 ライフサイクル設定を作成する"を参照してください。 |
GetBucketLocation |
`LocationConstraint`要素を使用して CreateBucket リクエストで設定されたリージョンを返します。バケットのリージョンが `us-east-1`(デフォルト)の場合、 `LocationConstraint`には空の値が返されます。 |
GetBucketNotificationConfigurationを参照してください (以前の名前のGET Bucket通知) |
バケットに関連付けられている通知設定を返します。 |
GetBucketPolicy |
バケットに関連付けられているポリシーを返します。 |
GetBucketReplicationの略 |
バケットに関連付けられているレプリケーション設定を返します。 |
GetBucketTagging |
サブリソースを使用し `tagging`てバケットのすべてのタグを返します。 注意:このバケットにデフォルト以外の ILM ポリシータグが設定されている場合、値が割り当てられた `NTAP-SG-ILM-BUCKET-TAG`バケットタグが存在します。このタグは変更または削除しないでください。 |
GetBucketVersioning |
この実装では、サブリソースを使用して `versioning`バケットのバージョン管理の状態を返します。
|
GetObjectLockConfigurationの略 |
バケットのデフォルトの保持モードとデフォルトの保持期間(設定されている場合)を返します。 "S3 REST APIを使用してS3オブジェクトロックを設定します"を参照してください。 |
ヘッドバケット |
バケットが存在し、そのバケットにアクセスする権限があるかどうかを確認します。 この処理から返される情報は次の
|
listObjectsおよびListObjectsV2 (以前の名前はGET Bucket) |
バケット内のオブジェクトの一部またはすべて(最大1、000)を返します。オブジェクトのストレージクラスには、ストレージクラスオプションを使用してオブジェクトを取り込んだ場合でも、次の2つの値のいずれかが設定され `REDUCED_REDUNDANCY`ます。
バケットに同じプレフィックスの削除済みキーが大量に含まれている場合は、キーを含まないキーが応答に含まれることがあります HeadObject および ListObject リクエストの場合、 StorageGRID は異なる精度で LastModified タイムスタンプを返しますが、AWS は同じ精度でタイムスタンプを返します。次の例をご覧ください。
|
ListObjectVersions (以前のGET Bucket Object versions) |
バケットに対する読み取りアクセスが許可されている場合、サブリソースを指定してこの処理を実行すると、 `versions`バケット内のオブジェクトのすべてのバージョンのメタデータがリストされます。 |
PutBucketCorsの略 |
クロスオリジン要求を処理できるように、バケットのCORS設定を設定します。Cross-Origin Resource Sharing ( CORS )は、あるドメインのクライアント Web アプリケーションが別のドメインのリソースにアクセスできるようにするセキュリティ機能です。たとえば、という名前のS3バケットを使用してグラフィックを格納するとし |
PutBucketEncryptionの略 |
既存のバケットのデフォルトの暗号化状態を設定します。バケットレベルの暗号化が有効な場合は、バケットに追加されたすべての新しいオブジェクトが暗号化されます。 StorageGRID では、 StorageGRID で管理されるキーによるサーバ側の暗号化がサポートされます。サーバ側の暗号化設定ルールを指定する場合は、パラメータをに オブジェクトのアップロード要求ですでに暗号化が指定されている場合(要求に要求ヘッダーが含まれている場合)は、バケットのデフォルトの暗号化設定は無視され `x-amz-server-side-encryption-*`ます。 |
PutBucketLifecycleConfiguration (以前のPUT Bucket lifecycle) |
バケットの新しいライフサイクル設定を作成するか、既存のライフサイクル設定と置き換えます。StorageGRID では、 1 つのライフサイクル設定で最大 1 、 000 個のライフサイクルルールがサポートされます。各ルールには、次の XML 要素を含めることができます。
StorageGRID では、次のアクションはサポートされません。
"S3 ライフサイクル設定を作成する"を参照してください。バケットライフサイクルの有効期限アクションがILM配置指示とどのように相互作用するかを理解するには、"オブジェクトのライフサイクル全体にわたる ILM の動作"を参照してください。
|
PutBucketNotificationConfigurationの略 (以前の名前のPUT Bucket通知) |
要求の本文に含まれる通知設定XMLを使用してバケットの通知を設定します。実装に関する次の詳細事項に注意してください。
|
PutBucketPolicy |
バケットに適用されるポリシーを設定します。"バケットとグループのアクセスポリシーを使用"を参照してください。 |
PutBucketReplicationの略 |
要求の本文に含まれるレプリケーション設定XMLを使用してバケットを設定します"StorageGRID CloudMirrorレプリケーション"。CloudMirror レプリケーションについては、実装に関する次の詳細事項に注意してください。
|
PutBucketTaggingの略 |
サブリソースを使用して、 `tagging`バケットの一連のタグを追加または更新します。バケットタグを追加する場合は、次の制限事項に注意してください。
注意:このバケットにデフォルト以外の ILM ポリシータグが設定されている場合、値が割り当てられた `NTAP-SG-ILM-BUCKET-TAG`バケットタグが存在します。 `NTAP-SG-ILM-BUCKET-TAG`バケットタグが、割り当てられた値とともにすべての PutBucketTagging リクエストに含まれていることを確認してください。このタグは変更または削除しないでください。 注:この処理を実行すると、バケットにすでに設定されている現在のタグが上書きされます。セットから既存のタグを省略すると、それらのタグはバケットから削除されます。 |
PutBucketVersioning |
サブリソースを使用 `versioning`して、既存のバケットのバージョン管理状態を設定します。バージョン管理の状態は、次のいずれかの値に設定できます。
|
PutObjectLockConfiguration |
デフォルトの保持期間が変更された場合、既存のオブジェクトバージョンの保持期限は変更されず、新しいデフォルトの保持期間を使用して再計算されることはありません。 詳細については、"S3 REST APIを使用してS3オブジェクトロックを設定します"を参照してください。 |