你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 托管 HSM 上启用多区域复制

多区域复制允许将托管 HSM 池从一个 Azure 区域(称为主要区域)扩展到另一个 Azure 区域(称为次要区域)。 配置后,这两个区域都处于活动状态,能够处理请求,并且通过自动复制共享相同的密钥材料、角色和权限。 离应用程序最近的可用区域接收并满足请求,从而最大程度地提高读取吞吐量和延迟。 虽然区域中断很少发生,但多区域复制可增强任务关键型加密密钥的可用性(如果一个区域不可用)。 有关 SLA 的详细信息,请访问Azure 密钥保管库托管 HSM 的 SLA

体系结构

托管 HSM 多区域复制的体系架构图。

在托管 HSM 上启用多区域复制时,会在次要区域中创建第二个托管 HSM 池,其中包含三个负载均衡 HSM 分区。 向流量管理器全局 DNS 终结点<hsm-name>.managedhsm.azure.net发出请求时,最近的可用区域会接收并满足请求。 虽然鉴于 HSM 在整个区域中的分布,每个区域单独维护区域高可用性,但流量管理器可确保即使一个区域中托管 HSM 的所有分区都由于灾难而不可用,辅助托管 HSM 池仍可为请求提供服务。

Replication latency

在完全复制这两个区域之前,对托管 HSM 执行的任何写入操作(例如创建或更新密钥、创建或更新角色定义或者创建或更新角色分配)最多可能需要 6 分钟才能完成。 在此窗口中,无法保证已在区域之间复制书面材料。 因此,最好在创建或更新密钥与使用密钥之间等待 6 分钟,从而确保密钥材料已在区域之间完全复制。 这同样适用于角色分配和角色定义。

故障转移行为

如果多区域托管 HSM 中的某个区域由于中断而不可用,而另一个区域开始为所有请求提供服务,会发生故障转移。 中断可能仅限于 HSM 池、整个托管 HSM 服务或整个 Azure 区域。 在故障转移期间,可能会注意到行为发生了变化,具体取决于受影响的区域。

受影响的区域 允许读取 允许写入
次要
主要 可能

如果次要区域不可用,当主要区域处于活动状态时,读取操作(获取密钥、列出密钥、所有加密操作、列出角色分配)可用。 写入操作也可用(创建和更新密钥、创建和更新角色分配、创建和更新角色定义)。

如果主要区域不可用,则读取操作可用,但写入操作可能不可用,具体取决于中断范围。

故障转移时间

在后台,DNS 解析处理将请求重定向到主要区域或次要区域。

如果这两个区域都处于活动状态,流量管理器会将传入请求解析为与请求源地理位置最接近或网络延迟最低的位置。 DNS 记录配置为默认 TTL 5 秒。

如果区域向流量管理器报告不正常状态,未来的请求会解析为另一个区域(如果可用)。 缓存 DNS 查找的客户端可能会遇到延长的故障转移时间。 但是,任何客户端缓存过期后,未来的请求应路由到可用区域。

Azure 区域支持

支持将以下区域作为主要区域(可从其中复制托管 HSM 池的区域)

  • 美国东部
  • 美国东部 2
  • 英国北部
  • 西欧
  • 美国西部
  • 加拿大东部
  • 卡塔尔中部
  • 亚洲东部
  • 亚洲东南部
  • 英国南部
  • 美国中部
  • 日本东部
  • 瑞士北部
  • 巴西南部
  • 澳大利亚中部
  • 印度中部
  • 美国西部 3
  • 加拿大中部
  • 澳大利亚东部
  • 印度南部
  • 瑞典中部
  • 南非北部
  • 韩国中部
  • 北欧
  • 法国中部
  • 日本西部
  • 美国中南部
  • 波兰中部
  • 瑞士西部
  • 澳大利亚东南部
  • 印度西部
  • 阿联酋中部
  • 阿拉伯联合酋长国北部
  • 美国西部地区 2
  • 美国中西部地区

注意

美国中部、美国东部、美国中南部、美国西部 2、瑞士北部、西欧、印度中部、加拿大中部、加拿大东部、日本西部、卡塔尔中部、波兰中部、美国中西部目前不能作为次要区域进行扩展。 由于区域中的容量限制,其他区域可能无法进行扩展。

计费

将多区域复制到次要区域会产生额外计费 (x2),因为次要区域中会消耗新的 HSM 池。 有关详细信息,请参阅Azure 托管 HSM 定价

软删除行为

托管 HSM 软删除功能允许恢复删除的 HSM 和密钥,但在已启用多区域复制的场景中,存在细微差别,即在主要 HSM 上执行软删除之前,必须先删除辅助 HSM。 此外,删除辅助 HSM 时,会立即将其清除,并且不会进入软删除状态,停止对辅助 HSM 的所有计费。 如果需要,始终可以从主要区域扩展到作为次要区域的新区域。

Azure 专用链接功能允许通过虚拟网络中的专用终结点访问托管 HSM 服务。 可以在主要区域的托管 HSM 上配置专用终结点,就像不使用多区域复制功能时一样。 对于次要区域中的托管 HSM,建议在主要区域的托管 HSM 复制到次要区域的托管 HSM 后再创建一个专用终结点。 这会将客户端请求重定向到最靠近客户端位置的托管 HSM。

下面是一些具有示例的场景:主要区域中的托管 HSM(英国南部)和次要区域中的另一个托管 HSM(美国中西部)。

  • 当主要和次要区域中的托管 HSM 在已启用专用终结点的情况下启动并运行时,客户端请求会重定向到最靠近客户端位置的托管 HSM。 客户端请求会转到最近区域的专用终结点,然后由流量管理器定向到同一区域的托管 HSM。

    阐明第一个托管 HSM 多区域场景的关系图。

  • 例如,当多区域复制场景中的某个托管 HSM(例如,英国南部)在已启用专用终结点的情况下不可用时,客户端请求会重定向到可用的托管 HSM(美国中西部)。 来自英国南部的客户端请求将先转到英国南部的专用终结点,然后由流量管理器定向到美国中西部托管 HSM。

    阐明第二个托管 HSM 多区域场景的关系图。

  • 主要和次要区域中的托管 HSM,但在主要或次要区域中只配置了一个专用终结点。 对于来自不同 VNET (VNET1) 的客户端通过不同 VNET (VNET2) 中的专用终结点连接到托管 HSM,需要在两个 VNET 之间建立 VNET 对等互连。 可以为在创建专用终结点期间创建的专用 DNS 区域添加 VNET 链接。

    阐明第三个托管 HSM 多区域场景的关系图。

在下图中,专用终结点仅在英国南部区域创建,而有两个托管 HSM 启动并运行,一个位于英国南部,另一个位于美国中西部。 来自这两个客户端的请求会转到英国南部托管 HSM,因为请求通过专用终结点路由,在这种情况下,专用终结点位置位于英国南部。

阐明第四个托管 HSM 多区域场景的关系图。

在下图中,专用终结点仅在英国南部区域创建,仅美国中西部的托管 HSM 可用,英国南部的托管 HSM 不可用。 在这种情况下,请求将通过英国南部的专用终结点重定向到美国中西部托管 HSM,因为流量管理器检测到英国南部托管 HSM 不可用。

阐明第五个托管 HSM 多区域场景的关系图。

Azure CLI 命令

如果正在新建托管 HSM 池,然后扩展到次要区域,请在扩展之前参考这些说明。 如果从现有的托管 HSM 池进行扩展,请按照以下说明在另一个区域中创建辅助 HSM。

注意

这些命令需要 Azure CLI 2.48.1 或更高版本。 要安装最新版本,请参阅如何安装 Azure CLI

在另一个区域中添加辅助 HSM

要将托管 HSM 池扩展到另一个区域,请运行以下命令,从而自动创建第二个 HSM。

az keyvault region add --hsm-name "ContosoMHSM" --region "australiaeast"

备注

此示例中的 "ContosoMHSM" 是主要 HSM 池名称;"australiaeast" 是将其扩展到的次要区域。

在另一个区域中删除辅助 HSM

删除辅助 HSM 后,将清除其他区域中的 HSM 分区。 必须先删除所有辅助 HSM,然后才能软删除或清除主要托管 HSM。 使用此命令只能删除辅助 HSM。 只能使用软删除清除命令删除主要 HSM

az keyvault region remove --hsm-name ContosoMHSM --region australiaeast

列出所有区域

az keyvault region list --hsm-name ContosoMHSM

后续步骤