PowerShell ile şifrelenmiş bir Azure sanal makinesini yedekleme

Bu betik, şifrelenmiş bir Azure VM için coğrafi olarak yedekli depolama (GRS) içeren bir Kurtarma Hizmetleri kasası oluşturur. Varsayılan koruma ilkesini uygulayarak 365 gün boyunca tutulan günlük yedeklemeleri etkinleştirir. Ayrıca, 30 gün boyunca depolanan bir ilk kurtarma noktasını tetikler.

Bu örnek, Azure PowerShell Az 1.0 veya sonraki bir sürümü gerektirir. Hangi sürümlerin yüklü olduğunu görmek için komutunu çalıştırın Get-Module -ListAvailable Az . Yüklemeniz gerekiyorsa bkz . Azure PowerShell modülünü yükleme.

Azure'da oturum açmak için Connect-AzAccount komutunu çalıştırın.

Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.

Örnek senaryo

Uyarı

Azure ile etkileşime geçmek için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

# 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

Dağıtımı Temizle

Kaynak grubunu, VM’yi ve ilgili tüm kaynakları kaldırmak için aşağıdaki komutu çalıştırın.

Remove-AzResourceGroup -Name myResourceGroup

Senaryo açıklaması

Bu betik, dağıtımı oluşturmak için aşağıdaki komutları kullanır. Tablodaki her öğe, komuta özgü belgelere yönlendirir.

Komut Notlar
New-AzResourceGroup Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
New-AzRecoveryServicesVault Yedeklemeleri depolamak için bir Kurtarma Hizmetleri deposu oluşturur.
Set-AzRecoveryServicesBackupProperty komutu kullanılarak yedekleme ayarları belirlenir. Recovery Services kasasında yedekleme depolama özelliklerini ayarlar.
New-AzRecoveryServicesBackupProtectionPolicy Kurtarma Hizmetleri kasasında zamanlama ve saklama politikalarını kullanarak bir koruma politikası oluşturur.
Set-AzKeyVaultAccessPolicy Hizmet sorumlusuna şifreleme anahtarlarına erişim vermek için Key Vault'ta izinleri ayarlar.
Enable-AzRecoveryServicesBackupProtection Belirtilen Yedekleme koruma ilkesine sahip bir öğe için yedeklemeyi etkinleştirir.
Set-AzRecoveryServicesBackupProtectionPolicy Var olan bir Yedekleme koruma ilkesini değiştirir.
Backup-AzRecoveryServicesBackupItem Yedekleme zamanlamasına bağlı olmayan korumalı bir Azure Backup öğesi için yedekleme başlatır.
Wait-AzRecoveryServicesBackupJob Azure Backup işinin tamamlanmasını bekler.
Remove-AzResourceGroup Bir kaynak grubunu ve içindeki tüm kaynakları kaldırır.

Sonraki adımlar

Azure PowerShell modülü hakkında daha fazla bilgi edinin.