快速入门:使用 Azure 备份通过 Azure PowerShell 为 Azure Blob 配置保管库备份

本快速入门介绍如何使用 Azure PowerShell 为 Azure Blob 配置保管库备份。

Azure 备份现在允许配置操作备份来保护存储帐户中的块 Blob。

Blob 的保管备份是一种受管理的异地备份解决方案,它将备份数据存储在常规 v2 存储帐户中,使你能够保护备份数据免受勒索软件攻击,或避免因恶意或流氓管理员而造成源数据丢失。

使用保管备份,可以:

  • 定义备份计划以创建恢复点和保留设置,以确定备份在保管库中的保留时长。
  • 使用单个备份策略配置和管理操作备份。
  • 在备份保管库中复制和存储备份数据,从而提供最多可保留 10 年的异地数据副本。

先决条件

在配置 Blob 保管库备份之前,请确保:

  • 安装 Azure PowerShell 版本 Az 5.9.0
  • 查看支持矩阵,了解 Azure Blob 区域可用性、支持的方案和限制。
  • 你有一个可用于配置 Azure Blob 备份的备份保管库。 如果尚未创建备份保管库,请创建一个

创建备份策略

要为 Blob 保管备份创建备份策略,请运行以下命令:

  1. 要检索策略模板,请使用 Get-AzDataProtectionPolicyTemplate 命令。 此命令返回给定数据源类型的默认策略模板。 使用此策略模板创建新策略。

    $defaultPol = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob`
    
  2. 要创建保管备份策略,请定义备份的计划和保留期。 以下命令创建一个备份策略,备份频率为每周星期五和星期二上午 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 备份:

  1. 创建新的备份配置对象以指定要备份的容器集。 要备份所有容器,请传递 -IncludeAllContainer 参数。 要备份特定容器,请将容器列表传递给 -VaultedBackupContainer 参数。

    $backupConfig=New-AzDataProtectionBackupConfigurationClientObject -DatasourceType AzureBlob -IncludeAllContainer -StorageAccountResourceGroupName "StorageRG" -StorageAccountName "testpscmd"
    
  2. 使用 Initialize-AzDataProtectionBackupInstance 命令,通过相关保管库、策略、存储帐户和在上述步骤中创建的备份配置对象来准备相关请求。

    $instance=Initialize-AzDataProtectionBackupInstance -DatasourceType AzureBlob -DatasourceLocation $TestBkpVault.Location -PolicyId $blobBkpPol.Id -DatasourceId $SAId -BackupConfiguration $backupConfig
    
  3. 使用 New-AzDataProtectionBackupInstance 命令提交保护存储帐户中的 Blob 的请求。

    New-AzDataProtectionBackupInstance -ResourceGroupName "StorageRG" -VaultName $TestBkpVault.Name -BackupInstance $instance
    

下一步

使用 Azure PowerShell 还原 Azure blob