Partilhar via


Fazer cópia de segurança de Blobs do Azure numa conta de armazenamento com a CLI do Azure

Este artigo descreve como fazer backup de Blobs do Azure usando a CLI do Azure. 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 das regiões de Blobs do Azure, cenários suportados e limitações, consulte a matriz de suporte.

Antes de começar

Consulte os pré-requisitos e a matriz de suporte antes de começar.

Criar um cofre de backup

O cofre de backup é uma entidade de armazenamento no Azure que armazena 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 em uma conta de armazenamento 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 az dataprotection vault create para criar um cofre de backup. Saiba mais sobre como criar um cofre de backup.

az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"

{
  "eTag": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
  "identity": {
    "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
    "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "SystemAssigned"
  },
  "location": "westus",
  "name": "TestBkpVault",
  "properties": {
    "provisioningState": "Succeeded",
    "storageSettings": [
      {
        "datastoreType": "VaultStore",
        "type": "LocallyRedundant"
      }
    ]
  },
  "resourceGroup": "testBkpVaultRG",
  "systemData": null,
  "tags": null,
  "type": "Microsoft.DataProtection/backupVaults"
}

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. Isso ocorre porque 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.

Depois de criar um cofre, vamos criar uma política de Backup para proteger os Blobs do Azure em uma conta de armazenamento.

Criar uma política de cópias de segurança

Você pode criar uma política de backup para backup operacional e backup em cofre para Blobs do Azure usando a CLI do Azure.

Escolha uma camada de backup:

Antes de criar a política e configurar backups para Blobs do Azure, consulte os pré-requisitos.

Para entender os componentes internos de uma política de Backup para backup de Blobs do Azure, recupere o modelo de política usando o comando az dataprotection backup-policy get-default-policy-template . 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.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob

{
  "datasourceTypes": [
    "Microsoft.Storage/storageAccounts/blobServices"
  ],
  "name": "BlobPolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "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.

"policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]

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 de mais de 90 dias no passado para uma conta com essa taxa de alteração.

Quando o JSON de política tiver todos os valores necessários, prossiga para criar uma nova política a partir do objeto de política usando o comando az dataprotection backup-policy create .

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob > policy.json
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n BlobBackup-Policy --policy policy.json

{
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
    "name": "BlobBackup-Policy",
    "properties": {
      "datasourceTypes": [
        "Microsoft.Storage/storageAccounts/blobServices"
      ],
      "objectType": "BackupPolicy",
      "policyRules": [
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P2D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "OperationalStore",
                "objectType": "DataStoreInfoBase"
              },
              "targetDataStoreCopySettings": []
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        }
      ]
    },
    "resourceGroup": "testBkpVaultRG",
    "systemData": null,
    "type": "Microsoft.DataProtection/backupVaults/backupPolicies"
  }

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 CLITestSA, sob o blobrg do grupo de recursos, em uma assinatura diferente presente na região do Sudeste Asiático.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • 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

Depois que todas as permissões relevantes estiverem definidas, configure o backup executando os seguintes comandos:

  1. Prepare a solicitação relevante usando o vault, a política, a conta de armazenamento relevante usando o comando az dataprotection backup-instance initialize .

    az dataprotection backup-instance initialize --datasource-type AzureBlob  -l southeastasia --policy-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy" --datasource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA" > backup_instance.json
    
  2. Envie a solicitação usando o comando az dataprotection backup-instance create .

    az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json
    
    {
        "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupInstances/CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
        "name": "CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
        "properties": {
          "currentProtectionState": "ProtectionConfigured",
          "dataSourceInfo": {
            "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
            "objectType": "Datasource",
            "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA",
            "resourceLocation": "southeastasia",
            "resourceName": "CLITestSA",
            "resourceType": "Microsoft.Storage/storageAccounts",
            "resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
          },
          "dataSourceSetInfo": null,
          "friendlyName": "CLITestSA",
          "objectType": "BackupInstance",
          "policyInfo": {
            "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
            "policyParameters": {
              "dataStoreParametersList": [
                {
                  "dataStoreType": "OperationalStore",
                  "objectType": "AzureOperationalStoreParameters",
                  "resourceGroupId": ""
                }
              ]
            },
            "policyVersion": ""
          },
          "protectionErrorDetails": null,
          "protectionStatus": {
            "errorDetails": null,
            "status": "ProtectionConfigured"
          },
          "provisioningState": "Succeeded"
        },
        "resourceGroup": "testBkpVaultRG",
        "systemData": null,
        "type": "Microsoft.DataProtection/backupVaults/backupInstances"
      }
    

Importante

Depois que uma conta de armazenamento é configurada para backup de blobs, alguns recursos, como feed de alteração e bloqueio de exclusão, são afetados. Mais informações.

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 o seguinte comando:

  1. Valide se a instância de backup está pronta para configurar o backup usando o comando az dataprotection backup-instance validate-for-backup . O comando falhará se a instância de backup não estiver pronta.
  2. Altere a política de Backup usada para fazer backup dos Blobs do Azure usando a atualização de instância de backup az dataprotection. Especifique o item de backup relevante e a nova política de backup.

Próximos passos

Restaurar Blobs do Azure usando a CLI do Azure