快速入门:使用 Azure 备份通过 Azure CLI 为 Azure Blob 配置保管库备份
本快速入门介绍如何使用 Azure CLI 为 Azure Blob 配置保管库备份。
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 } ] } } ] }
配置备份
创建保管库和策略后,用户需要考虑两个关键点来保护存储帐户中的所有 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 备份
设置所有相关权限后,通过运行以下命令配置 Blob 备份:
使用 az dataprotection backup-instance initialize 命令,通过相关保管库、策略、存储帐户准备相关请求。
az dataprotection backup-instance initialize --datasource-type AzureBlob -l chinanorth2 --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
使用 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": "chinanorth2", "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" }
重要
为 Blob 备份配置存储帐户后,一些功能会受到影响,例如更改源和删除锁。 了解详细信息。