Fazer backup de Managed Disks do Azure por meio do Azure PowerShell
Este artigo explica como fazer backup do Disco Gerenciado do Azure por meio do Azure PowerShell.
Neste artigo, você aprenderá a:
Criar um cofre de backup
Criar uma política de backup
Configurar um backup de um Azure Disk
Executar um trabalho de backup sob demanda
Para obter informações sobre a disponibilidade da região de backup de um Azure Disk, cenários e limitações compatíveis, consulte a matriz de suporte.
Criar um cofre de backup
Um cofre de backup é uma entidade de armazenamento no Azure que mantém dados de backup para várias cargas de trabalho mais recentes com suporte no Backup do Azure, como servidores para o Banco de Dados do Azure para PostgreSQL e os Azure Disks. Os cofres de backup facilitam a organização dos dados de backup, minimizando a sobrecarga de gerenciamento. Os cofres de backup são baseados no modelo de Azure Resource Manager do Azure, que fornece recursos avançados para ajudar a proteger os dados de backup.
Antes de criar um cofre de backup, escolha a redundância de armazenamento dos dados no cofre. Em seguida, continue a criar o cofre de backup com essa redundância de armazenamento e a localização. Neste artigo, criaremos um cofre de Backup "TestBkpVault", na região "westus", no grupo de recursos "testBkpVaultRG". Use o comando New-AzDataProtectionBackupVault para criar um cofre de backup. Saiba mais sobre como criar um cofre de backup.
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag :
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId :
IdentityType :
Location : westus
Name : TestBkpVault
ProvisioningState : Succeeded
StorageSetting : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type : Microsoft.DataProtection/backupVaults
Após a criação do cofre, vamos criar uma política de backup para proteger os discos do Azure.
Criar uma política de backup
Para entender os componentes internos de uma política de backup para o backup em disco do Azure, recupere o modelo de política usando o comando Get-AzDataProtectionPolicyTemplate. Esse comando retorna um modelo de política padrão para um determinado tipo de fonte de dados. Use este modelo de política para criar uma nova política.
$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
$policyDefn | fl
DatasourceType : {Microsoft.Compute/disks}
ObjectType : BackupPolicy
PolicyRule : {BackupHourly, Default}
$policyDefn.PolicyRule | fl
BackupParameter : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType : DataStoreInfoBase
DataStoreType : OperationalStore
Name : BackupHourly
ObjectType : AzureBackupRule
Trigger : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType : ScheduleBasedTriggerContext
IsDefault : True
Lifecycle : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name : Default
ObjectType : AzureRetentionRule
O modelo de política consiste em um gatilho (que decide o que dispara o backup) e um ciclo de vida (que decide quando excluir/copiar/mover o backup). No backup em disco do Azure, o valor padrão para o gatilho é um gatilho agendado por hora para cada 4 horas (PT4H) e para manter cada backup por 7 dias.
$policyDefn.PolicyRule[0].Trigger | fl
ObjectType : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2020-04-05T13:00:00+00:00/PT4H}
TaggingCriterion : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl
DeleteAfterDuration : P7D
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : OperationalStore
TargetDataStoreCopySetting :
O backup do Azure Disk oferece vários backups por dia. Se precisar de uma frequência de backups maior, escolha a frequência de backup por Hora com a capacidade de fazer backups com intervalos a cada 4, 6, 8 ou 12 horas. Os backups são agendados com base no intervalo de Tempo selecionado. Por exemplo, se você selecionar a Cada 4 horas, os backups serão feitos aproximadamente no intervalo de cada 4 horas para que sejam distribuídos igualmente ao longo do dia. Se um backup uma vez por dia for suficiente, escolha a frequência de backup Diária. Na frequência de backup diária, você pode especificar a hora do dia em que os backups são feitos. É importante observar que a hora do dia indica o horário de início do backup e não o horário em que o backup será concluído. O tempo necessário para concluir a operação de backup depende de vários fatores, incluindo o tamanho do disco e a rotatividade entre backups consecutivos. No entanto, o backup em Azure Disk é um backup sem agente que usa instantâneos incrementais, o que não afeta o desempenho do aplicativo de produção.
Observação
- Embora o cofre selecionado possa ter a configuração de redundância global, o backup no Disco do Azure dá suporte apenas ao armazenamento de dados de instantâneos. Todos os backups são armazenados em um grupo de recursos na assinatura e não são copiados para o armazenamento do cofre de backup.
- Para os Discos do Azure que pertencem a SKUs HDD Standard, SSD Standard e SSD Premium, você pode definir o agendamento de backup com frequência Por hora (de 1, 2, 4, 6, 8 ou 12 horas) e frequência Diária.
- Para discos do Azure que pertencem a SKUs Premium V2 e Ultra Disk, você pode definir o agendamento de backup com frequência Por hora de apenas 12 horas e frequência diária.
Para saber mais detalhes sobre a criação de políticas, confira o documento Política de backup de disco do Azure.
Se você quiser editar a frequência por hora ou o período de retenção, use os comandos Edit-AzDataProtectionPolicyTriggerClientObject e/ou Edit-AzDataProtectionPolicyRetentionRuleClientObject. Depois que o objeto de política tiver todos os valores desejados, vá para criar uma nova política do objeto de política usando o New-AzDataProtectionBackupPolicy.
New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name diskBkpPolicy -Policy $policyDefn
Name Type
---- ----
diskBkpPolicy Microsoft.DataProtection/backupVaults/backupPolicies
$diskBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "diskBkpPolicy"
Configurar backup
Depois que o cofre e a política são criados, há três pontos críticos que o usuário precisa considerar para proteger um disco do Azure.
Entidades-chave envolvidas
Disco a ser protegido
Busque a ID do ARM do disco a ser protegido. Isso funcionará como o identificador do disco. Usaremos um exemplo de um disco chamado "PSTestDisk" em um grupo de recursos "diskrg" em uma assinatura diferente.
$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/PSTestDisk"
Grupo de recursos de instantâneo
Os instantâneos de disco são armazenados em um grupo de recursos da assinatura. Como diretriz, é recomendável criar um grupo de recursos dedicado como um armazenamento de dados de instantâneo a ser usado pelo serviço de Backup do Azure. Com um grupo de recursos dedicado, é possível restringir as permissões de acesso no grupo de recursos, fornecendo segurança e facilidade de gerenciamento dos dados de backup. Observe a ID do ARM para o grupo de recursos em que você deseja inserir os instantâneos do disco
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"
Cofre de backup
Os cofres de backup exigem permissões em disco e o grupo de recursos de instantâneo para poder disparar instantâneos e gerenciar seu ciclo de vida. A identidade gerenciada atribuída ao sistema do cofre é usada para atribuir essas permissões. Use o comando Update-AzRecoveryServicesVault a fim de habilitar a identidade gerenciada atribuída ao sistema para o cofre dos serviços de recuperação.
Atribuir permissões
O usuário precisa atribuir algumas permissões via RBAC ao cofre (representado pelo MSI do cofre) e o disco relevante e/ou o RG do disco. Eles podem ser executados por meio do portal ou do PowerShell.
O Cofre de Backup usa a Identidade Gerenciada para acessar outros recursos do Azure. Para configurar o backup de discos gerenciados, a identidade gerenciada do cofre de Backup exige um conjunto de permissões nos discos de origem e nos grupos de recursos onde os instantâneos são criados e gerenciados.
Uma identidade gerenciada atribuída ao sistema é restrita a uma por recurso e está vinculada ao ciclo de vida desse recurso. Você pode conceder permissões para a identidade gerenciada usando o RBAC do Azure (controle de acesso baseado em função do Azure). A identidade gerenciada é uma entidade de serviço de um tipo especial que só pode ser usada com recursos do Azure. Saiba mais sobre as identidades gerenciadas.
Para configurar o backup de discos gerenciados, garanta os seguintes pré-requisitos:
Atribua a função Leitor de Backup em Disco à identidade gerenciada do Cofre de Backup no disco de origem cujo backup deve ser feito.
Vá para o disco que precisa ser submetido a backup.
Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.
No painel de contexto à direita, selecione Leitor de Backup em Disco na lista suspensa Função.
Selecione a identidade gerenciada do cofre de Backup e clique em Salvar.
Dica
Digite o nome do cofre de backup para selecionar a identidade gerenciada do cofre.
Atribua a função Colaborador de Instantâneo de Disco à identidade gerenciada do cofre de Backup no grupo de recursos onde os backups são criados e gerenciados pelo serviço de Backup do Azure. Os instantâneos do disco estão armazenados em um grupo de recursos na sua assinatura. Para permitir que o serviço de Backup do Azure crie, armazene e gerencie instantâneos, é preciso fornecer permissões para o cofre de backup.
Vá para Grupo de recursos. Por exemplo, o grupo de recursos é SnapshotRG, que está na mesma assinatura do disco do qual será feito o backup.
Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.
No painel de contexto à direita, selecione Colaborador de Instantâneo de Disco na lista suspensa Função.
Selecione a identidade gerenciada do cofre de Backup e clique em Salvar.
Dica
Digite o nome do cofre de backup para selecionar a identidade gerenciada do cofre.
Verifique se a identidade gerenciada do cofre de backup tem o conjunto correto de atribuições de função no disco de origem e no grupo de recursos que serve como o armazenamento de dados de instantâneo.
Observação
Embora as atribuições de função sejam refletidas corretamente no portal, pode levar aproximadamente 15 a 30 minutos para que a permissão seja aplicada na identidade gerenciada do cofre de backup.
Preparar a solicitação
Depois que todas as permissões relevantes forem definidas, a configuração do backup será executada em duas etapas. Primeiro, preparamos a solicitação relevante usando o cofre, política, disco e grupo de recursos de instantâneos relevantes usando o comando Initialize-AzDataProtectionBackupInstance. Em seguida, enviamos a solicitação para proteger o disco usando o comando New-AzDataProtectionBackupInstance.
$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDisk -DatasourceLocation $TestBkpvault.Location -PolicyId $diskBkpPol[0].Id -DatasourceId $DiskId
$instance.Property.PolicyInfo.PolicyParameter.DataStoreParametersList[0].ResourceGroupId = $snapshotrg
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance
Name Type BackupInstanceName
---- ---- ------------------
diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166
Executar um backup sob demanda
Busque a instância de backup relevante na qual o usuário deseja disparar um backup usando Get-AzDataProtectionBackupInstance
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"
Você pode especificar uma regra de retenção ao disparar o backup. Para exibir as regras de retenção na política, navegue pelo objeto de política para regras de retenção. No exemplo abaixo, a regra com o nome "padrão" é exibida e usaremos essa regra para o backup sob demanda
$policyDefn.PolicyRule | fl
BackupParameter : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType : DataStoreInfoBase
DataStoreType : OperationalStore
Name : BackupHourly
ObjectType : AzureBackupRule
Trigger : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType : ScheduleBasedTriggerContext
IsDefault : True
Lifecycle : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name : Default
ObjectType : AzureRetentionRule
Dispare um backup sob demanda usando o comando backup-AzDataProtectionBackupInstanceAdhoc.
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"
Acompanhamento de trabalhos
Acompanhe todos os trabalhos usando o comando Get-AzDataProtectionJob. Você pode listar todos os trabalhos e buscar um detalhe de trabalho específico.
Você também pode usar Az.ResourceGraph para acompanhar todos os trabalhos em todos os cofres de backup. Use o comando Search-AzDataProtectionJobInAzGraph para obter o trabalho relevante que pode estar em qualquer cofre de backup.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup