前編では不変ストレージと不変ポリシーについて解説しました。
後編では不変ストレージの「バージョンレベルの不変性のサポート」というBlob の特定のバージョンに不変ポリシーを適用することで、変更や削除を防ぐことを目的とした機能について解説します。
- バージョンレベルの不変性とは
- Azure Blob Storageバージョン管理機能
- ストレージアカウントでのバージョンレベルの不変性の有効化手順
- コンテナーでバージョン レベルの不変性のサポートの有効確認
- まとめ
バージョンレベルの不変性とは
バージョンレベルの不変性は、ストレージアカウント内のオブジェクト(ファイルやデータ)の特定のバージョンが変更されず、常に同じ状態で使用できることを指します。
また、コンテナー内のデータの更新履歴が保管される為、ロールバックが可能となります。この機能により、データの整合性とセキュリティが確保され、特定のバージョンに基づいた運用が可能になります。
Azure Blob Storageバージョン管理機能
Azure Blob Storageでは、コンテナーごとでバージョン管理を有効にすることでも、各Blobの異なるバージョンを保持できます。この機能を使用すると、一度アップロードされたBlobが更新された場合でも、以前のバージョンを保管し、必要に応じて復元することができます。
ただし、作成されたバージョン数の分コストが増加するため、ライフサイクル管理で削除するなど考慮が必要となります。
ストレージアカウントでのバージョンレベルの不変性の有効化手順
ストレージアカウント単位でバージョンレベルの不変性を有効化するにはストレージアカウントの新規作成時に有効化する必要があります。
「BLOBのバージョン管理を有効にする」と「バージョンレベルの不変性サポートを有効にする」にチェックをいれることにより機能が使用できるようになります。
ストレージアカウントデプロイ後、アカウントレベルで時間ベースの保持ポリシーを適用するには、以下「データ保護」よりポリシーを編集することにより、新規作成されたコンテナーにも時間ベースのポリシーなどを適用することが可能です。
コンテナーでバージョン レベルの不変性のサポートの有効確認
コンテナー新規作成時に以下のようにバージョンレベルの不変性サポートが有効化された状態となり、無効にすることができなくなっています。
ストレージアカウントレベルでポリシーを設定していない場合、コンテナーの新規作成後に前編で解説したポリシーの設定が必要です。
まとめ
バージョンレベルの不変性を使用することにより不変性を用いたデータやファイルなどのバージョン管理が可能となります。
データの信頼性を高めるための重要な機能ですが、利用される際はコストや管理の複雑さといったデメリットも考慮が必要です。