Google Distributed Cloud(GDC)エアギャップ アプライアンスのオブジェクト ライフサイクル ポリシーを使用すると、ストレージ バケット全体でデータの保持と有効期限を自動化できます。経過日数、接頭辞、タグのルールを定義して、バージョニングされていないオブジェクトを削除したり、手動でクリーンアップせずにバージョンを移行して期限切れにしたりできます。
始める前に
プロジェクトの名前空間は、Management API サーバーでバケット リソースを管理します。バケットとオブジェクトを操作するには、プロジェクトが必要です。
また、次のオペレーションを実行するには、適切なバケット権限が必要です。バケットへのアクセス権を付与するをご覧ください。
管理 API サーバーに対してコマンドを実行するには、管理 API サーバーの kubeconfig ファイルがない場合は、ログインして生成します。
バケットにオブジェクト ライフサイクル ポリシーを設定する
オブジェクト ライフサイクル ポリシーを使用すると、バケット内のオブジェクトを自動的に管理できます。これにより、ライフサイクル全体でデータをより効率的に保存できます。ライフサイクル構成は、特定の条件に一致するオブジェクトのグループを期限切れにするルールのリストです。
バケットは、オブジェクト ライフサイクル ポリシーの有無にかかわらず作成できます。バケットの作成後に、新しいライフサイクル ポリシーの適用、既存のライフサイクル ポリシーの更新、既存のライフサイクル ポリシーの削除を行うことができます。
バージョニングされていないバケットの場合、有効期限が切れると、オブジェクトが非同期で完全に削除されます。
バージョニングされたバケットの場合、現在のオブジェクト バージョンが削除マーカーでない場合、有効期限が切れると現在のバージョンが非現行になり、現在のバージョンに削除マーカーが追加されます。
オブジェクト ライフサイクル ポリシーを設定して変更するには、Bucket.spec.bucketPolicy.lifecyclePolicy フィールドを更新します。
異なるオブジェクト ライフサイクル ポリシーが構成されたバケット リソースの例を次に示します。
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire all objects after 2000 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 2000
id: expire-all-after-2000-days
status: Enabled
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects having name start with abc after 500 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 500
id: expire-all-start-with-abc-after-500-days
status: Enabled
filter:
prefixFilter: "abc"
----------
apiVersion: object.gdc.goog/v1
kind: Bucket
metadata:
name: BUCKET_NAME
namespace: NAMESPACE_NAME
spec:
description: "Bucket with lifecycle rule to expire objects having specific tag after 300 days"
storageClass: Standard
bucketPolicy:
lifecyclePolicy:
enable: true
lifecycleRules:
- expiration:
days: 300
id: expire-all-objects-with-specific-tag-after-300-days
status: Enabled
filter:
tagFilters:
- key: testKey
value: testValue
ライフサイクル ポリシーの更新は、既存のオブジェクトと更新後にアップロードされたオブジェクトに適用されます。
バケットにオブジェクト ロックも構成されている場合、オブジェクトは保持期間が終了する前に期限切れにならないように保護されます。