PowerShell ile şifrelenmiş bir Azure sanal makinesini yedekleme
Bu betik, şifrelenmiş bir Azure sanal makinesi için coğrafi olarak yedekli depolama (GRS) içeren bir Kurtarma Hizmetleri kasası oluşturur. Varsayılan koruma ilkesi kasaya uygulanır. İlke, sanal makine için günlük bir yedekleme oluşturur ve her yedeklemeyi 365 gün boyunca korur. Betik ayrıca sanal makine için ilk kurtarma noktasını tetikler ve bu kurtarma noktasını 30 gün boyunca korur.
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 Bağlan-AzAccount komutunu çalıştırın.
Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.
Örnek betik
Not
Azure ile etkileşim kurmak 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ı temizleme
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
Betik 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.
Command | Notlar |
---|---|
New-AzResourceGroup | Tüm kaynakların depolandığı bir kaynak grubu oluşturur. |
New-AzRecoveryServicesVault | Yedeklemeleri depolamak için bir Kurtarma Hizmetleri kasası oluşturur. |
Set-AzRecoveryServicesBackupProperty | Kurtarma Hizmetleri kasasında yedekleme depolama özelliklerini ayarlar. |
New-AzRecoveryServicesBackupProtectionPolicy | Kurtarma Hizmetleri kasasında zamanlama ilkesini ve bekletme ilkesini kullanarak koruma ilkesi oluşturur. |
Set-AzKeyVaultAccessPolicy | Key Vault üzerinde hizmet sorumlusuna şifreleme anahtarları için erişim verecek 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 | Kaynak grubunu ve grubun içerdiği tüm kaynakları kaldırır. |
Sonraki adımlar
Azure PowerShell modülü hakkında daha fazla bilgi için bkz. Azure PowerShell belgeleri.