バケットの処理

StorageGRID Webscaleシステムでは、S3テナント アカウントあたり最大1000個のバケットがサポートされます。

バケット名については、AWS US Standardリージョンの制限が適用されますが、S3仮想ホスト形式の要求をサポートするためにDNSの命名規則にも従う必要があります。

GET Bucket (List Objects)処理とGET Bucket versions処理では、StorageGRID Webscaleの整合性制御がサポートされます。Consistency-Controlヘッダーの使用については、StorageGRID WebscaleでのS3 REST APIの実装を参照してください。

最終アクセス時間の更新が個々のバケットで有効になっているか無効になっているかを確認することができます。詳細については、GET Bucket last access time要求を参照してください。

他のバケットの処理については、「バケットのカスタム処理」を参照してください。

次の表に、StorageGRID Webscaleシステムで実装されているバケットの処理とその実装方法を示します。

処理 実装
DELETE Bucket Amazon S3 REST APIのすべての動作が実装されています。
DELETE Bucket policy アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けられているポリシーを削除できます。StorageGRID Webscaleシステムでサポートされているポリシー言語については、バケットとグループのアクセス ポリシーを参照してください。
DELETE Bucket replication アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けられているレプリケーション設定を削除できます。
GET Bucket (List Objects) アカウントに必要なアクセス クレデンシャルがある場合、バケット内の一部またはすべて(最大1,000)のオブジェクトが返されます。

オブジェクトのストレージ クラスは、REDUCED_REDUNDANCYストレージ クラスを指定してオブジェクトを取り込んだ場合でも、常にSTANDARDと表示されます。オブジェクトをStorageGRID Webscaleシステムに取り込む際にREDUCED_REDUNDANCYストレージ クラスを指定した場合、シングルコミットの取り込み処理が使用されます。これによってStorageGRID Webscaleシステムに格納されるオブジェクトの冗長性が低下するわけではありません。

注意:
REDUCED_REDUNDANCYを使用してオブジェクトを取り込むときは、オブジェクト データのコピーが最初に1つしか作成されないことに注意してください。単一のコピーが作成されたストレージ ノードで障害が発生した場合、ILMをまだ満たしていないと、データが失われて回復できなくなります。

多数のキーをトラバースする要求では、特別な処理が必要になります。そのような要求からは、タイムアウトを回避するために、切り捨てられた応答や空の応答が返されることがあります。

完全な結果を取得するには、結果が切り捨てられたときの通常の方法と同様に、markerパラメータを更新しながら繰り返し要求を行う必要があります。NextMarkerが返される場合は常にそのマーカーを使用します。StorageGRID WebscaleのS3 REST APIの実装では、最後に返されたキーよりも良い場合、Amazon S3 REST APIでは返されない状況でNextMarkerが返されることがあります。

GET Bucket acl アカウントに必要なアクセス クレデンシャルがある場合、バケットの所有者にバケットに対するフル アクセスがあることを示す応答が返され、所有者のID、表示名、および権限が表示されます。
GET Bucket location アカウントに必要なアクセス クレデンシャルがある場合、バケットのリージョンが返されます。デフォルトでは、PUT Bucket要求でLocationConstraint要素を使用してリージョンが設定されていないかぎり、us-east-1が返されます。
GET Bucket Object versions

バケットに対するREADアクセスがある場合、versionsサブリソースを使用して、バケット内のオブジェクトのすべてのバージョンのメタデータのリストが表示されます。

GET Bucket notification アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けられている通知設定が返されます。
GET Bucket policy アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けられているポリシーが返されます。StorageGRID Webscaleシステムでサポートされているポリシー言語については、バケットとグループのアクセス ポリシーを参照してください。
GET Bucket replication アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けられているレプリケーション設定が返されます。
GET Bucket versioning

versioningサブリソースを使用して、バケットのバージョン管理の状態を取得できます。バケットのバージョン管理の状態を取得するには、バケットの所有者である必要があります。バケットがバージョン管理に対応していない場合は「Unversioned」、バージョン管理が有効になっている場合は「Enabled」、バージョン管理が一時停止中の場合は「Suspended」が返されます。

HEAD Bucket アカウントに必要なアクセス クレデンシャルがある場合、バケットが存在し、かつバケットにアクセスする権限があるかどうかが判別されます。
PUT Bucket アカウントに必要なアクセス クレデンシャルがある場合、新しいバケットを作成できます。バケットを作成すると、そのバケットの所有者になります。
デフォルトでは、us-east-1リージョンでバケットが作成されます。別のリージョンを指定するには、LocationConstraint要求要素を使用し、StorageGRID Webscaleグリッド管理インターフェイスまたは管理APIを使用して定義されたリージョンの正確な名前を指定します。使用すべきリージョン名がわからない場合は、システム管理者にお問い合わせください。
注:StorageGRID Webscaleで定義されていないリージョンをPUT Bucket要求で使用すると、エラーが発生します。
PUT Bucket notification アカウントに必要なアクセス クレデンシャルがある場合、要求の本文に含まれる通知設定XMLを使用してバケットの通知が設定されます。
注意:StorageGRID Webscale 11.0には、プラットフォーム サービスの初期リリースが含まれています。現在、CloudMirrorレプリケーション、通知、および検索統合は、特定の状況およびワークロードのみが対象です。これらのサービスの初期リリースを使用することを希望する場合は、ネットアップの担当者にお問い合わせください。
実装に関する次の詳細事項に注意してください。
  • StorageGRID Webscaleでは、Simple Notification Service(SNS)のトピックがデスティネーションとしてサポートされます。Simple Queue Service(SQS)エンドポイントまたはAmazon Lambdaエンドポイントはサポートされません。
  • 通知のデスティネーションは、StorageGRID WebscaleエンドポイントのURNとして指定する必要があります。エンドポイントは、テナント管理インターフェイスまたはテナント管理APIを使用して作成できます。

    通知設定が機能するためには、エンドポイントが存在している必要があります。エンドポイントが存在しない場合は、400 Bad RequestエラーがコードInvalidArgumentとともに返されます。

  • s3:ReducedRedundancyLostObjectイベントの通知はサポートされません。
  • イベント通知メッセージではほとんどのキーに標準値が使用されますが、次のキーは例外です。
    • eventSourcesgws:s3を返します。
    • awsRegion:このキーは返されません。
    • x-amz-id-2:このキーは返されません。
    • arnurn:sgws:s3:::bucket_nameを返します。

S3バケットでの通知の実装の詳細については、『テナント管理者ガイド』を参照してください。

PUT Bucket policy アカウントに必要なアクセス クレデンシャルがある場合、バケットに関連付けるポリシーを設定できます。StorageGRID Webscaleシステムでサポートされているポリシー言語については、バケットとグループのアクセス ポリシーを参照してください。
PUT Bucket replication アカウントに必要なアクセス クレデンシャルがある場合、要求の本文に含まれるレプリケーション設定XMLを使用してバケットのStorageGRID Webscale CloudMirrorレプリケーションが設定されます。
注意:StorageGRID Webscale 11.0には、プラットフォーム サービスの初期リリースが含まれています。現在、CloudMirrorレプリケーション、通知、および検索統合は、特定の状況およびワークロードのみが対象です。これらのサービスの初期リリースを使用することを希望する場合は、ネットアップの担当者にお問い合わせください。
CloudMirrorレプリケーションについては、実装に関する次の詳細事項に注意してください。
  • バケット レプリケーションは、バージョン管理されているバケットでもバージョン管理されていないバケットでも設定できます。
  • レプリケーション設定XMLの各ルールで異なるデスティネーション バケットを指定できます。1つのソース バケットを複数のデスティネーション バケットにレプリケートできます。
  • デスティネーション バケットは、テナント管理インターフェイスまたはテナント管理APIで指定されたStorageGRID WebscaleエンドポイントのURNとして指定する必要があります。

    レプリケーション設定が機能するためには、エンドポイントが存在している必要があります。エンドポイントが存在しない場合は、404 Not FoundメッセージがコードNoSuchEndpointとともに返されます。

  • 設定XMLでRoleまたはStorageClassを指定する必要はありません。これらの値はStorageGRID Webscaleでは使用されず、送信しても無視されます。StorageGRID Webscaleでは、レプリケート オブジェクトをデスティネーション バケットに格納できるようにするためのロールを定義する必要はなく、デフォルトでSTANDARDストレージ クラスが使用されます。

バケット レプリケーションを使用したStorageGRID Webscale CloudMirrorレプリケーションの実装の詳細については、『テナント管理者ガイド』を参照してください。

PUT Bucket versioning

versioningサブリソースを使用して、既存のバケットのバージョン管理の状態を設定できます。バージョン管理の状態を設定するには、バケットの所有者である必要があります。バージョン管理の状態は、次のいずれかの値に設定できます。

  • Enabled:バケット内のオブジェクトに対してバージョン管理を有効にします。バケットに追加されるすべてのオブジェクトに、一意のバージョンIDが割り当てられます。
  • Suspended:バケット内のオブジェクトに対してバージョン管理を無効にします。バケットに追加されるすべてのオブジェクトに、バージョンID nullが割り当てられます。