Поделиться через


Создайте резервную копию Azure Blobs в аккаунте хранения с помощью Azure CLI

В этой статье описано, как создавать резервные копии BLOB-объектов с помощью Azure CLI. Теперь вы можете выполнять операционные и архивные резервные копии для защиты блоб-объектов в учетных записях хранения с помощью Azure Backup. Вы также можете настроить резервное копирование с помощью REST API.

Сведения о доступности в регионах, поддерживаемых сценариях и ограничениях для объектов Blob в Azure см. в матрице поддержки.

Перед началом работы

Перед началом работы ознакомьтесь с предварительными требованиями и матрицей поддержки.

Создание резервного хранилища

Резервный хранилище в Azure — это контейнер хранения, в котором содержатся данные резервного копирования для различных новых рабочих нагрузок, которые поддерживаются в Azure Backup, таких как серверы базы данных Azure для PostgreSQL, а также BLOB-объекты в учетной записи хранения и диски Azure. Резервные хранилища упрощают организацию данных резервного копирования и одновременно снижают накладные затраты на управление. Хранилища резервных копий основаны на модели Azure Resource Manager, которая предоставляет расширенные возможности для защиты данных резервных копий.

Перед созданием хранилища Backup выберите параметры избыточности хранения данных. Затем приступите к созданию резервного хранилища с заданной избыточностью и местоположением. В этой статье показано, как создать хранилище Backup с именем TestBkpVault в регионе westus и группе ресурсов testBkpVaultRG. Выполните команду az dataprotection vault create, чтобы создать хранилище Backup. Дополнительные сведения о создании хранилища Azure 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"
}

Внимание

Хотя вы сможете увидеть избыточность резервного хранилища, эта избыточность не применяется к операционному резервному копированию BLOB-объектов. Это связано с тем, что резервное копирование выполняется исключительно локально и не сохраняет данные в хранилище Backup. Хранилище резервных копий — это средство управления, которое помогает управлять защитой блочных BLOB-объектов в учетных записях хранения.

После создания хранилища мы создадим политику Backup для защиты BLOB-объектов Azure в учетной записи хранения.

создание политики архивации;

Вы можете создать политику резервного копирования для оперативного и архивного резервного копирования больших двоичных объектов Azure с помощью Azure CLI.

Выберите уровень резервного копирования:

Прежде чем создавать политику и настраивать резервные копии для объектов Azure, ознакомьтесь с условиями.

Чтобы получить сведения о внутренних компонентах политики резервного копирования для BLOB-объектов Azure, извлеките шаблон политики с помощью команды az dataprotection backup-policy get-default-policy-template. Эта команда возвращает шаблон политики по умолчанию для заданного типа источника данных. Используйте этот шаблон политики для создания новой политики.

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"
    }
  ]
}

Шаблон политики состоит только из жизненного цикла, который принимает решение об удалении, копировании и перемещении резервной копии. Поскольку операционное резервное копирование объектов типа BLOB происходит непрерывно, не требуется создавать расписание для выполнения резервного копирования.

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

Примечание.

Восстановление в течение длительных периодов может привести к тому, что операции восстановления занимают больше времени. Кроме того, требуемое для восстановления набора данных время зависит от числа операций записи и удаления, выполненных в период восстановления. Например, для учетной записи с 1 миллионом объектов, 3000 объектов, добавляемых в день и 1000 объектов, удаляемых в день, потребуется примерно два часа для восстановления до состояния на 30 дней назад.

Для учетной записи с такой частотой изменений мы не рекомендуем использовать период хранения более 90 дней и восстанавливать ее состояние до более ранней точки во времени.

Когда в файле JSON политики будут настроены все нужные данные, переходите к созданию новой политики на основе объекта политики с помощью команды 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"
  }

Настроить резервное копирование

После создания хранилища и политики необходимо учитывать две критически важные точки, которые необходимо учитывать для защиты всех BLOB-объектов Azure в учетной записи хранения.

  • Основные сущности
  • Разрешения

Основные сущности

  • Учетная запись хранения, содержащая большие двоичные объекты, которые необходимо защитить: получение идентификатора Azure Resource Manager учетной записи хранения, содержащей защищаемые большие двоичные объекты. Он будет служить идентификатором учетной записи хранения. Мы будем использовать пример учетной записи хранения с именем CLITestSA в группе ресурсов blobrg в другой подписке в регионе Юго-Восточной Азии.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • Хранилище резервных копий: Для хранилища резервных копий требуются разрешения на учетную запись хранения, чтобы включить резервное копирование на блобы, присутствующие в учетной записи хранения. Для назначения таких разрешений используется назначенное системой управляемое удостоверение хранилища.

Назначение разрешений

Необходимо назначить несколько разрешений с помощью Azure RBAC созданному хранилищу (представленному MSI хранилища) и соответствующей учетной записи хранения. Эту операцию можно выполнить на портале или с помощью PowerShell. Узнайте больше обо всех связанных разрешениях.

Подготовьте запрос для настройки резервного копирования BLOB-объектов

После установки всех соответствующих разрешений настройте резервную копию, выполнив следующие команды:

  1. Подготовьте релевантный запрос, используя необходимое хранилище, политику и учетную запись хранения с помощью команды 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. Отправьте запрос с помощью команды 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"
      }
    

Внимание

После настройки учетной записи хранения для резервного копирования блобов некоторые возможности, такие как канал изменений и блокировка удаления, могут быть затронуты. Подробнее.

Обновление экземпляра резервного копирования

После настройки резервной копии можно изменить связанную политику с экземпляром резервного копирования. Для архивных резервных копий можно также изменить контейнеры, выбранные для резервного копирования.

Чтобы обновить экземпляр резервного копирования, выполните следующую команду:

  1. Проверьте, готов ли экземпляр резервного копирования к настройке резервного копирования с помощью команды az dataprotection backup-instance validate-for-backup . Команда завершается ошибкой, если экземпляр резервного копирования не готов.
  2. Измените политику резервного копирования, используемую для резервного копирования BLOB-объектов Azure, с помощью команды az dataprotection backup-instance update. Укажите соответствующий объект резервного копирования и новую политику резервного копирования.

Следующие шаги

Восстановление Azure Blobs с помощью Azure CLI.

Восстанавливайте BLOB-объекты Azure с помощью Azure Backup через портал Azure, Azure PowerShell, REST API.