更新 Azure Cosmos DB 定期备份帐户的备份存储冗余

适用对象: NoSQL MongoDB Cassandra Gremlin

Azure Cosmos DB 默认将定期模式备份数据存储在复制到配对区域的异地冗余 blob 存储中。 你可以覆盖默认的备份存储冗余。 本文介绍如何使用 Azure CLI 和 PowerShell 更新备份存储冗余。 还介绍了如何在帐户上配置 Azure 策略,以强制执行所需的存储冗余。

通过 Azure 门户更新

使用以下步骤从 Azure 门户更新备份存储冗余:

  1. 登录到 Azure 门户并导航到你的 Azure Cosmos DB 帐户。

  2. 打开“备份和还原”窗格,更新备份存储冗余并选择“提交”。 需要花费几分钟时间来完成操作:

    Update backup storage redundancy from the Azure portal

使用 CLI 更新

按以下步骤使用 Azure CLI 更新现有帐户上的备份存储冗余:

  1. 安装最新版的 Azure CLI 或不低于 2.30.0 的 Azure CLI。 如果安装了“cosmosdb-preview”扩展,请确保将其删除。

  2. 使用以下命令获取帐户所在区域可用的备份冗余选项:

    az cosmosdb locations show --location <region_Name>
    
     {
      "id": "subscriptionId/<Subscription_ID>/providers/Microsoft.DocumentDB/locations/chinaeast/",
      "name": "China East",
      "properties": {
        "backupStorageRedundancies": [
          "Geo",
          "Zone",
          "Local"
        ],
        "isResidencyRestricted": false,
        "supportsAvailabilityZone": true
      },
      "type": "Microsoft.DocumentDB/locations"
     }
    

    上一条命令显示特定区域中可用的备份冗余列表。 支持的值显示在 backupStorageRedundancies 属性中。 例如,某些区域(例如“中国北部 3”)支持三个冗余选项“异地”、“区域”和“本地”,而某些区域(例如“中国北部”)仅支持“异地”和“本地”冗余选项。 更新之前,请选择帐户所在的所有区域都支持的备份存储冗余选项。

  3. 使用所选的备份冗余选项运行以下命令,以更新现有帐户上的备份冗余:

    az cosmosdb update -n <account_Name> -g <resource_Group> --backup-redundancy "Geo"
    
  4. 运行以下命令,使用所选的备份冗余选项新建帐户:

    az cosmosdb create -n <account_Name> -g <resource_Group> --backup-redundancy "Geo" --locations regionName=chinanorth
    

使用 PowerShell 进行更新

  1. 安装最新版的 Azure PowerShell 或不低于 1.4.0 的 Azure PowerShell

    Install-Module -Name Az.CosmosDB -RequiredVersion 1.4.0
    
  2. 使用以下命令获取帐户所在区域可用的备份冗余选项:

    $location = Get-AzCosmosDBLocation -Location <region_Name>
    $location.Properties.BackupStorageRedundancies
    

    上一条命令显示特定区域中可用的备份冗余列表。 支持的值显示在 backupStorageRedundancies 属性中。 例如,某些区域(例如“中国北部 3”)支持三个冗余选项“异地”、“区域”和“本地”,而某些区域(例如“中国北部”)仅支持“异地”和“本地”冗余选项。 更新之前,请选择帐户所在的所有区域都支持的备份存储冗余选项。

  3. 使用所选的备份冗余选项运行以下命令,以更新现有帐户上的备份冗余:

    Update-AzCosmosDBAccount `
    -Name <account_Name> `
    -ResourceGroupName <resource_Group> `
    -BackupStorageRedundancy "Geo"
    
  4. 运行以下命令,使用所选的备份冗余选项新建帐户:

    New-AzCosmosDBAccount `
     -Name <account_Name> `
     -ResourceGroupName <resource_Group> `
     -Location <region_Name> `
     -BackupPolicyType Periodic`
     -BackupStorageRedundancy "Geo"
    
    

为备份存储冗余添加策略

Azure Policy 可帮助实施组织标准并大规模评估合规性。 以下示例显示了如何为数据库帐户添加 Azure 策略以获得“区域”类型的备份冗余。

"parameters": {},
    "policyRule": {
      "if": {
        "allOf": [
          {
            "field": "Microsoft.DocumentDB/databaseAccounts/backupPolicy.periodicModeProperties.backupStorageRedundancy",
            "match": "Zone"
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }

后续步骤