日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

バケットの処理

寄稿者

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

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

GET Bucket ( List Objects )処理と GET Bucket versions 処理では、 StorageGRID の整合性制御がサポートされます。

最終アクセス時間の更新が個々のバケットで有効になっているか無効になっているかを確認することができます。

次の表に、 StorageGRID での S3 REST API バケット処理の実装方法を示します。これらの処理を実行するには、アカウントに必要なアクセスクレデンシャルが付与されている必要があります。

操作 実装

バケットを削除します

Amazon S3 REST API のすべての動作が実装されています。

バケットの CORS を削除します

この処理は、バケットの CORS 設定を削除します。

バケットの暗号化を削除

この処理は、バケットからデフォルトの暗号化を削除します。既存の暗号化オブジェクトは暗号化されたままですが、バケットに追加された新しいオブジェクトは暗号化されません。

バケットライフサイクルを削除

この処理は、バケットからライフサイクル設定を削除します。

バケットポリシーを削除

この処理は、バケットに関連付けられているポリシーを削除します。

バケットレプリケーションを削除します

この処理は、バケットに関連付けられているレプリケーション設定を削除します。

バケットのタグ付けを削除します

この処理では、「 tagging 」サブリソースを使用して、バケットからすべてのタグが削除されます。

GET Bucket ( List Objects )、バージョン 1 およびバージョン 2

この処理は、バケット内のオブジェクトの一部またはすべて(最大 1 、 000 )を返します。オブジェクトのストレージクラスには '2 つの値のいずれかを指定できますこれは ' オブジェクトが reduced_redundancy ストレージクラスオプションを使用して取り込まれた場合でも同様です

  • オブジェクトがストレージ・ノードで構成されるストレージ・プールに格納されていることを示す 'standard'

  • 「 Glacier 」。オブジェクトが、クラウド・ストレージ・プールで指定された外部バケットに移動されたことを示します。

バケットに同じプレフィックスを持つ削除されたキーが多数含まれている場合、応答にキーを含まない「 CommonPrefixes 」がいくつか含まれることがあります。

GET Bucket ACL の場合

この処理では、バケットの所有者にバケットに対するフルアクセスがあることを示す応答が返され、所有者の ID 、表示名、および権限が表示されます。

GET Bucket CORS

この処理は、バケットの「 cors 」設定を返します。

GET Bucket encryption

この処理は、バケットのデフォルトの暗号化設定を返します。

GET Bucket lifecycle

この処理は、バケットのライフサイクル設定を返します。

GET Bucket location の各ノードで使用でき

この処理は、 PUT Bucket 要求で LocationConstraint 要素を使用して設定されたリージョンを返します。バケットのリージョンが「 us-east-1 」の場合は、リージョンに対して空の文字列が返されます。

GET Bucket notification

この処理は、バケットに関連付けられている通知設定を返します。

GET Bucket Object versions

バケットに対する読み取りアクセスで、「 versions 」サブリソースを使用して、バケット内のオブジェクトのすべてのバージョンのメタデータのリストが表示されます。

GET Bucket policy の場合

この処理は、バケットに関連付けられているポリシーを返します。

GET Bucket replication

この処理は、バケットに関連付けられているレプリケーション設定を返します。

GET Bucket tagging

この処理では、「 tagging 」サブリソースを使用して、バケットのすべてのタグが返されます。

GET Bucket versioning

この実装では 'versioning サブリソースを使用して ' バケットのバージョン管理状態を返します

  • blank: バージョン管理は有効になっていません ( バケットはバージョン管理されていません )

  • 有効:バージョン管理が有効になっています

  • 中断:バージョン管理は以前有効になっていて、中断されています

オブジェクトロック設定の取得

この処理では、バケットのデフォルトの保持モードとデフォルトの保持期間(設定されている場合)が返されます。

を参照してください オブジェクトロック設定の取得 を参照してください。

HEAD Bucket (ヘッドバケット)

この処理は、バケットが存在し、そのバケットへのアクセス権限があるかどうかを判断します。

この処理から返される情報は次の

  • x-ntap-sg-bucket-id : UUID 形式のバケットの UUID 。

  • x-ntap-sg-trace-id: 関連付けられた要求の一意のトレース ID 。

PUT Bucket の場合

この処理は、新しいバケットを作成します。バケットを作成すると、そのバケットの所有者になります。

  • バケット名は次のルールを満たす必要があります。

    • StorageGRID システム全体で(テナントアカウント内だけではなく)一意である必要があります。

    • DNS に準拠している必要があります。

    • 3 文字以上 63 文字以下にする必要があります。

    • 1 つ以上のラベルを連続して指定できます。隣接するラベルはピリオドで区切ります。各ラベルの先頭と末尾の文字は小文字のアルファベットか数字にする必要があり、使用できる文字は小文字のアルファベット、数字、ハイフンのみです。

    • テキスト形式の IP アドレスのようにはできません。

    • 仮想ホスト形式の要求でピリオドを使用しないでください。ピリオドを使用すると、サーバワイルドカード証明書の検証で原因 の問題が発生します。

  • デフォルトではバケットは us-east-1 リージョンに作成されますが、要求の本文で LocationConstraint 要求要素を使用し、別のリージョンを指定できます。LocationConstraint 要素を使用する場合は、 Grid Manager またはグリッド管理 API を使用して定義されたリージョンの正確な名前を指定する必要があります。使用すべきリージョン名がわからない場合は、システム管理者にお問い合わせください。

  • 注: StorageGRID で定義されていないリージョンを PUT Bucket 要求で使用すると、エラーが発生します。

  • S3 オブジェクトロックが有効なバケットを作成するには、「 x-amz-bucket-object lock-enabled 」要求ヘッダーを含めることができます。を参照してください S3 オブジェクトロックを使用する

    バケットの作成時に S3 オブジェクトのロックを有効にする必要があります。バケットの作成後に S3 オブジェクトのロックを追加または無効にすることはできません。S3 オブジェクトロックにはバケットのバージョン管理が必要です。バケットの作成時に自動的に有効になります。

PUT Bucket CORS

この処理は、バケットの CORS 設定を指定し、クロスオリジン要求を処理できるようにします。Cross-Origin Resource Sharing ( CORS )は、あるドメインのクライアント Web アプリケーションが別のドメインのリソースにアクセスできるようにするセキュリティ機能です。たとえば、「 images 」という名前の S3 バケットを使用してグラフィックを格納するとします。「 images 」バケットに対して CORS 設定を指定することで、そのバケット内の画像を Web サイト「 + http://www.example.com+` 」に表示できます。

PUT Bucket encryption

この処理は、既存のバケットのデフォルトの暗号化状態を設定します。バケットレベルの暗号化が有効な場合は、バケットに追加されたすべての新しいオブジェクトが暗号化されます。 StorageGRID では、 StorageGRID で管理されるキーによるサーバ側の暗号化がサポートされます。サーバ側の暗号化設定規則を指定する場合は 'SSEAlgorithm' パラメータを AES256 に設定し 'KMSMasterKeyID' パラメータは使用しないでください

バケットのデフォルトの暗号化設定は、オブジェクトのアップロード要求ですでに暗号化が指定されている場合は無視されます(要求に「 x-amz-server-side-encryption - * 」要求ヘッダーが含まれる場合)。

PUT Bucket lifecycle の場合

この処理は、バケットの新しいライフサイクル設定を作成するか、既存のライフサイクル設定を置き換えます。StorageGRID では、 1 つのライフサイクル設定で最大 1 、 000 個のライフサイクルルールがサポートされます。各ルールには、次の XML 要素を含めることができます。

  • 有効期限(日数、日付)

  • NoncurrentVersionExpiration ( NoncurrentDays )

  • フィルタ(プレフィックス、タグ)

  • ステータス

  • ID

StorageGRID では、次のアクションはサポートされません。

  • AbortIncompleteMultipartUpload の略

  • ExpiredObjectDeleteMarker

  • 移行

バケット・ライフサイクルの Expiration アクションと ILM 配置手順の相互作用については ' 情報ライフサイクル管理を使用してオブジェクトを管理する手順のオブジェクトのライフサイクル全体にわたる ILM の動作を参照してください

  • 注:バケットライフサイクル設定は S3 オブジェクトロックが有効なバケットで使用できますが、従来の準拠バケットではバケットライフサイクル設定がサポートされません。

PUT Bucket notification

この処理は、要求の本文に含まれる通知設定 XML を使用してバケットの通知を設定します。実装に関する次の詳細事項に注意してください。

  • StorageGRID では、 Simple Notification Service ( SNS )のトピックがデスティネーションとしてサポートされます。Simple Queue Service ( SQS )エンドポイントまたは Amazon Lambda エンドポイントはサポートされていません。

  • 通知のデスティネーションは、 StorageGRID エンドポイントの URN として指定する必要があります。エンドポイントは、 Tenant Manager またはテナント管理 API を使用して作成できます。

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

  • 次のイベントタイプには通知を設定できません。これらのイベントタイプは * サポートされていません。

    • s3 : ReducedRedundancyLostObject

    • s3:ObjectRestore: Completed

  • StorageGRID から送信されるイベント通知は標準の JSON 形式を使用しますが、次のように使用されないキーおよび特定の値が使用されるキーがあります。

  • * eventSource*

    sgws : s3`

  • * awsRegion *

    含まれません

  • * x-amz-id-2 *

    含まれません

  • * arn *

    urn : sgws : s3 ::: bucket_name'

PUT Bucket policy の場合

この処理は、バケットに関連付けられているポリシーを設定します。

PUT Bucket replication

この処理では、要求の本文に含まれるレプリケーション設定 XML を使用して、バケットの StorageGRID CloudMirror レプリケーションが設定されます。CloudMirror レプリケーションについては、実装に関する次の詳細事項に注意してください。

  • StorageGRID では、 V1 のレプリケーション設定のみがサポートされます。つまり、 StorageGRID では「 Filter 」要素をルールに使用することはサポートされておらず、 V1 の規則に従ってオブジェクトバージョンが削除されます。詳細については、を参照してください "レプリケーション設定に関する Amazon S3 のドキュメント"

  • バケットレプリケーションは、バージョン管理されているバケットでもバージョン管理されていないバケットでも設定でき

  • レプリケーション設定 XML の各ルールで異なるデスティネーションバケットを指定できます。1 つのソースバケットを複数のデスティネーションバケットにレプリケートできます。

  • デスティネーションバケットは、テナントマネージャまたはテナント管理 API で指定された StorageGRID エンドポイントの URN として指定する必要があります。

    レプリケーション設定が機能するためには、エンドポイントが存在している必要があります。エンドポイントが存在しない場合、リクエストは「 400 Bad Request 」として失敗します。「複製ポリシーを保存できません。」というエラーメッセージが表示されます。指定されたエンドポイント URN は存在しません: URN

  • 設定 XML で「 Role 」を指定する必要はありません。この値は StorageGRID では使用されず、送信されても無視されます。

  • 設定 XML からストレージクラスを省略した場合、 StorageGRID はデフォルトで「 standard 」ストレージクラスを使用します。

  • ソースバケットからオブジェクトを削除する場合、またはソースバケット自体を削除する場合、クロスリージョンレプリケーションは次のように動作します。

    • レプリケートの前にオブジェクトまたはバケットを削除すると、オブジェクトまたはバケットはレプリケートされず、通知は届きません。

    • レプリケートのあとにオブジェクトまたはバケットを削除すると、 StorageGRID は、 V1 のクロスリージョンレプリケーションに対する Amazon S3 の通常の削除動作に従います。

PUT Bucket tagging

この処理では、「 tagging 」サブリソースを使用して、バケットの一連のタグを追加または更新します。バケットタグを追加する場合は、次の制限事項に注意してください。

  • StorageGRID と Amazon S3 はどちらもバケットごとに最大 50 個のタグをサポートします。

  • バケットに関連付けられているタグには、一意のタグキーが必要です。タグキーには Unicode 文字を 128 文字まで使用できます。

  • タグ値には、 Unicode 文字を 256 文字以内で指定します。

  • キーと値では大文字と小文字が区別されます。

PUT Bucket versioning の場合

この実装では、「 versioning 」サブリソースを使用して、既存のバケットのバージョン管理の状態を設定します。バージョン管理の状態は、次のいずれかの値に設定できます。

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

  • Suspended :バケット内のオブジェクトに対してバージョン管理を無効にします。バケットに追加されたすべてのオブジェクトは、バージョン ID 「 null 」を受け取ります。

PUT Object Lock の設定を指定します

この処理は、バケットのデフォルト保持モードとデフォルトの保持期間を設定または削除します。

デフォルトの保持期間を変更した場合、既存のオブジェクトバージョンの retain-until はそのまま残り、新しいデフォルトの保持期間を使用して再計算されることはありません。

を参照してください PUT Object Lock の設定を指定します を参照してください。