Partilhar via


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. Você também pode usar a API REST para criar uma política de Backup e configurar o backup para o Disco Gerenciado do Azure.

Saiba mais sobre a disponibilidade da região de backup do Disco do Azure, cenários suportados e limitações.

Nota

  • Se o disco de destino estiver anexado como um Volume Persistente a um cluster AKS, escolha Backup do Azure para AKS em vez da solução de Backup de Disco autônoma. Ele permite fazer backup do disco como instantâneos junto com o aplicativo conteinerizado de uma maneira compatível com o Kubernetes, tudo como uma única unidade. Além disso, você obtém recursos de restauração entre regiões e proteção contra ransomware com o AKS Backup.

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 a localização. 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

Uma vez criado o cofre, devemos 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 num grupo de recursos na sua subscrição e não são copiados para o armazenamento do cofre de cópias de segurança.
  • 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 aos SKUs Premium V2 e Ultra Disk, é possível definir o agendamento de backup com uma frequência horária de até 12 horas e uma frequência diária.

Para saber mais detalhes sobre a criação de políticas, consulte como criar a 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 de o cofre e a política de segurança serem criados, há três pontos críticos que o utilizador precisa considerar para proteger um disco do Azure.

Principais entidades envolvidas

Disco a proteger

Obter 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 tua 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"

Cofre de Backup

Os cofres de backup exigem permissões no disco e no grupo de recursos de snapshots para conseguir acionar snapshots e gerir o seu ciclo de vida. A identidade gerida atribuída pelo sistema ao 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 geridos, a identidade gerida do cofre de backup requer um conjunto de permissões nos discos de origem e nos grupos de recursos onde os instantâneos são criados e geridos.

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.

    1. Vá para o disco que precisa de backup.

    2. Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.

    3. No painel de contexto à direita, selecione Leitor de Backup de Disco no menu suspenso Função.

    4. 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.

    Captura de tela mostrando o processo para atribuir a função Leitor de Backup de Disco à identidade gerenciada do cofre de Backup no disco de origem do qual é necessário fazer backup.

  • 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.

    1. Vá para o grupo de recursos. Por exemplo, o grupo de recursos é SnapshotRG, que está na mesma assinatura do disco que será alvo do backup.

    2. Vá para Controle de acesso (IAM) e selecione Adicionar atribuições de função.

    3. No painel de contexto à direita, selecione Colaborador do Instantâneo de Disco no menu suspenso Função.

    4. 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.

    Captura de tela mostrando o processo para atribuir a função de Colaborador de Instantâneo de Disco à identidade gerenciada do cofre de Backup no grupo de recursos.

  • Verifique se a identidade gerida do cofre de backup tem o conjunto adequado de atribuições de função no disco de origem e no grupo de recursos que atua como datastore de instantâneos.

    1. Vá para Backup vault ->Identity e selecione Azure role assignments.

      Captura de tela mostrando a seleção de atribuições de função do Azure.

    2. Verifique se a função, o nome do recurso e o tipo de recurso estão corretos.

      Captura de tela mostrando a verificação da função, nome e tipo de recurso.

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 ver 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 todas as tarefas 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

Próximos passos

Restaure o Disco Gerenciado usando o portal do Azure, Azure PowerShell, CLI do Azure.