Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 realizar backups operacionais e protegidos para proteger blobs de blocos 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 de regiões do blob do Azure, os cenários compatíveis e as limitações, confira a matriz de suporte.
Importante
O suporte para os blobs do Azure está disponível na versão Az 5.9.0.
Antes de começar
Confira 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 armazena dados de backup para várias cargas de trabalho mais recentes que o Azure Backup suporta, como servidores do Azure Database para PostgreSQL e blobs do Azure. 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 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 usada para ajudar você a gerenciar a proteção de blobs de blocos nas suas contas de armazenamento.
Criar uma política de backup
Escolher um nível de backup:
Importante
Leia esta seção antes de prosseguir para 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. 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 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 uma agenda para executar os backups.
$policyDefn.PolicyRule.Lifecycle | fl
DeleteAfterDuration : P30D
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : OperationalStore
TargetDataStoreCopySetting :
Observação
Realizar restaurações ao longo de um longo período pode fazer com que as operações de restauração demorem mais 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 1 milhão 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 uma restauração superiores a 90 dias no passado para uma conta com essa taxa de alteração.
Depois que o objeto de política tiver todos os valores desejados, prossiga para criar uma política com base no 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 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 outra assinatura.
$SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"Cofre do Backup: O cofre do Backup requer permissões na conta de armazenamento para habilitar backups em blobs presentes na conta de armazenamento. A identidade gerenciada atribuída ao sistema do cofre é usada para atribuir essas permissões.
Atribuir permissões
Você precisa atribuir algumas permissões ao cofre que foi criado (representado pelo MSI do cofre) e à conta de armazenamento relevante, utilizando o RBAC do Azure. Eles podem ser executados por meio do portal ou do PowerShell. Saiba mais sobre todas as permissões relacionadas.
Preparar a solicitação para configurar o backup de blob
Escolher um nível de backup:
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, a política e a conta de armazenamento relevantes por meio do comando Initialize-AzDataProtectionBackupInstance. Em seguida, enviamos a solicitação para proteger os blobs na 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 o backup de blobs, algumas funcionalidades são afetadas, como o feed de alterações e o bloqueio de exclusão. Saiba mais.
Atualizar uma instância de backup
Depois de configurar o backup, você poderá alterar a política associada a 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 o 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 cmdlet
New-AzStorageContext. Forneça o parâmetro-UseConnectedAccountpara que as operaçõ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 cmdlet
Get-AzStorageContainer. Para recuperar um único contêiner, forneça o parâmetro-Name. Para retornar uma lista de contêineres que começa com uma determinada sequência de caracteres, especifique um valor para o parâmetro-Prefix.
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 do 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 01D7E8A5EF01C787Busque 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-8c0d2223d037Busque a política de backup com o nome da política de vault 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 a nova lista de contêineres (os contêineres de backup existentes e os 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óximas etapas
Restaurar os Blobs do Azure usando o Azure PowerShell.
Conteúdo relacionado
Restaure os Blobs do Azure pelo Backup do Azure usando o portal do Azure, a CLI do Azure, a API REST.