ブランチバケットとは何ですか?
ブランチ バケットは、特定の時間に存在していたバケット内のオブジェクトへのアクセスを提供します。
既存のバケットからブランチ バケットを作成します。ブランチ バケットを作成すると、その作成元となった元のバケットは ベース バケット と呼ばれます。さらに、別のブランチ バケットからブランチ バケットを作成することもできます。
ブランチ バケットは保護されたデータへのアクセスを提供しますが、バックアップとしては機能しません。引き続きデータを保護するには、ベース バケットで次の機能を使用します。
-
"グリッド間レプリケーション"ベースバケット用
-
"バケットポリシー"バージョン管理されたバケットで古いオブジェクトのバージョンをクリーンアップする
ブランチ バケットの次の特性に注意してください。
-
ブランチバケット内のオブジェクトにアクセスするには、"オブジェクトをダウンロードするための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はオブジェクトバージョンが存在しないという結果を返します