Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como fazer backup de todos os blobs do Azure em uma conta de armazenamento usando o Azure PowerShell. Agora você pode executar backups operacionais e em cofre para proteger blobs de bloco em suas contas de armazenamento usando o Backup do Azure. Você também pode configurar o backup usando a API REST
Para obter informações sobre a disponibilidade da região de blob do Azure, cenários suportados e limitações, consulte a matriz de suporte.
Importante
O suporte para blobs do Azure está disponível a partir da versão Az 5.9.0. Para configurar a autoproteção para contentores presentes e futuros, instale o Az.DataProtection versão 3.0.1 ou posterior.
Antes de começar
Consulte os pré-requisitos e a matriz de suporte antes de começar.
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 blobs 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 blobs do Azure.
Importante
Embora você veja a redundância de armazenamento de backup do cofre, a redundância não se aplica ao backup operacional de blobs, pois o backup é local por natureza e nenhum dado é armazenado no cofre de backup. Aqui, o cofre de cópia de segurança é a entidade de gestão que o ajuda a gerir a proteção de blobs em blocos nas suas contas de armazenamento.
Criar uma política de backup
Escolha uma camada de backup:
Importante
Leia esta seção antes de continuar a criar a política e configurar backups para blobs do Azure.
Para entender os componentes internos de uma política de backup para o backup de blob 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 AzureBlob
$policyDefn | fl
DatasourceType : {Microsoft.Storage/storageAccounts/blobServices}
ObjectType : BackupPolicy
PolicyRule : {Default}
$policyDefn.PolicyRule | fl
IsDefault : True
Lifecycle : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202101.SourceLifeCycle}
Name : Default
ObjectType : AzureRetentionRule
O modelo de política consiste apenas em um ciclo de vida (que decide quando excluir/copiar/mover o backup). Como o backup operacional para blobs é contínuo por natureza, você não precisa de um agendamento para executar backups.
$policyDefn.PolicyRule.Lifecycle | fl
DeleteAfterDuration : P30D
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : OperationalStore
TargetDataStoreCopySetting :
Nota
A restauração por longos períodos pode levar a que as operações de restauração demorem mais tempo para serem concluídas. Além disso, o tempo necessário para restaurar um conjunto de dados é baseado no número de operações de gravação e exclusão feitas durante o período de restauração. Por exemplo, uma conta com um milhão de objetos com 3.000 objetos adicionados por dia e 1.000 objetos excluídos por dia exigirá aproximadamente duas horas para restaurar para um ponto de 30 dias no passado.
Não recomendamos um período de retenção e restauração superior a 90 dias no passado para uma conta com esta taxa de alteração.
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 o comando New-AzDataProtectionBackupPolicy .
New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name blobBkpPolicy -Policy $policyDefn
Name Type
---- ----
blobBkpPolicy Microsoft.DataProtection/backupVaults/backupPolicies
$blobBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "blobBkpPolicy"
Configurar a cópia de segurança
Depois de o cofre e a política serem criados, há dois pontos críticos a considerar para proteger todos os blobs do Azure contidos numa conta de armazenamento.
- Entidades principais
- Permissões
Entidades principais
Conta de armazenamento que contém os blobs a serem protegidos: busque a ID do Azure Resource Manager da conta de armazenamento que contém os blobs a serem protegidos. Isso servirá como o identificador da conta de armazenamento. Usaremos um exemplo de uma conta de armazenamento chamada PSTestSA no grupo de recursos blobrg em uma assinatura diferente.
$SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"Cofre de backup: o cofre de backup requer permissões na conta de armazenamento para habilitar backups em blobs presentes na conta de armazenamento. A identidade gerida atribuída pelo sistema ao cofre é utilizada para atribuir essas permissões.
Atribuir permissões
Você precisa atribuir algumas permissões por meio do RBAC do Azure ao cofre criado (representado pelo vault MSI) e à conta de armazenamento relevante. Eles podem ser executados via Portal ou PowerShell. Saiba mais sobre todas as permissões relacionadas.
Preparar a solicitação para configurar o backup de blob
Escolha uma camada de backup:
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 cofre relevante, a política relevante e a conta de armazenamento, utilizando o comando Initialize-AzDataProtectionBackupInstance. Em seguida, enviamos a solicitação para proteger os blobs dentro da conta de armazenamento usando o comando New-AzDataProtectionBackupInstance .
$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureBlob -DatasourceLocation $TestBkpvault.Location -PolicyId $blobBkpPol[0].Id -DatasourceId $SAId
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance
Name Type BackupInstanceName
---- ---- ------------------
blobrg-PSTestSA-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances blobrg-PSTestSA-3df6ac08-9496-4839-8fb5-8b78e594f166
Importante
Depois que uma conta de armazenamento é configurada para backup de blobs, alguns recursos são afetados, como alterar feed e excluir bloqueio. Saiba mais.
Atualizar uma instância de backup
Depois de configurares o backup, podes alterar a política associada com uma instância de backup. Para cópias de segurança em cofres, também pode alterar os contentores selecionados para cópia de segurança ou optar por proteger automaticamente os contentores até ao limite suportado. Selecionar auto-proteção para todos os contentores presentes e futuros é permanente, e não pode voltar às opções anteriores de seleção de contentores.
Para atualizar a instância de backup, execute os seguintes cmdlets:
Valide se a instância de backup está pronta para configurar o backup usando o comando Test-AzDataProtectionBackupInstanceReadiness . O comando falhará se a instância de backup não estiver pronta.
Você também pode usar esse comando para verificar se o cofre de backup tem todas as permissões necessárias para configurar o backup.
Altere a política usada para fazer backup dos Blobs do Azure usando Update-AzDataProtectionBackupInstance. Especifique o item de backup relevante e a nova política de backup.
Atualize a política ou os novos contêineres para itens de backup existentes. Se a autoproteção estiver ativada, os novos contentores são automaticamente protegidos até que o número de contentores protegidos atinja 1000.
Crie o contexto da conta de armazenamento usando o
New-AzStorageContextcmdlet. Forneça o parâmetro para que as-UseConnectedAccountoperações de dados sejam executadas usando suas credenciais do Microsoft Entra. Saiba mais sobre os comandos da conta de armazenamento.Create a context object using Azure AD credentials $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccountRecupere os contêineres de armazenamento usando o
Get-AzStorageContainercmdlet. Para recuperar um único contêiner, forneça o-Nameparâmetro. Para retornar uma lista de contêineres que começa com uma determinada cadeia de caracteres, especifique um valor para o-Prefixparâmetro.
O exemplo a seguir recupera um contêiner individual e uma lista de recursos de contêiner:
# Create variables $containerName = "individual-container" $prefixName = "loop-" # Approach 1: Retrieve an individual container Get-AzStorageContainer -Name $containerName -Context $ctx Write-Host # Approach 2: Retrieve a list of containers $targetContainers = Get-AzStorageContainer -Context $ctx | Where-Object { $_.Name -match "cont" }O resultado fornece o URI do ponto de extremidade de blob e lista os contêineres recuperados por nome e prefixo:
Storage Account Name: demostorageaccount Name PublicAccess LastModified IsDeleted VersionId ---- ------------ ------------ --------- --------- individual-container 11/2/2021 5:52:08 PM +00:00 loop-container1 11/2/2021 12:22:00 AM +00:00 loop-container2 11/2/2021 12:22:00 AM +00:00 loop-container1 11/2/2021 12:22:00 AM +00:00 loop-container2 11/2/2021 12:22:00 AM +00:00 loop-container3 11/2/2021 12:22:00 AM +00:00 True 01D7E7129FDBD7D4 loop-container4 11/2/2021 12:22:00 AM +00:00 True 01D7E8A5EF01C787Buscar a instância de backup que precisa ser atualizada.
C:\Users\testuser> $instance = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription "Demosub" -ResourceGroup Demo-BCDR-RG -Vault BCDR-BV-EastUS -DatasourceType AzureBlob PS C:\Users\testuser> $instance Output Name BackupInstanceName ---- ------------------ blobsa-blobsa-c7325e08-980d-43b2-863f-68feee4fd03c blobsa-blobsa-c7325e08-980d-43b2-863f-68feee4fd03c blobsavaulted-blobsavaulted-40c36519-f422-45aa-bbeb-3f0eedb440c7 blobsavaulted-blobsavaulted-40c36519-f422-45aa-bbeb-3f0eedb440c7 testdpp-testdpp-ff4254dd-7a70-437b-9a10-8c0d2223d037 testdpp-testdpp-ff4254dd-7a70-437b-9a10-8c0d2223d037Obtenha a política de cópia de segurança com o nome vaulted-policy que pretende atualizar na instância de Backup. Você também pode buscar a nova política que precisa ser atualizada na instância de backup.
$updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1Atualize a instância de cópia de segurança com a nova lista de contentores quando selecionar explicitamente os contentores para cópia de segurança.
PS C:\Users\testuser> $updateBI = Update-AzDataProtectionBackupInstance -ResourceGroupName Daya-BCDR-RG -VaultName DPBCDR-BV-EastUS -BackupInstanceName $instance[0].Name -SubscriptionId "ef4ab5a7-c2c0-4304-af80-af49f48af3d1" -PolicyId $updatePolicy.id -VaultedBackupContainer $targetContainers.name PS C:\Users\testuser> $updateBI.Property.PolicyInfo.PolicyId /subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/Daya-BCDR-RG/providers/Microsoft.DataProtection/backupVaults/DPBCDR-BV-EastUS/backupPolicies/continerdeltest-1 PS C:\Users\testuser> $updateBI.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList cont-01 cont-02 cont-03 cont-04 cont-05 cont-06 cont-07 cont-08 cont-09 cont-10 cont-11
Próximos passos
Restaure blobs do Azure usando o Azure PowerShell.
Conteúdo relacionado
Restaurar blobs do Azure pelo Azure Backup usando o portal Azure, CLI do Azure, REST API.