Azure Blob 삭제 복구 보존 기간 점검

Azure Blob의 일시 삭제와 보존 기간을 설정해 삭제된 데이터를 발견하고 복구할 시간을 확보하세요.

설명

Blob 일시 삭제는 삭제된 Blob, 스냅샷이나 버전을 정해진 기간 동안 복구할 수 있게 보관합니다. 보호가 꺼져 있거나 삭제를 발견하기 전에 보존 기간이 끝나면 데이터를 되돌리기 어려워집니다.

blob_properties.delete_retention_policy는 개별 Blob의 복구를 위한 설정입니다. 컨테이너 전체나 스토리지 계정 삭제에 대한 보호는 별도로 구성해야 합니다.

잠재적 영향

  • 실수나 오남용으로 삭제된 데이터를 복구하지 못할 수 있습니다.
  • 짧은 보존 기간 때문에 백업 복원이나 재업로드에 의존하면 서비스 복구가 지연될 수 있습니다.

해결 방법

  • blob_properties.delete_retention_policy를 구성하고 삭제 발견과 복구에 필요한 시간을 고려해 days를 정하세요.
  • 보존 기간 동안 저장 비용이 발생할 수 있으므로 데이터 중요도와 비용을 함께 검토하고 실제 복원을 시험하세요.
  • 컨테이너 일시 삭제와 필요한 버전 관리·백업을 함께 검토하고 스토리지 계정 삭제 권한도 제한하세요.

예시

다음은 5일과 49일의 보존 기간을 비교합니다. 둘 다 일시 삭제를 설정한 예시이며, 필요한 기간은 운영 환경에 따라 다릅니다. 실제 계정에 적용할 때는 이름·위치·계층 등 다른 속성을 유지하고 Terraform 계획을 확인하세요.

변경 전

hcl
resource "azurerm_storage_account" "storage_account" {
  name                     = "appstorage001"
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_replication_type = "GRS"

  blob_properties {
    delete_retention_policy {
      days = 5
    }
  }
}

삭제 후 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 {
    delete_retention_policy {
      days = 49
    }
  }
}

복구 가능한 기간을 49일로 늘립니다. 49일이 모든 환경에 필요한 기준은 아니므로 조직의 복구 목표에 맞춰 조정하세요.

참조