StorageGRIDブランチバケットについて学ぶ
ブランチバケットを使用すると、バケット内のオブジェクトを特定の時点の状態で取得できます。
既存のバケットからブランチバケットを作成します。ブランチバケットを作成すると、そのブランチバケットの作成元となった元のバケットは_ベースバケット_と呼ばれます。さらに、別のブランチバケットからブランチバケットを作成することもできます。
ブランチバケットは保護されたデータへのアクセスを提供しますが、バックアップとしては機能しません。データの保護を継続するには、ベースバケットで以下の機能を使用してください:
-
"クロスグリッド複製"基本バケット用
-
"バケットポリシー"バージョン管理されたバケットで古いオブジェクトバージョンをクリーンアップする
ブランチバケットの以下の特徴に注意してください。
-
ブランチバケット内のオブジェクトには、"S3コンソールでオブジェクトをダウンロードする"を使用してアクセスできます。
-
クライアントがブランチバケット内のオブジェクトにアクセスすると、ベースバケットのポリシーではなく、ブランチバケットの"アクセスポリシー"によって、アクセスを許可するか拒否するかが決定されます。
-
ベースバケットで作成されたオブジェクトは、"ILMルール"がベースバケットにどのように適用されるかに基づいて評価されます。ブランチバケット内で作成されたオブジェクトは、ILMルールがそのブランチバケットにどのように適用されるかに基づいて評価されます。
-
ブランチバケットでは、クロスグリッドレプリケーションはサポートされていません。
-
ブランチバケットではプラットフォームサービスはサポートされていません。
ブランチバケットの使用例
-
ブランチバケットを使用すると、破損が発生する前の時点からブランチバケットを作成し、アプリケーションを破損オブジェクトを含むベースバケットではなく、そのブランチバケットに向けることで、破損オブジェクトを削除できます。
-
バージョン管理されたバケットにデータを保存しています。時間 T 以降に、意図しない多数のオブジェクトが取り込まれるという偶発的な脆弱性が発生しました。「Before」時間値 T に対応するブランチバケットを作成し、クライアント操作をそのブランチバケットにリダイレクトすることができます。これにより、Before 時間 T より前に取り込まれたオブジェクトのみがクライアントに公開されます。
ブランチバケット内のオブジェクトに対する操作
-
ブランチバケットに対するPUTオブジェクト操作は、そのブランチ内にオブジェクトを作成します。
-
ブランチバケットに対するGETオブジェクト操作は、ブランチからオブジェクトを取得します。オブジェクトがブランチバケットに存在しない場合、ベースバケットからオブジェクトが取得されます。
-
ブランチバケットからのオブジェクト削除は、次のように行われます。
処理 ターゲット 結果 ベースバケット内のオブジェクトの可視性 ブランチバケット内のオブジェクトの可視性 バージョンIDなしで削除
ベースバケット
削除マーカーはベースバケットに対してのみ作成されます
HEAD/GETはオブジェクトが存在しないことを返しますが、特定のバージョンには引き続きアクセスできます
HEAD/GETはオブジェクトが存在することを返し、特定のバージョンには引き続きアクセスできます
削除マーカーはブランチバケットの `beforeTime`後に作成されます。
バージョンIDで削除
ベースバケット
ベースバケットとブランチバケットの両方で、特定のオブジェクトバージョンが削除されます。
HEAD/GETリクエストで「オブジェクトバージョンが存在しません」というエラーが返されます
HEAD/GETリクエストで「オブジェクトバージョンが存在しません」というエラーが返されます
バージョンIDなしで削除
ブランチバケット
削除マーカーはブランチバケットに対してのみ作成されます
HEAD/GETはオブジェクトを返します(ベースバケットオブジェクトは影響を受けません)
HEAD/GETリクエストで「オブジェクトが存在しません」というエラーが返されます
バージョンIDで削除
ブランチバケット
特定のオブジェクトバージョンは、ブランチバケットに対してのみ削除されます。
HEAD/GETは特定のオブジェクトバージョンを返します(ベースバケットオブジェクトは影響を受けません)
HEAD/GETリクエストで「オブジェクトバージョンが存在しません」というエラーが返されます
また、"S3 バージョン管理されたオブジェクトはどのように削除されるのか"を参照してください。