Fazer backup de uma máquina virtual criptografada do Azure com o PowerShell
Este script cria um cofre dos Serviços de Recuperação com armazenamento com redundância geográfica (GRS) para uma máquina virtual encriptada do Azure. A política de proteção padrão é aplicada ao cofre. A política gera um backup diário para a máquina virtual e retém cada backup por 365 dias. O script também dispara o ponto de recuperação inicial para a máquina virtual e retém esse ponto de recuperação por 30 dias.
Este exemplo requer o Azure PowerShell Az 1.0 ou posterior. Execute Get-Module -ListAvailable Az
para ver quais versões estão instaladas.
Se você precisar instalar, consulte Instalar o módulo do Azure PowerShell.
Execute Connect-AzAccount para entrar no Azure.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Script de exemplo
Nota
Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o 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
Limpar a implementação
Execute o seguinte comando para remover o grupo de recursos, a VM e todos os recursos relacionados.
Remove-AzResourceGroup -Name myResourceGroup
Explicação do script
Este script utiliza os seguintes comandos para criar a implementação. Cada item na tabela liga a documentação específica do comando.
Comando | Notas |
---|---|
New-AzResourceGroup | Cria um grupo de recursos no qual todos os recursos são armazenados. |
Novo-AzRecoveryServicesVault | Cria um cofre dos Serviços de Recuperação para armazenar backups. |
Set-AzRecoveryServicesBackupProperty | Define as propriedades de armazenamento de backup no cofre dos Serviços de Recuperação. |
New-AzRecoveryServicesBackupProtectionPolicy | Cria uma política de proteção usando a política de agendamento e a política de retenção no cofre dos Serviços de Recuperação. |
Set-AzKeyVaultAccessPolicy | Define as permissões no Key Vault para conceder ao principal do serviço acesso às chaves de encriptação. |
Enable-AzRecoveryServicesBackupProtection | Habilita o backup de um item com uma política de proteção de backup especificada. |
Set-AzRecoveryServicesBackupProtectionPolicy | Modifica uma política de proteção de backup existente. |
Backup-AzRecoveryServicesBackupItem | Inicia um backup para um item protegido do Backup do Azure que não está vinculado ao agendamento de backup. |
Wait-AzRecoveryServicesBackupJob | Aguarda a conclusão de um trabalho de Backup do Azure. |
Remove-AzResourceGroup | Remove um grupo de recursos e todos os recursos contidos no grupo. |
Próximos passos
Para obter mais informações sobre o módulo do Azure PowerShell, veja Documentação do Azure PowerShell.