本快速入门介绍如何使用 Azure CLI 为 Azure Blob 配置保管库备份。 还可以 使用 REST API 配置备份。
Azure 备份现在允许配置操作备份来保护存储帐户中的块 Blob。
Blob 的保管备份是一种受管理的异地备份解决方案,它将备份数据存储在常规 v2 存储帐户中,使你能够保护备份数据免受勒索软件攻击,或避免因恶意或流氓管理员而造成源数据丢失。
使用保管备份,可以:
- 定义备份计划以创建恢复点和保留设置,以确定备份在保管库中的保留时长。
- 使用单个备份策略配置和管理操作备份。
- 在备份保管库中复制和存储备份数据,从而提供最多可保留 10 年的异地数据副本。
在配置 Blob 保管库备份之前,请确保:
要为 Blob 保管备份创建备份策略,请运行以下命令:
要了解 Azure Blob 备份的备份策略的内部组件,请使用
az dataprotection backup-policy get-default-policy-template
命令检索策略模板。此命令返回给定数据源类型的默认策略模板。 使用此策略模板创建新策略。
保存具有所有必需值的策略 JSON 后,请使用
az dataprotection backup-policy create
命令从策略对象创建新策略。Az dataprotection backup-policy create -g testBkpVaultRG -vault-name TestBkpVault -n BlobBackup-Policy -policy policy.json
以下 JSON 用于配置一项策略,其中操作备份的保留期为 30 天,保管备份的默认保留期为 30 天。 保管库备份计划于每天 7:30 UTC 进行。
{ "datasourceTypes": [ "Microsoft.Storage/storageAccounts/blobServices" ], "name": "BlobPolicy1", "objectType": "BackupPolicy", "policyRules": [ { "isDefault": true, "lifecycles": [ { "deleteAfter": { "duration": "P30D", "objectType": "AbsoluteDeleteOption" }, "sourceDataStore": { "dataStoreType": "OperationalStore", "objectType": "DataStoreInfoBase" }, "targetDataStoreCopySettings": [] } ], "name": "Default", "objectType": "AzureRetentionRule" }, { "isDefault": true, "lifecycles": [ { "deleteAfter": { "duration": "P30D", "objectType": "AbsoluteDeleteOption" }, "sourceDataStore": { "dataStoreType": "VaultStore", "objectType": "DataStoreInfoBase" }, "targetDataStoreCopySettings": [] } ], "name": "Default", "objectType": "AzureRetentionRule" }, { "backupParameters": { "backupType": "Discrete", "objectType": "AzureBackupParams" }, "dataStore": { "dataStoreType": "VaultStore", "objectType": "DataStoreInfoBase" }, "name": "BackupDaily", "objectType": "AzureBackupRule", "trigger": { "objectType": "ScheduleBasedTriggerContext", "schedule": { "repeatingTimeIntervals": [ "R/2023-06-28T07:30:00+00:00/P1D" ], "timeZone": "UTC" }, "taggingCriteria": [ { "isDefault": true, "tagInfo": { "id": "Default_", "tagName": "Default" }, "taggingPriority": 93 } ] } } ] }
重要
备份计划遵循 ISO 8601 持续时间格式。 但是,不支持重复间隔前缀 R
,因为备份配置为无限期运行。 使用 R
指定的任何值将被忽略。
创建保管库和策略后,用户需要考虑两个关键点来保护存储帐户中的所有 Azure Blob。
- 关键实体
- 权限
包含要保护的 blob 的存储帐户:提取含有要保护的 Blob 的存储帐户的 Azure 资源管理器 ID。 用作存储帐户的标识符。 我们将使用位于“中国北部”区域的不同订阅中资源组“blobrg”下名为“CLITestSA”的存储帐户的示例。
"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
备份保管库:备份保管库需要存储帐户的权限才能对存储帐户中的 Blob 启用备份。 保管库的系统分配托管标识用于分配此类权限。
需要通过 Azure RBAC 向创建的保管库(以保管库 MSI 表示)和相关存储帐户分配一些权限。 可以通过门户或 PowerShell 执行上述操作。 详细了解所有相关权限。
设置所有相关权限后,通过运行以下命令配置 Blob 备份:
使用 az dataprotection backup-instance initialize 命令,通过相关保管库、策略、存储帐户准备相关请求。
az dataprotection backup-instance initialize --datasource-type AzureBlob -l chinanorth2 --policy-id "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy" --datasource-id "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA" > backup_instance.json
使用 az dataprotection backup-instance create 命令提交该请求。
az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json The following JSON configures a blob backup for a specified storage account with specified policy and container list. { "backup_instance_name": "sample-backup-instance", "properties": { "data_source_info": { "datasource_type": "Microsoft.Storage/storageAccounts/blobServices", "object_type": "BlobBackupDatasourceParameters", "resource_id": "/subscriptions//resourceGroups//providers/Microsoft.Storage/storageAccounts/", "resource_location": "", "resource_name": "", "resource_type": "Microsoft.Storage/storageAccounts", "resource_uri": "/subscriptions//resourceGroups//providers/Microsoft.Storage/storageAccounts/" }, "data_source_set_info": null, "datasource_auth_credentials": null, "friendly_name": "", "object_type": "BackupInstance", "policy_info": { "policyId": "/subscriptions//resourceGroups//providers/Microsoft.DataProtection/backupVaults//backupPolicies/", "policyParameters": { "backupDatasourceParametersList": [ { "objectType": "BlobBackupDatasourceParameters", "containersList": [ "" ] } ] } } } } { "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupInstances/CLITestSA-CLITestSA-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "name": "CLITestSA-CLITestSA-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "properties":
重要
为 Blob 备份配置存储帐户后,一些功能会受到影响,例如更改源和删除锁。 了解详细信息。
使用 Azure 门户、 Azure PowerShell、 Azure CLI、 REST API 通过 Azure 备份还原 Azure Blob。