StorageGRIDでオブジェクトの削除を処理する方法
クライアントが削除操作を実行したとき、またはオブジェクトの有効期間が満了して自動削除がトリガーされたときに、すべてのオブジェクトコピーが StorageGRID システムから削除されます。オブジェクト削除には、定義されたデータフローがあります。
削除階層
StorageGRID は、オブジェクトを保持するか削除するかを制御するための複数の方法を提供します。オブジェクトは、クライアントからの要求によって、または自動的に削除できます。StorageGRID は、S3 オブジェクト ロックの設定をクライアントからの削除リクエストよりも常に優先し、クライアントからの削除リクエストは S3 バケットのライフサイクルおよび ILM 配置指示よりも優先されます。
-
S3 オブジェクト ロック: グリッドに対してグローバル S3 オブジェクト ロック設定が有効になっている場合、S3 クライアントは S3 オブジェクト ロックが有効になっているバケットを作成し、S3 REST API を使用して、そのバケットに追加された各オブジェクト バージョンに対して保持期限と法的保留設定を指定できます。
-
法的保留中のオブジェクトバージョンは、いかなる方法でも削除できません。
-
オブジェクトバージョンの保持期限が到来するまでは、いかなる方法を用いてもそのバージョンを削除することはできません。
-
S3オブジェクトロックが有効になっているバケット内のオブジェクトは、ILMによって「永久に」保持されます。ただし、保持期限が到来すると、オブジェクトのバージョンはクライアントからの要求、またはバケットのライフサイクルの満了によって削除される可能性があります。
-
S3クライアントがバケットにデフォルトの保持期限を設定している場合、各オブジェクトに対して保持期限を指定する必要はありません。
-
-
クライアントによる削除リクエスト:S3クライアントはオブジェクトの削除リクエストを発行できます。クライアントがオブジェクトを削除すると、オブジェクトのすべてのコピーが StorageGRID システムから削除されます。
-
バケット内のオブジェクトを削除:テナントマネージャーのユーザーは、このオプションを使用して、選択したバケット内のオブジェクトとオブジェクトバージョンのすべてのコピーを StorageGRID システムから完全に削除できます。
-
S3 バケットのライフサイクル:S3 クライアントは、バケットに有効期限アクションを指定するライフサイクル構成を追加できます。バケットのライフサイクルが存在する場合、StorageGRID は、有効期限アクションで指定された日付または日数が経過すると、クライアントが先にオブジェクトを削除しない限り、オブジェクトのすべてのコピーを自動的に削除します。
-
ILM配置手順:バケットに S3 オブジェクトロックが有効になっておらず、バケットのライフサイクルがないと仮定した場合、StorageGRID は ILM ルールの最後の期間が終了し、オブジェクトに対してそれ以上の配置が指定されていないときに、オブジェクトを自動的に削除します。
S3バケットのライフサイクルが設定されている場合、ライフサイクルフィルターに一致するオブジェクトについては、ライフサイクルの有効期限切れアクションがILMポリシーを上書きします。その結果、オブジェクトを配置するためのILM指示が期限切れになった後でも、オブジェクトがグリッド上に残る可能性があります。
詳細については、"オブジェクトが削除される方法"を参照してください。
クライアント削除のデータフロー

-
LDRサービスは、クライアントアプリケーションから削除リクエストを受信します。
-
LDRサービスはメタデータストアを更新して、クライアントからの要求に対してオブジェクトが削除されたように見せかけ、ILMエンジンにオブジェクトデータのすべてのコピーを削除するように指示します。
-
そのオブジェクトはシステムから削除されました。メタデータストアが更新され、オブジェクトのメタデータが削除されます。
ILM削除のデータフロー

-
ILMエンジンは、そのオブジェクトを削除する必要があると判断します。
-
ILMエンジンはメタデータストアに通知します。メタデータストアはオブジェクトのメタデータを更新し、クライアントからのリクエストに対してオブジェクトが削除されたように見えるようにします。
-
ILMエンジンは、オブジェクトのすべてのコピーを削除します。メタデータストアが更新され、オブジェクトのメタデータが削除されます。