다음을 통해 공유


Azure PowerShell을 사용하여 Azure Blob 복원

이 문서에서는 PowerShell을 사용하여 운영 또는 보관소 백업에서 Azure Blob을 복원하는 방법을 설명합니다. 운영 백업을 사용하면 운영 백업이 구성된 스토리지 계정의 모든 블록 Blob 또는 Blob 콘텐츠의 하위 집합을 보존 범위 내의 특정 시점으로 복원할 수 있습니다. 보관된 백업을 사용하면 백업 일정에 따라 생성된 복구 시점을 통해 복원을 수행할 수 있습니다.

Azure Portal, Azure CLI, REST API를 사용하여 Azure Backup으로 Azure Blob을 복원할 수도 있습니다.

중요합니다

Azure Blob에 대한 지원은 버전 Az 5.9.0부터 제공됩니다.

중요합니다

Azure Backup을 사용하여 Azure Blob을 복원하기 전에 중요 사항을 참조하세요.

이 문서에서는 다음을 수행하는 방법을 알아봅니다.

  • Azure Blob 복원

  • 복원 작업 상태 추적

예에서는 리소스 그룹 testBkpVaultRG 아래의 기존 백업 볼트 TestBkpVault를 사용해 보겠습니다.

$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"

스토리지 계정 내에서 Azure Blob 복원

백업 계층 선택:

복원에 유효한 시간 범위 가져오기

Blob에 대한 작업 백업이 연속적이기 때문에 복원할 고유한 지점이 없습니다. 대신 Blob을 모든 시점으로 복원할 수 있는 유효한 시간 범위를 가져와야 합니다. 이 예제에서는 지난 30일 이내에 복원할 유효한 시간 범위를 확인해 보겠습니다.

$startDate = (Get-Date).AddDays(-30)
$endDate = Get-Date

먼저 Get-AzDataProtectionBackupInstance 명령을 사용하여 모든 인스턴스를 가져오고 관련 인스턴스를 식별합니다.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name

Az.Resourcegraph 및 Search-AzDataProtectionBackupInstanceInAzGraph 명령을 사용하여 여러 보관소와 구독에 걸친 인스턴스를 검색할 수도 있습니다.

$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureBlob -ProtectionStatus ProtectionConfigured

인스턴스가 식별되면 Find-AzDataProtectionRestorableTimeRange 명령을 사용하여 관련 복구 범위를 가져옵니다.

Find-AzDataProtectionRestorableTimeRange -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName -StartTime $startDate -endTime $endDate

EndTime    : 2021-04-24T08:57:36.4149422Z
ObjectType : RestorableTimeRange
StartTime  : 2021-03-25T14:27:31.0000000Z

$DesiredPIT = (Get-Date -Date "2021-04-23T02:47:02.9500000Z")

복원 요청 준비

복원 시점이 수정되면 복원할 여러 옵션이 있습니다. Initialize-AzDataProtectionRestoreRequest 명령을 사용하여 관련된 모든 세부 정보와 함께 복원 요청을 준비합니다.

모든 Blob을 특정 시점으로 복원

선택한 특정 시점으로 롤백하여 스토리지 계정의 모든 블록 Blob을 복원할 수 있습니다. 많은 양의 데이터를 포함하거나 높은 변동이 발생하는 스토리지 계정은 복원하는 데 시간이 더 오래 걸릴 수 있습니다.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2]

선택한 컨테이너 복원

복원할 컨테이너를 최대 10개까지 찾아보고 선택할 수 있습니다.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -ContainersList "abc","xyz"

접두사 일치를 사용하여 컨테이너 복원

접두사 일치를 사용하여 Blob의 하위 집합을 복원할 수 있습니다. 지정된 시점에 해당 Blob을 이전 상태로 되돌리기 위해 단일 컨테이너 내에서 또는 여러 컨테이너에서 사전순으로 최대 10개의 Blob 범위를 지정할 수 있습니다. 몇 가지 주의할 사항은 다음과 같습니다.

  • 슬래시(/)를 사용하여 Blob 접두사에서 컨테이너 이름을 구분할 수 있습니다.
  • 지정된 범위의 시작은 포함되지만 지정된 범위는 제외됩니다.

접두사를 사용하여 Blob 범위를 복원하는 방법에 대해 자세히 알아보세요.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -FromPrefixPattern "containerabc/aaa","containerabc/ccc" -ToPrefixPattern "containerabc/bbb","containerabc/ddd"

복원을 시작하세요

Start-AzDataProtectionBackupInstanceRestore 명령을 사용하여 위에서 준비한 요청으로 복원을 트리거합니다.

Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest

작업 추적

Get-AzDataProtectionJob 명령을 사용하여 모든 작업을 추적할 수 있습니다. 모든 작업을 나열하고 특정 작업 세부 정보를 가져올 수 있습니다.

Az.ResourceGraph를 사용하여 모든 백업 볼트에서 모든 작업을 추적할 수도 있습니다. Search-AzDataProtectionJobInAzGraph 명령을 사용하여 모든 백업 볼트에서 관련 작업을 가져올 수 있습니다.

$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureBlob -Operation Restore

다음 단계

Azure Blob 백업 개요