S3 バージョン管理オブジェクトの削除方法
S3 バケットでバージョン管理が有効になっている場合、 StorageGRID は、削除要求に応答する際、要求が S3 クライアント、 S3 バケットライフサイクルの終了、 ILM ポリシーの要件のいずれによるものであるかにかかわらず、 Amazon S3 の動作に従います。
オブジェクトがバージョン管理されている場合、オブジェクトの削除要求は現在のバージョンのオブジェクトを削除せず、スペースも解放しません。代わりに ' オブジェクト削除要求は ' 最新バージョンのオブジェクトとして削除マーカーを作成するだけで ' 以前のバージョンのオブジェクトは noncurrent になります
オブジェクトが削除されていなくても、 StorageGRID は現在のバージョンのオブジェクトが使用できなくなったかのように動作します。そのオブジェクトに対する要求は 404 NotFound を返します。ただし、最新でないオブジェクトデータは削除されていないため、最新でないバージョンのオブジェクトを指定する要求は成功します。
バージョン管理オブジェクトを削除するときにスペースを解放するには、次のいずれかを実行する必要があります。
-
* S3クライアント要求*:S3 DELETE Object要求でオブジェクトのバージョン番号を指定します (
DELETE /object?versionId=ID
)。この要求は、指定したバージョンのオブジェクトコピーだけを削除します(他のバージョンは引き続きスペースを消費します)。 -
バケットライフサイクル:を使用します
NoncurrentVersionExpiration
をクリックします。NoncurrentDays で指定した日数に達すると、 StorageGRID は最新でないオブジェクトバージョンのコピーをすべて完全に削除します。これらのオブジェクトバージョンはリカバリできません。 -
* ILM * : ILM ポリシーに 2 つの ILM ルールを追加します。最新でないバージョンのオブジェクトに一致する場合は、最初のルールで「 * noncurrent Time * 」を参照時間として使用します。2 つ目のルールの * 取り込み時間 * を現在のバージョンと一致させます。「 * noncurrent Time * 」ルールは、「 * Ingest Time * 」ルールの上のポリシーに含める必要があります。