다음을 통해 공유


PowerShell을 사용하여 암호화된 Azure 가상 머신 백업

이 스크립트는 암호화된 Azure VM에 대한 지리적 중복 저장소(GRS)가 있는 복구 서비스 자격 증명 모음을 만듭니다. 기본 보호 정책을 적용하여 365일 동안 매일 백업을 유지할 수 있습니다. 또한 30일 동안 저장된 초기 복구 지점을 트리거합니다.

이 샘플에는 Azure PowerShell Az 1.0 이상이 필요합니다. Get-Module -ListAvailable Az를 실행하여 설치된 버전을 확인합니다. 설치해야 하는 경우 Azure PowerShell 모듈 설치를 참조하세요.

Connect-AzAccount를 실행하여 Azure에 로그인합니다.

Azure 계정이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

샘플 스크립트

비고

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

# Edit these global variables with your unique Recovery Services Vault name, resource group name and ___location
$rsVaultName = "myRsVault"
$rgName = "myResourceGroup"
$___location = "East US"

# Register the Recovery Services provider and create a resource group
Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
New-AzResourceGroup -Location $___location -Name $rgName

# Create a Recovery Services Vault and set its storage redundancy type
New-AzRecoveryServicesVault `
    -Name $rsVaultName `
    -ResourceGroupName $rgName `
    -Location $___location 
$vault1 = Get-AzRecoveryServicesVault –Name $rsVaultName
Set-AzRecoveryServicesProperties ` 
    -Vault $vault1 `
    -BackupStorageRedundancy GeoRedundant
    
# Set Recovery Services Vault context and create protection policy
Get-AzRecoveryServicesVault -Name $rsVaultName | Set-AzRecoveryServicesVaultContext 
$schPol = Get-AzRecoveryServicesSchedulePolicyObject -WorkloadType "AzureVM"
$retPol = Get-AzRecoveryServicesRetentionPolicyObject -WorkloadType "AzureVM"
New-AzRecoveryServicesProtectionPolicy `
    -Name "NewPolicy" `
    -WorkloadType "AzureVM" ` 
    -RetentionPolicy $retPol `
    -SchedulePolicy $schPol
    
# Provide permissions to Azure Backup to access key vault and enable backup on the VM
Set-AzKeyVaultAccessPolicy `
    -VaultName "KeyVaultName" `
    -ResourceGroupName "KyeVault-RGName" ` 
    -PermissionsToKeys backup,get,list `
    -PermissionsToSecrets backup,get,list ` 
    -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzRecoveryServicesProtectionPolicy -Name "NewPolicy" `
Enable-AzRecoveryServicesProtection `
    -Policy $pol `
    -Name "myVM" `
    -ResourceGroupName "VM-RGName" 
    
# Modify protection policy
$retPol = Get-AzRecoveryServicesRetentionPolicyObject -WorkloadType "AzureVM"
$retPol.DailySchedule.DurationCountInDays = 365
$pol = Get-AzRecoveryServicesProtectionPolicy -Name "NewPolicy"
Set-AzRecoveryServicesProtectionPolicy `
    -Policy $pol `
    -RetentionPolicy $RetPol
    
# Trigger a backup and monitor backup job
$namedContainer = Get-AzRecoveryServicesContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "myVM"
$item = Get-AzRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM"
$job = Backup-AzRecoveryServicesBackupItem -Item $item
$joblist = Get-AzRecoveryServicesJob -Status "InProgress"
Wait-AzRecoveryServicesJob `
        -Job $joblist[0] `
        -Timeout 43200

배포 환경 정리

다음 명령을 실행하여 리소스 그룹, VM 및 모든 관련된 리소스를 제거할 수 있습니다.

Remove-AzResourceGroup -Name myResourceGroup

스크립트 설명

이 스크립트는 다음 명령을 사용하여 배포를 만듭니다. 테이블의 각 항목은 명령 관련 설명서에 연결됩니다.

명령어 비고
New-AzResourceGroup 모든 리소스가 저장되는 리소스 그룹을 만듭니다.
New-AzRecoveryServicesVault 백업을 저장할 복구 서비스 금고를 만듭니다.
Set-AzRecoveryServicesBackupProperty (Azure 복구 서비스 백업 속성 설정) Recovery Services 금고에서 백업 저장소 속성을 설정합니다.
New-AzRecoveryServicesBackupProtectionPolicy Recovery Services 금고에서 일정 정책과 보존 정책을 사용하여 보호 정책을 만듭니다.
AzKeyVault 액세스 정책 설정 Key Vault에 대한 권한을 설정하여 서비스 주체에게 암호화 키에 대한 액세스 권한을 부여합니다.
AzRecoveryServicesBackupProtection 활성화 지정된 Backup 보호 정책을 사용하여 항목에 대한 백업을 사용하도록 설정합니다.
Set-AzRecoveryServicesBackupProtectionPolicy 명령은 백업 프로텍션 정책을 설정합니다. 기존 Backup 보호 정책을 수정합니다.
Backup-AzRecoveryServicesBackupItem 백업 일정에 연결되지 않은 보호된 Azure Backup 항목에 대한 백업을 시작합니다.
Wait-AzRecoveryServicesBackupJob (백업 작업을 기다림) Azure Backup 작업이 완료되기를 기다립니다.
Remove-AzResourceGroup 리소스 그룹 및 포함된 모든 리소스를 제거합니다.

다음 단계

Azure PowerShell 모듈에 대해 자세히 알아봅니다.