ONTAP S3バケットライフサイクル管理ルールを作成する
ONTAP 9 .13.1以降では、S3バケット内のオブジェクトライフサイクルを管理するためのライフサイクル管理ルールを作成できます。バケット内の特定のオブジェクトに対して削除ルールを定義し、それらのルールを使用してバケットオブジェクトを期限切れにすることができます。これにより、保持要件を満たし、S3オブジェクトストレージ全体を効率的に管理できます。
バケットオブジェクトに対してオブジェクトロックが有効になっている場合、オブジェクトの有効期限に関するライフサイクル管理ルールはロックされたオブジェクトには適用されません。オブジェクトのロックについては、を参照してください"バケットを作成する"。 |
-
S3サーバとバケットを含むS3対応のSVMがすでに存在している必要があります。詳細については、を参照してください "S3用のSVMの作成" 。
-
MetroCluster構成ではバケットライフサイクル管理ルールがサポートされないことに注意してください。
ライフサイクル管理ルールを作成する際に、バケットオブジェクトに次の削除操作を適用できます。
-
現在のバージョンの削除-このアクションは、ルールで指定されたオブジェクトを期限切れにします。バケットでバージョン管理が有効になっている場合は、S3によって、期限切れになったすべてのオブジェクトが使用できなくなります。バージョン管理が有効になっていない場合は、オブジェクトが永続的に削除されます。CLIアクションはです
Expiration
。 -
Deletion of non-current versions - S3が最新でないオブジェクトを完全に削除できるタイミングを指定します。CLIアクションはです
NoncurrentVersionExpiration
。最新でないバージョンは、現在のバージョンの作成時刻または変更時刻に基づいています。最新でないオブジェクトの削除を遅らせておくと、誤ってオブジェクトを削除または上書きした場合に役立ちます。たとえば、最新でないバージョンが最新でない状態になってから5日後に削除するように、有効期限ルールを設定できます。たとえば、2014年1月1日の午前10時30分(UTC)に、という名前のオブジェクト(バージョンID 111111
)を作成したとしphoto.gif`ます。2014年1月2日午前11時30分(UTC)に誤って(バージョンID) `111111`を削除する `photo.gif`と、新しいバージョンID(バージョンIDなど)を持つ削除マーカーが作成されます `4857693
。5日以内に元のバージョン(バージョンID111111
)を復元してから、削除が永続的に行われるようになりphoto.gif`ます。2014年1月8日00:00 UTCに、有効期限のライフサイクルルールが実行され、非最新バージョンになってから5日後に(バージョンID `111111
)が完全に削除され `photo.gif`ます。 -
期限切れ削除マーカーの削除-このアクションは、期限切れのオブジェクト削除マーカーを削除します。バージョン管理が有効なバケットでは、削除マーカーが付いたオブジェクトがオブジェクトの現在のバージョンになります。オブジェクトは削除されず、アクションを実行することはできません。これらのオブジェクトに現在のバージョンが関連付けられていない場合、これらのオブジェクトは期限切れになります。CLIアクションはです
Expiration
。 -
[Deletion of incomplete multipart uploads]-マルチパートアップロードを実行中のままにする最大時間(日数)を設定します。その後、それらは削除されます。CLIアクションはです
AbortIncompleteMultipartUpload
。
実行する手順は、使用するインターフェイスによって異なります。ONTAP 9.13、1では、CLIを使用する必要があります。ONTAP 9.14.1以降では、System Managerも使用できます。
CLIを使用したライフサイクル管理ルールの管理
ONTAP 9.13.1以降では、ONTAP CLIを使用して、S3バケット内のオブジェクトを期限切れにするライフサイクル管理ルールを作成できます。
CLIでは、バケットライフサイクル管理ルールを作成するときに、有効期限アクションタイプごとに必須フィールドを定義する必要があります。これらのフィールドは、最初の作成後に変更できます。次の表に、アクションタイプごとに固有のフィールドを示します。
アクションタイプ |
一意のフィールド |
NonCurrentVersionExpiration |
|
有効期限 |
|
AbortIncompleteMultipartUpload |
|
バケットライフサイクル管理ルールを特定のオブジェクトのサブセットにのみ適用するには、管理者はルールの作成時に各フィルタを設定する必要があります。ルールの作成時にこれらのフィルタが設定されていない場合、ルールはバケット内のすべてのオブジェクトに適用されます。
以下の場合は、すべてのフィルタを最初に作成した後_except_に変更できます。+
-
-prefix
-
-tags
-
-obj-size-greater-than
-
-obj-size-less-than
-
コマンドとexpirationアクションタイプの必須フィールドを使用し `vserver object-store-server bucket lifecycle-management-rule create`て、バケットライフサイクル管理ルールを作成します。
次のコマンドは、NonCurrentVersionExpirationバケットライフサイクル管理ルールを作成します。
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action NonCurrentVersionExpiration -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -new-non-curr-versions <integer> -non-curr-days <integer>
次のコマンドは、Expirationバケットライフサイクル管理ルールを作成します。
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action Expiration -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -obj-age-days <integer> -obj-exp-date <"MM/DD/YYYY HH:MM:SS"> -expired-obj-del-marker {true|false}
次のコマンドは、AbortIncompleteMultipartUploadバケットライフサイクル管理ルールを作成します。
vserver object-store-server bucket lifecycle-management-rule create -vserver <svm_name> -bucket <bucket_name> -rule-id <rule_name> -action AbortIncompleteMultipartUpload -index <lifecycle_rule_index_integer> -is-enabled {true|false} -prefix <object_name> -tags <text> -obj-size-greater-than {<integer>[KB|MB|GB|TB|PB]} -obj-size-less-than {<integer>[KB|MB|GB|TB|PB]} -after-initiation-days <integer>
System Managerを使用したライフサイクル管理ルールの管理
ONTAP 9.14.1以降では、System Managerを使用してS3オブジェクトを期限切れにできます。S3オブジェクトのライフサイクル管理ルールの追加、編集、削除ができます。また、あるバケット用に作成したライフサイクル ルールをインポートして、別のバケット内のオブジェクトに使用することもできます。アクティブなルールを無効にして、あとで有効にすることができます。
ライフサイクル管理ルールの追加
-
[ストレージ]>[バケット]*をクリックします。
-
有効期限ルールを指定するバケットを選択します。
-
アイコンをクリックし 、*[ライフサイクルルールの管理]*を選択します。
-
[追加]>[ライフサイクルルール]*をクリックします。
-
[ライフサイクルルールの追加]ページで、ルールの名前を追加します。
-
ルールの範囲を定義します。ルールをバケット内のすべてのオブジェクトに適用するか、特定のオブジェクトに適用するかを指定します。オブジェクトを指定する場合は、次のいずれかのフィルタ条件を少なくとも1つ追加します。
-
prefix:ルールを適用するオブジェクトキー名のプレフィックスを指定します。通常は、オブジェクトのパスまたはフォルダです。1つのルールに1つのプレフィックスを指定できます。有効なプレフィックスが指定されていない場合、ルールがバケット内のすべてのオブジェクトに適用されます。
-
tags:ルールを適用するオブジェクトのキーと値のペア(タグ)を3つまで指定します。フィルタリングには有効なキーのみが使用されます。この値はオプションです。ただし、値を追加する場合は、対応するキーに有効な値のみを追加してください。
-
サイズ:オブジェクトの最小サイズと最大サイズの間でスコープを制限できます。どちらかまたは両方の値を入力できます。デフォルトの単位はMIBです。
-
-
アクションを指定します。
-
オブジェクトの現在のバージョンを期限切れにする:現在のオブジェクトが作成されてから一定の日数が経過した後、または特定の日付に、すべてのオブジェクトを永続的に使用不可にするルールを設定します。このオプションは、*期限切れのオブジェクト削除マーカーを削除*オプションが選択されている場合は使用できません。
-
最新でないバージョンを完全に削除:最新でないバージョンが削除されるまでの日数と、保持するバージョンの数を指定します。
-
期限切れのオブジェクト削除マーカーを削除:期限切れの削除マーカーを持つオブジェクト、つまり現在のオブジェクトが関連付けられていないマーカーを削除するには、このアクションを選択します。
このオプションは、保持期間後にすべてのオブジェクトを自動的に削除する*[現在のバージョンのオブジェクトを期限切れにする]*オプションを選択すると使用できなくなります。オブジェクトタグをフィルタリングに使用している場合も、このオプションは使用できません。 -
未完了のマルチパートアップロードを削除:未完了のマルチパートアップロードを削除するまでの日数を設定します。指定した保持期間内に実行中のマルチパートアップロードが失敗した場合は、完了していないマルチパートアップロードを削除できます。オブジェクトタグをフィルタリングに使用すると、このオプションは使用できなくなります。
-
[ 保存( Save ) ] をクリックします。
-
ライフサイクルルールのインポート
-
[ストレージ]>[バケット]*をクリックします。
-
有効期限ルールをインポートするバケットを選択します。
-
アイコンをクリックし 、*[ライフサイクルルールの管理]*を選択します。
-
[追加]>[ルールのインポート]*をクリックします。
-
ルールのインポート元のバケットを選択します。選択したバケットに対して定義されているライフサイクル管理ルールが表示されます。
-
インポートするルールを選択します。ルールは一度に1つずつ選択できます。デフォルトでは最初のルールが選択されています。
-
[* インポート * ] をクリックします。
ルールの編集、削除、または無効化
編集できるライフサイクル管理操作は、ルールに関連付けられているもののみです。ルールがオブジェクトタグでフィルタされている場合は、[期限切れのオブジェクト削除マーカーを削除する]*オプションと[不完全なマルチパートアップロードを削除する]*オプションは使用できません。
ルールを削除すると、そのルールは以前に関連付けられていたオブジェクトには適用されなくなります。
-
[ストレージ]>[バケット]*をクリックします。
-
ライフサイクル管理ルールを編集、削除、または無効にするバケットを選択します。
-
アイコンをクリックし 、*[ライフサイクルルールの管理]*を選択します。
-
必要なルールを選択します。一度に1つのルールを編集および無効にすることができます。一度に複数のルールを削除できます。
-
、[削除]、または[無効化]*を選択し、手順を完了します。