ストレージ バケットのオブジェクト ライフサイクル ポリシーを設定する

このページでは、Google Distributed Cloud(GDC)エアギャップ ストレージ バケットのオブジェクト ライフサイクル ポリシーを設定する方法について説明します。

始める前に

プロジェクト名前空間は、Management API サーバーのバケット リソースを管理します。バケットとオブジェクトを操作するには、プロジェクトが必要です。

次のオペレーションを実行するには、適切なバケット権限も必要です。バケットへのアクセス権を付与するをご覧ください。

バケットにオブジェクトのライフサイクル ポリシーを設定する

オブジェクト ライフサイクル ポリシーを使用すると、バケット内のオブジェクトを自動的に管理できます。これにより、データのライフサイクル全体でデータをより効率的に保存できます。ライフサイクル構成は、特定の照合条件に基づいてオブジェクトのグループを期限切れにするルールのリストです。

オブジェクト ライフサイクル ポリシーの有無にかかわらずバケットを作成できます。バケットの作成後に、新しいライフサイクル ポリシーを適用したり、既存のライフサイクル ポリシーを更新または削除したりできます。

バージョニングされていないバケットの場合、有効期限とは、オブジェクトを非同期で完全に削除することを意味します。

バージョニング対応バケットの場合、現在のオブジェクト バージョンが削除マーカーでない場合、有効期限が切れると、現在のバージョンが非現行になり、現在のバージョンに削除マーカーが追加されます。

オブジェクトのライフサイクル ポリシーを設定して変更するには、Bucket.spec.bucketPolicy.lifecyclePolicy フィールドを更新します。

CLI

次に、異なるオブジェクト ライフサイクル ポリシーが構成されたバケット リソースの例をいくつか示します。

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

ライフサイクル ポリシーの更新は、既存のオブジェクトと更新後にアップロードされたオブジェクトに適用されます。

バケットにオブジェクト ロックも構成されている場合、オブジェクトは保持期間が終了する前に有効期限切れから保護されます。