Blob 스토리지 버전 관리를 사용하여 Blob이 수정되거나 삭제될 때 Blob의 이전 버전을 자동으로 유지할 수 있습니다. Blob 버전 관리를 사용하는 경우 데이터를 잘못 수정하거나 삭제한 경우 이전 버전의 Blob을 복원하여 데이터를 복구할 수 있습니다.
이 문서는 Azure Portal 또는 Azure Resource Manager 템플릿을 사용하여 스토리지 계정에 대한 Blob 버전 관리를 사용하거나 사용하지 않는 방법을 보여 줍니다. Blob 버전 관리에 대한 자세한 정보는 Blob 버전 관리를 참조하세요.
BLOB 버전 관리 사용
Azure Portal, PowerShell, Azure CLI 또는 Azure Resource Manager 템플릿을 사용하여 Blob 버전 관리 기능을 사용하도록 설정할 수 있습니다.
Azure Portal에서 스토리지 계정에 대한 Blob 버전 관리를 사용하려면 다음을 수행합니다.
Portal에서 스토리지 계정으로 이동합니다.
데이터 관리 아래에서 데이터 보호를 선택합니다.
추적 섹션에서 Blob에 대한 버전 관리 사용을 선택한 다음, 일정 기간 후에 모든 버전을 유지할지 또는 삭제할지를 선택합니다.
중요
옵션 이후에 삭제 버전을 설정하면 규칙이 스토리지 계정의 수명 주기 관리 정책에 자동으로 추가됩니다. 해당 규칙이 추가되면 데이터 보호 구성 페이지에 다음 이후에 버전 삭제 옵션이 더 이상 나타나지 않습니다.
규칙을 제거하여 데이터 보호 페이지에 해당 옵션을 다시 표시할 수 있습니다. 수명 주기 관리 정책에 버전을 삭제하는 다른 규칙이 포함되어 있는 경우 다음 이후에 버전 삭제 옵션이 다시 나타나기 전에 해당 규칙을 제거해야 합니다.
PowerShell을 사용하여 스토리지 계정에 대한 Blob 버전 관리를 사용하려면 먼저 Az.Storage 모듈 버전 2.3.0 이상을 설치합니다. 그런 다음, 다음 예제와 같이 업데이트-AzStorageBlobServiceProperty 명령을 호출하여 버전 관리를 사용합니다. 꺾쇠 괄호로 묶인 값을 다음과 같이 고유한 값으로 바꿔야 합니다.
# Set resource group and account variables.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
# Enable versioning.
Update-AzStorageBlobServiceProperty -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-IsVersioningEnabled $true
Azure CLI를 사용하여 스토리지 계정에 대한 Blob 버전 관리를 사용하려면, 먼저 Azure CLI 버전 2.2.0 이상을 설치합니다. 그런 다음, 다음 예제와 같이 az storage account blob-service-properties update 명령을 호출하여 버전 관리를 사용합니다. 꺾쇠 괄호로 묶인 값을 다음과 같이 고유한 값으로 바꿔야 합니다.
az storage account blob-service-properties update \
--resource-group <resource_group> \
--account-name <storage-account> \
--enable-versioning true
템플릿에서 Blob 버전 관리를 사용하도록 설정하려면 IsVersioningEnabled 속성을 true로 설정하여 템플릿을 만듭니다. 다음 단계는 Azure Portal에서 템플릿을 만드는 방법을 보여 줍니다.
Azure Portal에서 리소스 만들기를 선택합니다.
Marketplace 검색에서 템플릿 배포를 입력하고 ENTER를 누릅니다.
템플릿 배포를 선택하고 만들기를 선택한 다음 편집기에서 고유의 템플릿 빌드를 선택합니다.
템플릿 편집기에서 다음 JSON을 붙여넣습니다. <accountName>
자리 표시자를 스토리지 계정 이름으로 바꿉니다.
템플릿을 저장합니다.
해당 계정의 리소스 그룹을 지정한 다음 구매 단추를 선택하여 템플릿을 배포하고 Blob 버전 관리를 사용하도록 설정합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts/blobServices",
"apiVersion": "2019-06-01",
"name": "<accountName>/default",
"properties": {
"IsVersioningEnabled": true
}
}
]
}
Azure Portal 템플릿을 사용하여 리소스를 배포하는 방법에 대한 자세한 내용은 Azure Portal을 사용하여 리소스 배포를 참조하세요.
Blob 버전 목록
Blob의 버전을 표시하려면 Azure Portal, PowerShell 또는 Azure CLI를 사용합니다. Blob Storage SDK 중 하나를 사용하여 Blob의 버전을 나열할 수도 있습니다.
Azure Portal에서 Blob의 버전을 나열하려면 다음을 수행합니다.
포털에서 스토리지 계정으로 이동한 다음 Blob이 포함된 컨테이너로 이동합니다.
버전을 나열할 Blob을 선택합니다.
버전 탭을 선택하여 Blob의 버전을 표시합니다.
삭제된 버전 표시 단추를 설정/해제하여 일시 삭제된 버전을 표시합니다. 스토리지 계정에 대해 Blob 일시 삭제를 사용하는 경우 일시 삭제 보존 간격 내에 있는 일시 삭제된 모든 버전이 목록에 표시됩니다.
PowerShell을 사용하여 Blob의 버전을 나열하려면 -IncludeVersion
매개 변수를 사용하여 Get-AzStorageBlob 명령을 호출합니다.
$account = Get-AzStorageAccount -ResourceGroupName <resource-group> -Name <storage-account>
$ctx = $account.Context
$container = "<container-name>"
$blobs = Get-AzStorageBlob -Container $container -Prefix "ab" -IncludeVersion -Context $ctx
foreach($blob in $blobs)
{
Write-Host $blob.Name
Write-Host $blob.VersionId
Write-Host $blob.IsLatestVersion
}
Azure CLI를 사용하여 Blob의 버전을 나열하려면 --include v
매개 변수를 사용하여 az storage blob list 명령을 호출합니다.
storageAccount="<storage-account>"
containerName="<container-name>"
az storage blob list \
--container-name $containerName \
--prefix "ab" \
--query "[[].name, [].versionId]" \
--account-name $storageAccount \
--include v \
--auth-mode login \
--output tsv
다음 단계