Udostępnij za pośrednictwem


Tworzenie kopii zapasowej zaszyfrowanej maszyny wirtualnej platformy Azure przy użyciu programu PowerShell

Ten skrypt tworzy skrytkę usługi Recovery Services z geograficznie nadmiarowym magazynem (GRS) dla zaszyfrowanej maszyny wirtualnej Azure. Stosuje domyślne zasady ochrony, włączając codzienne kopie zapasowe przechowywane przez 365 dni. Ponadto wyzwala początkowy punkt odzyskiwania przechowywany przez 30 dni.

Ten przykład wymaga modułu Azure PowerShell Az w wersji 1.0 lub nowszej. Uruchom polecenie Get-Module -ListAvailable Az , aby zobaczyć, które wersje są zainstalowane. Jeśli musisz zainstalować, zobacz Instalowanie modułu programu Azure PowerShell.

Uruchom polecenie Connect-AzAccount , aby zalogować się do platformy Azure.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Przykładowy skrypt

Uwaga

Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

# 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

Dokończenie wdrożenia

Uruchom następujące polecenie, aby usunąć grupę zasobów, maszynę wirtualną i wszystkie powiązane zasoby.

Remove-AzResourceGroup -Name myResourceGroup

Wyjaśnienie skryptu

Ten skrypt używa następujących poleceń w celu utworzenia wdrożenia. Każda pozycja w tabeli stanowi link do dokumentacji specyficznej dla danego polecenia.

Komenda Notatki
New-AzResourceGroup Tworzy grupę zasobów, w której są przechowywane wszystkie zasoby.
New-AzRecoveryServicesVault Tworzy magazyn usługi Recovery Services do przechowywania kopii zapasowych.
Set-AzRecoveryServicesBackupProperty Ustawia właściwości magazynu kopii zapasowych w magazynie Recovery Services.
New-AzRecoveryServicesBackupProtectionPolicy Tworzy zasady ochrony przy użyciu zasad harmonogramu i zasad przechowywania w magazynie usługi Recovery Services.
Set-AzKeyVaultAccessPolicy Ustawia uprawnienia w Key Vault, aby udzielić podmiotowi zabezpieczeń dostępu do kluczy szyfrowania.
Enable-AzRecoveryServicesBackupProtection Włącza tworzenie kopii zapasowych dla elementu z określonymi zasadami ochrony kopii zapasowych.
Set-AzRecoveryServicesBackupProtectionPolicy Modyfikuje istniejące zasady ochrony kopii zapasowych.
Kopia zapasowa-AzRecoveryServicesBackupItem Uruchamia kopię zapasową chronionego elementu usługi Azure Backup, który nie jest powiązany z harmonogramem tworzenia kopii zapasowych.
Wait-AzRecoveryServicesBackupJob Czeka na zakończenie zadania usługi Azure Backup.
Remove-AzResourceGroup Usuwa grupę zasobów i wszystkie zawarte w niej zasoby.

Następne kroki

Dowiedz się więcej na temat modułu Azure PowerShell.