説明
コンテナーの論理的な削除は、削除したコンテナーとその内容を一定期間復旧できる状態で保持します。コンテナーの削除は多数の Blob に一度に影響するため、専用の復旧保護が重要です。
この機能はコンテナー全体を復元します。コンテナーが残っている状態で削除された個別の Blob には、Blob の論理的な削除やバージョン管理が必要です。ストレージアカウント自体の削除も別途防止する必要があります。
想定される影響
- 削除されたコンテナーの復旧期間を過ぎると、多数の Blob を同時に失う可能性があります。
- 大量のデータをバックアップから復元する場合、費用の増加やサービス復旧の遅れにつながる可能性があります。
対処方法
blob_properties.container_delete_retention_policyのdaysを、削除の発見と対応に必要な時間に合わせて設定してください。- 保持費用を確認し、実際のコンテナー復元を試験してください。元の名前で新しいコンテナーを作ると、復元できなくなる場合があります。
- 個別の Blob の論理的な削除、必要なバージョン管理やバックアップも構成し、削除権限を制限してください。
例
5 日と 49 日のコンテナー保持期間を比較する例です。5 日でも復旧期間はありますが、Microsoft は最低 7 日を推奨し、運用に応じてさらに長く設定できます。既存のアカウントを変更する際はほかの属性を維持し、Terraform の計画を確認してください。
変更前
hcl
resource "azurerm_storage_account" "storage_account" {
name = "appcontainerstore"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
account_tier = "Standard"
account_replication_type = "GRS"
blob_properties {
container_delete_retention_policy {
days = 5
}
}
}
コンテナーの削除後 5 日間は復旧できます。発見と対応に必要な時間より短いと、復旧の機会を失う可能性があります。
変更後
hcl
resource "azurerm_storage_account" "storage_account" {
name = "protectedstore01"
resource_group_name = "testRG"
location = "northeurope"
account_tier = "Premium"
account_replication_type = "LRS"
blob_properties {
container_delete_retention_policy {
days = 49
}
}
}
コンテナーを復旧できる期間を 49 日に延ばしています。データの重要性と保持費用に合わせて調整してください。