次の方法で共有


BLOB を階層間で移行するライフサイクル管理ポリシー

ライフサイクル管理ポリシーを使用すると、使用パターンに基づいて BLOB をコスト効率の高いアクセス層に移行できます。 この記事には、層間で BLOB を移行するポリシー定義の例が含まれています。

Azure Storage ライフサイクル管理ポリシーの一般的な情報については、 Azure Blob Storage ライフサイクル管理の概要に関するページを参照してください。

古いデータをよりクールな層に移動する

次の例は、プレフィックス sample-container/blob1 または container2/blob2 が付いたブロック BLOB を移行する方法を示しています。 このポリシーでは、30 日以上変更されていない BLOB をクール ストレージに移行し、90 日間変更されていない BLOB をアーカイブ層に移行します。

{
  "rules": [
    {
      "name": "agingRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "sample-container/blob1", "container2/blob2" ]
        },
        "actions": {
          "baseBlob": {
            "tierToCool": { "daysAfterModificationGreaterThan": 30 },
            "tierToArchive": { "daysAfterModificationGreaterThan": 90 }
          }
        }
      }
    }
  ]
}

ライフサイクル管理ポリシーの baseBlob 要素は、BLOB の現在のバージョンを参照します。

最後にアクセスした時刻に基づいてデータを移動する

次の例では、BLOB は、30 日間アクセスされない場合に、クール ストレージに移動されます。 enableAutoTierToHotFromCool プロパティはブール値であり、BLOB がクールに階層化された後で再びアクセスされた場合に、BLOB を自動的にクールからホットに階層化するかどうかを示します。

ヒント

BLOB がクール層に移動され、30 日が経過する前に自動的に戻された場合、早期削除料金が課金されます。 enableAutoTierToHotFromCool プロパティを設定する前に、予想外の課金を減らせるよう、必ずデータのアクセス パターンを分析してください。 BLOB アクセス時のクールからホットへの自動階層化は、30 日に 1 回に制限されています。 このセーフガードは、クール層からの複数の早期削除ペナルティを回避するのに役立ちます。 ポリシーによりオブジェクト層がクールに戻った場合、BLOB 上のすべてのトランザクションはクール層の価格で課金されます。 BLOB を 30 日間に 2 回以上自動的に階層化する必要がある場合は、BLOB をホット層を保持するとコスト効率が高くなります。

enableAutoTierToHotFromCoolでルールを有効にすると、このルールで階層化されたオブジェクトにのみ適用されます。 クール層に既に存在する BLOB に対して、 enableAutoTierToHotFromCool プロパティを有効にすることはできません。 そのため、これらの BLOB のアクセス層は、アクセス時に自動的にホットに変わることはありません。

{
  "enabled": true,
  "name": "last-accessed-thirty-days-ago",
  "type": "Lifecycle",
  "definition": {
    "actions": {
      "baseBlob": {
        "enableAutoTierToHotFromCool": true,
        "tierToCool": {
          "daysAfterLastAccessTimeGreaterThan": 30
        }
      }
    },
    "filters": {
      "blobTypes": [
        "blockBlob"
      ],
      "prefixMatch": [
        "mylifecyclecontainer/log"
      ]
    }
  }
}

取り込み後のデータのアーカイブ

クラウド内でアイドル状態に留まり、あったとしてもまれにしかアクセスされないデータもあります。 次のライフサイクル ポリシーは、取り込み直後にデータをアーカイブするように構成されます。 この例では、archivecontainer という名前のコンテナー内のブロック BLOB をアーカイブ層に移行します。 この移行は、最終変更時刻の 0 日後に BLOB を処理することによって実現されます。

Von Bedeutung

データ セットが読み取り可能である必要がある場合は、BLOB をアーカイブ層に移動するポリシーを設定しないでください。 アーカイブ層の BLOB は、最初にリハイドレートされていない限り読み取ることができません。これは時間とコストがかかる場合があるプロセスです。 詳細については、「アーカイブ層からの BLOB のリハイドレートの概要」を参照してください。 データ セットを頻繁に読み込む必要がある場合は、BLOB をクール層またはコールド層に移動するポリシーを設定しないでください。これにより、トランザクション コストが高くなる可能性があるためです。

{
  "rules": [
    {
      "name": "archiveRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "archivecontainer" ]
        },
        "actions": {
          "baseBlob": {
              "tierToArchive": { 
                "daysAfterModificationGreaterThan": 0
              }
          }
        }
      }
    }
  ]
}

効率を高めるためには、BLOB をアーカイブ層に直接アップロードすることをお勧めします。 アーカイブ層は、Put BLOB または Put Block List 操作の x-ms-access-tier ヘッダーで指定できます。 x-ms-access-tier ヘッダーは、REST バージョン 2018-11-09 以降または最新の BLOB ストレージ クライアント ライブラリでサポートされています。

以前のバージョンの管理

有効期間全体にわたって定期的に変更およびアクセスされるデータの場合は、BLOB ストレージのバージョン管理を有効にすることで、オブジェクトの以前のバージョンを自動的に管理できます。 以前のバージョンを階層化するポリシーを作成できます。 バージョンの古さは、バージョンの作成時刻を評価することによって決定されます。 このポリシー ルールは、バージョンの作成後 90 日以上前のコンテナー activedata 内の以前のバージョンをクール層に移動します。

{
  "rules": [
    {
      "enabled": true,
      "name": "versionrule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "tierToCool": {
              "daysAfterCreationGreaterThan": 90
            },
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "activedata/"
          ]
        }
      }
    }
  ]
}

ライフサイクル管理ポリシーの version 要素は、以前のバージョンを参照します。

こちらも参照ください