Резервное копирование больших двоичных объектов Azure в учетной записи хранения с помощью Azure CLI
В этой статье описано, как создавать резервные копии BLOB-объектов с помощью Azure CLI. Теперь вы можете выполнять операционные и хранилища резервные копии для защиты блочных BLOB-объектов в учетных записях хранения с помощью Azure Backup. Вы также можете настроить резервное копирование с помощью REST API.
Сведения о доступности в регионах, поддерживаемых сценариях и ограничениях для резервного копирования BLOB-объектов Azure см. в матрице поддержки.
Перед началом работы
Перед началом работы ознакомьтесь с предварительными требованиями и матрицей поддержки.
создание хранилища Azure Backup;
Хранилище Azure Backup — это объект хранения Azure, который содержит данные резервных копий для разных новых рабочих нагрузок, поддерживаемых в Azure Backup, таких как серверы Базы данных Azure для PostgreSQL, а также для BLOB-объектов в учетной записи хранения и дисков Azure. Они упрощают организацию данных резервного копирования и одновременно снижают накладные затраты на управление. Хранилища резервных копий основаны на модели Azure Resource Manager в экосистеме Azure, которая предоставляет расширенные возможности для защиты данных, резервная копия которых создается.
Перед созданием хранилища Backup выберите параметры избыточности хранения данных. Затем перейдите к созданию хранилища 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"
}
Внимание
Хотя вы сможете узнать параметры избыточности для хранилища Backup, избыточность не применяется к операционному резервному копированию BLOB-объектов. Это связано с тем, что резервное копирование выполняется исключительно локально и не сохраняет данные в хранилище Backup. Хранилище 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"
}
]
}
Шаблон политики состоит только из жизненного цикла, который принимает решение об удалении, копировании и перемещении резервной копии. Поскольку операционное резервное копирование больших двоичных объектов является непрерывным действием, для резервного копирования не требуется создавать расписание.
"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-объектов
После установки всех соответствующих разрешений настройте резервную копию, выполнив следующие команды:
Подготовьте соответствующий запрос с помощью соответствующего хранилища, политики, учетной записи хранения с помощью команды 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
Отправьте запрос с помощью команды create az dataprotection backup-instance.
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" }
Внимание
После настройки учетной записи хранения для резервного копирования БОЛЬШИХ двоичных объектов затронуты некоторые возможности, такие как канал изменений и блокировка удаления. Подробнее.
Обновление экземпляра резервного копирования
После настройки резервной копии можно изменить связанную политику с экземпляром резервного копирования. Для хранилищ резервных копий можно также изменить контейнеры, выбранные для резервного копирования.
Чтобы обновить экземпляр резервного копирования, выполните следующую команду:
- Проверьте, готов ли экземпляр резервного копирования к настройке резервного копирования с помощью команды az dataprotection backup-instance validate-for-backup . Команда завершается ошибкой, если экземпляр резервного копирования не готов.
- Измените политику резервного копирования, используемую для резервного копирования BLOB-объектов Azure с помощью обновления az dataprotection backup-instance. Укажите соответствующий объект резервного копирования и новую политику резервного копирования.