Fazer backup de Discos Gerenciados do Azure usando o Azure PowerShell
Este artigo explica como fazer backup do Disco Gerenciado do Azure usando o Azure PowerShell.
Neste artigo, vai aprender a:
Criar um cofre de backup
Criar uma política de cópias de segurança
Configurar um backup de um disco do Azure
Executar uma tarefa de backup sob demanda
Para obter informações sobre a disponibilidade da região de backup do Disco do Azure, cenários suportados e limitações, consulte a matriz de suporte.
Criar um cofre de backup
Um cofre de Backup é uma entidade de armazenamento no Azure que contém dados de backup para várias cargas de trabalho mais recentes suportadas pelo Backup do Azure, como o Banco de Dados do Azure para servidores PostgreSQL e Discos do Azure. Os cofres de backup facilitam a organização dos dados de backup e, ao mesmo tempo, minimizam a sobrecarga de gerenciamento. Os cofres de backup são baseados no modelo do Azure Resource Manager do Azure, que fornece recursos aprimorados para ajudar a proteger os dados de backup.
Antes de criar um cofre de backup, escolha a redundância de armazenamento dos dados dentro do cofre. Em seguida, prossiga para criar o cofre de backup com essa redundância de armazenamento e o local. Neste artigo, criaremos um cofre de backup "TestBkpVault" na região "westus" sob o 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 backup de disco do Azure, recupere o modelo de política usando o comando Get-AzDataProtectionPolicyTemplate. Este 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 aciona o backup) e um ciclo de vida (que decide quando excluir/copiar/mover o backup). No backup de disco do Azure, o valor padrão para trigger é um gatilho horário agendado para cada 4 horas (PT4H) e para reter 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 Azure Disk Backup oferece vários backups por dia. Se você precisar de backups mais frequentes, escolha a frequência de backup por hora com a capacidade de fazer backups com intervalos de 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 os backups 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 diária de backup, você pode especificar a hora do dia em que os backups são feitos. É importante notar que a hora do dia indica a hora de início do backup e não a hora em que o backup é 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 taxa de rotatividade entre backups consecutivos. No entanto, o backup de disco do Azure é um backup sem agente que usa instantâneos incrementais, o que não afeta o desempenho do aplicativo de produção.
Nota
- Embora o cofre selecionado possa ter a configuração de redundância global, atualmente o Backup de Disco do Azure oferece suporte apenas ao armazenamento de dados de instantâneo. Todos os backups são armazenados em um grupo de recursos em sua assinatura e não são copiados para o armazenamento do cofre de backup.
- Para Discos do Azure pertencentes a HDD Padrão, SSD Standard e SKUs SSD Premium, você pode definir o agendamento de backup com frequência horária (de 1, 2, 4, 6, 8 ou 12 horas) e frequência diária .
- Para Discos do Azure pertencentes a SKUs Premium V2 e Ultra Disk, você pode definir o agendamento de backup com frequência horária de apenas 12 horas e frequência diária .
Para saber mais detalhes sobre a criação de políticas, consulte o documento de política do Backup de Disco do Azure.
Se desejar editar a frequência horária ou o período de retenção, use os comandos Edit-AzDataProtectionPolicyTriggerClientObject e/ou Edit-AzDataProtectionPolicyRetentionRuleClientObject . Quando o objeto de política tiver todos os valores desejados, prossiga para criar uma nova política a partir do objeto de política usando 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 a cópia de segurança
Depois que o cofre e a política são criados, há 3 pontos críticos que o usuário precisa considerar para proteger um disco do Azure.
Principais entidades envolvidas
Disco a proteger
Buscar o ID ARM do disco a ser protegido. Isso servirá 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 Snapshot
Os instantâneos de disco são armazenados em um grupo de recursos na sua 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. Ter um grupo de recursos dedicado permite restringir as permissões de acesso no grupo de recursos, proporcionando segurança e facilidade de gerenciamento dos dados de backup. Observe a ID ARM do grupo de recursos onde você deseja colocar os instantâneos de disco
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"
Backup vault
Os cofres de backup exigem permissões no disco e no grupo de recursos de instantâneo para poder acionar instantâneos e gerenciar seu ciclo de vida. A identidade gerenciada atribuída pelo sistema do cofre é usada para atribuir essas permissões. Use o comando Update-AzRecoveryServicesVault para habilitar a identidade gerenciada atribuída pelo sistema para o cofre de serviços de recuperação.
Atribuir permissões
O usuário precisa atribuir algumas permissões via RBAC ao vault (representado pelo vault MSI) e ao disco relevante e/ou ao RG do disco. Eles podem ser executados via Portal ou PowerShell.
O cofre de backup usa identidade gerenciada para acessar outros recursos do Azure. Para configurar o backup de discos gerenciados, a identidade gerenciada do cofre de backup requer um conjunto de permissões nos discos de origem e 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 controle de acesso baseado em função do Azure (Azure RBAC). A identidade gerenciada é uma entidade de serviço de um tipo especial que só pode ser usada com recursos do Azure. Saiba mais sobre identidades gerenciadas.
Para configurar o backup de discos gerenciados, verifique os seguintes pré-requisitos:
Atribua a função Leitor de Backup de Disco à identidade gerenciada do cofre de backup no disco de origem do qual é necessário fazer backup.
Vá para o disco que precisa de backup.
Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.
No painel de contexto direito, selecione Leitor de Backup de Disco na lista suspensa Função.
Selecione a identidade gerenciada do cofre de backup e clique em Salvar.
Gorjeta
Digite o nome do cofre de backup para selecionar a identidade gerenciada do cofre.
Atribua a função de Colaborador do 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 de disco são armazenados em um grupo de recursos dentro de sua assinatura. Para permitir que o serviço de Backup do Azure crie, armazene e gerencie instantâneos, você precisa fornecer permissões para o cofre de backup.
Vá para o grupo de recursos. Por exemplo, o grupo de recursos é SnapshotRG, que está na mesma assinatura do disco para backup.
Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.
No painel de contexto direito, selecione Colaborador do Instantâneo de Disco na lista suspensa Função .
Selecione a identidade gerenciada do cofre de backup e clique em Salvar.
Gorjeta
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 certo de atribuições de função no disco de origem e no grupo de recursos que serve como armazenamento de dados de instantâneo.
Nota
Embora as atribuições de função sejam refletidas corretamente no portal, pode levar aproximadamente de 15 a 30 minutos para que a permissão seja aplicada na identidade gerenciada do cofre de backup.
Preparar o pedido
Uma vez que todas as permissões relevantes são definidas, a configuração do backup é realizada em 2 etapas. Primeiro, preparamos a solicitação relevante usando o grupo de recursos de cofre, política, disco e instantâneo relevante 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 uma cópia de segurança a pedido
Buscar 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 acionar 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 'default' é 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
Acione 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
Rastreie todos os trabalhos usando o comando Get-AzDataProtectionJob . Você pode listar todos os trabalhos e buscar um detalhe específico do trabalho.
Você também pode usar Az.ResourceGraph para rastrear 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