本快速入门介绍如何使用 Azure PowerShell 为 Azure Blob 配置保管库备份。
Azure 备份现在允许配置操作备份来保护存储帐户中的块 Blob。
Blob 的保管备份是一种受管理的异地备份解决方案,它将备份数据存储在常规 v2 存储帐户中,使你能够保护备份数据免受勒索软件攻击,或避免因恶意或流氓管理员而造成源数据丢失。
使用保管备份,可以:
- 定义备份计划以创建恢复点和保留设置,以确定备份在保管库中的保留时长。
- 使用单个备份策略配置和管理操作备份。
- 在备份保管库中复制和存储备份数据,从而提供最多可保留 10 年的异地数据副本。
先决条件
在配置 Blob 保管库备份之前,请确保:
- 安装 Azure PowerShell 版本 Az 5.9.0。
- 查看支持矩阵,了解 Azure Blob 区域可用性、支持的方案和限制。
- 你有一个可用于配置 Azure Blob 备份的备份保管库。 如果尚未创建备份保管库,请创建一个。
创建备份策略
要为 Blob 保管备份创建备份策略,请运行以下命令:
要检索策略模板,请使用 Get-AzDataProtectionPolicyTemplate 命令。 此命令返回给定数据源类型的默认策略模板。 使用此策略模板创建新策略。
$defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob`
要创建保管备份策略,请定义备份的计划和保留期。 以下命令创建一个备份策略,备份频率为每周星期五和星期二上午 10 点,保留期为三个月。
$schDates = @( ( (Get-Date -Year 2023 -Month 08 -Day 18 -Hour 10 -Minute 0 -Second 0) ), ( (Get-Date -Year 2023 -Month 08 -Day 22 -Hour 10 -Minute 0 -Second 0) )) $trigger = New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDates -IntervalType Weekly -IntervalCount 1 Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $defaultPol $lifeCycleVault = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 3 Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $defaultPol -Name Default -LifeCycles $lifeCycleVault -IsDefault $true New-AzDataProtectionBackupPolicy -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -ResourceGroupName "resourceGroupName" -VaultName "vaultName" -Name "MyPolicy" -Policy $defaultPol
配置备份
创建保管库和策略后,用户需要考虑两个关键点来保护存储帐户中的所有 Azure Blob。
- 关键实体
- 权限
关键实体
包含要保护的 blob 的存储帐户:提取含有要保护的 Blob 的存储帐户的 Azure 资源管理器 ID。 用作存储帐户的标识符。 我们使用名为 PSTestSA 的存储帐户作为示例,该帐户位于其他订阅中的资源组 blobrg 下。
$SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"
备份保管库:备份保管库需要存储帐户的权限才能对存储帐户中的 Blob 启用备份。 保管库的系统分配托管标识用于分配此类权限。
分配权限
需要通过 Azure RBAC 向创建的保管库(以保管库 MSI 表示)和相关存储帐户分配一些权限。 可以通过门户或 PowerShell 执行上述操作。 详细了解所有相关权限。
准备请求配置 blob 备份
设置所有相关权限后,通过运行以下命令配置 blob 备份:
创建新的备份配置对象以指定要备份的容器集。 要备份所有容器,请传递
-IncludeAllContainer
参数。 要备份特定容器,请将容器列表传递给-VaultedBackupContainer
参数。$backupConfig=New-AzDataProtectionBackupConfigurationClientObject -DatasourceType AzureBlob -IncludeAllContainer -StorageAccountResourceGroupName "StorageRG" -StorageAccountName "testpscmd"
使用 Initialize-AzDataProtectionBackupInstance 命令,通过相关保管库、策略、存储帐户和在上述步骤中创建的备份配置对象来准备相关请求。
$instance=Initialize-AzDataProtectionBackupInstance -DatasourceType AzureBlob -DatasourceLocation $TestBkpVault.Location -PolicyId $blobBkpPol.Id -DatasourceId $SAId -BackupConfiguration $backupConfig
使用 New-AzDataProtectionBackupInstance 命令提交保护存储帐户中的 Blob 的请求。
New-AzDataProtectionBackupInstance -ResourceGroupName "StorageRG" -VaultName $TestBkpVault.Name -BackupInstance $instance