Sdílet prostřednictvím


Zálohování šifrovaného virtuálního počítače Azure pomocí PowerShellu

Tento skript vytvoří trezor služby Recovery Services s geograficky redundantním úložištěm (GRS) pro šifrovaný virtuální počítač Azure. Výchozí zásady ochrany se použijí v trezoru. Tato zásada vygeneruje pro virtuální počítač denní zálohu a uchovává každou zálohu po dobu 365 dnů. Skript také aktivuje počáteční bod obnovení pro virtuální počítač a zachová tento bod obnovení po dobu 30 dnů.

Tato ukázka vyžaduje Azure PowerShell Az 1.0 nebo novější. Spuštěním zjistíte Get-Module -ListAvailable Az , které verze jsou nainstalované. Pokud potřebujete nainstalovat, přečtěte si téma Instalace modulu Azure PowerShellu.

Spuštěním příkazu Připojení-AzAccount se přihlaste k Azure.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Ukázkový skript

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na 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

Vyčištění nasazení

Spuštěním následujícího příkazu odeberte skupinu prostředků, virtuální počítač a všechny související prostředky.

Remove-AzResourceGroup -Name myResourceGroup

Vysvětlení skriptu

Tento skript pomocí následujících příkazů vytvoří nasazení. Každá položka v tabulce odkazuje na příslušnou část dokumentace.

Příkaz Notes
New-AzResourceGroup Vytvoří skupinu prostředků, ve které se ukládají všechny prostředky.
New-AzRecoveryServicesVault Vytvoří trezor služby Recovery Services pro ukládání záloh.
Set-AzRecoveryServicesBackupProperty Nastaví vlastnosti úložiště zálohování v trezoru služby Recovery Services.
New-AzRecoveryServicesBackupProtectionPolicy Vytvoří zásady ochrany pomocí zásad plánu a zásad uchovávání informací v trezoru služby Recovery Services.
Set-AzKeyVaultAccessPolicy Nastaví oprávnění ke službě Key Vault tak, že instančnímu objektu udělí přístup k šifrovacím klíčům.
Enable-AzRecoveryServicesBackupProtection Povolí zálohování položky se zadanou zásadou ochrany zálohování.
Set-AzRecoveryServicesBackupProtectionPolicy Upraví existující zásady ochrany záloh.
Backup-AzRecoveryServicesBackupItem Spustí zálohu chráněné položky služby Azure Backup, která není svázaná s plánem zálohování.
Wait-AzRecoveryServicesBackupJob Čeká na dokončení úlohy Azure Backup.
Remove-AzResourceGroup Odebere skupinu prostředků a všechny prostředky, které obsahuje.

Další kroky

Další informace o modulu Azure PowerShellu najdete v dokumentaci k Azure PowerShellu.