Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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.
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 backup é a entidade de gerenciamento para ajudá-lo a gerenciar a proteção de blobs de bloco em 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 que o cofre e a política são criados, há dois pontos críticos que você precisa considerar para proteger todos os Blobs do Azure em uma 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 gerenciada atribuída pelo sistema do cofre é usada 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 configurar o backup, você pode alterar a política associada com uma instância de backup. Para backups em cofre, você também pode alterar os contêineres selecionados para backup.
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.
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 backup com o nome da política de cofre que você deseja 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 backup com uma nova lista de contêineres (os contêineres de backup existentes e novos contêineres).
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
Restaure Blobs do Azure pelo Backup do Azure usando o portal do Azure, CLI do Azure, API REST.