从 Azure Cosmos DB for MongoDB(RU)迁移到 Azure Cosmos DB for MongoDB(vCore)

在本指南中,您将使用服务和 Azure 门户中内置的工具,将现有集合从 Azure Cosmos DB for MongoDB(RU)迁移到 Azure Cosmos DB for MongoDB(vCore)。

先决条件

设置 Key Vault

首先,需要配置源 Azure Cosmos DB for MongoDB (RU) 帐户,以将目标 Azure Cosmos DB for MongoDB (vCore) 群集的本机身份验证凭据存储在现有密钥保管库中。

  1. 登录到 Azure 门户 (https://portal.azure.cn)。

  2. 导航到源 Azure Cosmos DB for Mongo DB (RU) 帐户。

  3. 在源帐户中,导航到 “设置 > 标识”。

  4. 通过将“状态”选项设置为“打开”,为源帐户启用系统分配的托管标识。 记下本指南稍后要使用的 对象(主体)ID 的值。

    设置系统分配的或用户分配的托管标识的屏幕截图。

    提示

    如果改用用户分配的托管标识,请确保至少将一个用户分配的托管标识分配给源帐户。

  5. 导航到现有的密钥保管库。

  6. 如果 Key Vault 使用 Role-Based 访问控制(RBAC) 权限模型,请在资源菜单中选择 访问控制(IAM) 选项,并将 Key Vault 机密用户 角色分配给用于源帐户的托管标识的主体 ID(对象 ID)。 否则,请使用资源菜单中的 “访问策略 ”选项创建具有 “获取列出机密 ”权限的访问策略,然后将其分配给主体 ID(对象 ID)。

  7. 运行命令更新源帐户,并将首选标识机制设置为默认标识。

    az cosmosdb update \
        --resource-group "<resource-group-name>" \
        --name "<source-account-name>" \
        --default-identity "SystemAssignedIdentity"
    

    提示

    如果改用用户分配的托管标识,请运行以下命令:

    az cosmosdb update \
        --resource-group "<resource-group-name>" \
        --name "<source-account-name>" \
        --default-identity "UserAssignedIdentity=<fully-qualified-resource-id-of-user-assigned-managed-identity>"
    
  8. 返回到密钥保管库,导航到 “对象 > 机密”。

  9. 然后选择“ 生成/导入 ”以创建新机密。 将以下值用于机密:

    DESCRIPTION
    名称 机密名称用于标识机密,只能包含字母数字字符和短划线。 此值最终在迁移作业的 “机密名称 ”字段中使用。
    机密值 在此处粘贴 Azure Cosmos DB for Mongo DB (vCore) 目标群集的本机身份验证凭据。
  10. 在新创建的机密中,获取 保管库 URI 的值。 此值最终在迁移作业的 保管库 URI 字段中使用。

创建迁移作业

首先,使用开始将数据迁移到目标群集所需的配置创建迁移作业。

  1. 登录到 Azure 门户 (https://portal.azure.cn)。

  2. 再次导航到 Azure Cosmos DB for Mongo DB (RU) 帐户。

  3. 在帐户页上,从资源菜单中选择 “迁移到 vCore ”。

    迁移到 vCore 工作流中的主页的屏幕截图。

  4. 选择“ 启动新的迁移作业”。

选择迁移模式

“选择迁移模式”部分用于提供最适合迁移需求的迁移模式。

  1. 从以下选项中选择适当的模式:

    DESCRIPTION
    离线 脱机迁移在开始时捕获集合的快照,这种方法更简单且可预测。 在允许使用集合的静态副本且实时更新非必要时,它可以很好地运行。 将此选项用于非生产迁移。
    在线 在线迁移会复制集合数据,确保在此过程中也会复制更新。 此方法的优势在于停机时间最小,确保持续运行以实现业务连续性。 如果正在进行的操作至关重要,需要优先考虑减少停机时间,则可以使用此选项。

    迁移作业的模式选择选项的屏幕截图。

    备注

    联机迁移目前处于有限预览阶段。 注册 Azure 订阅的 OnlineRuToVcoreMigration 预览功能。 预留可能需要较长的时间。 注册订阅后,会收到电子邮件确认。

    连续备份也是联机迁移的先决条件。 有关详细信息,请参阅 连续备份

  2. 选择“下一步”。

配置目标迁移凭据

“选择目标帐户”部分用于向目标 Azure Cosmos DB for Mongo DB (vCore) 群集提供连接详细信息。 作为安全最佳做法,我们建议将本机身份验证凭据存储在 Azure Key Vault 中。

备注

目前不支持使用 Microsoft Entra ID 身份验证的连接字符串。

  1. 保管库 URI机密名称 字段设置为本指南前面记录的值。

    目标选择部分的屏幕截图。

  2. 选择“下一步”。

更新目标防火墙

更新目标防火墙 ”部分用于确保目标 Azure Cosmos DB for Mongo DB (vCore) 群集的防火墙不会阻止迁移作业请求。

  1. 观察此步骤中的 IP 地址

    目标防火墙检查部分和源帐户 IP 地址的屏幕截图。

  2. 使用其他浏览器窗口或选项卡导航到目标 Azure Cosmos DB for MongoDB (vCore) 群集。

  3. 在资源菜单的“设置”部分选择“网络”。

  4. 添加规则以允许访问迁移作业的 IP 地址。 有关详细信息,请参阅 管理群集级防火墙规则

  5. 使用迁移作业配置步骤导航回浏览器窗口或选项卡。

  6. 选择“下一步”。

备注

如果在 Azure Key Vault 上启用了网络安全,请确保也会将相同的 IP 添加到 Azure Key Vault 防火墙

配置和启动作业

使用 “选择集合 ”和 “确认和提交 ”部分完成作业的配置。

  1. “选择集合” 部分选择要迁移的集合。

    用于选择要迁移的集合的分区的屏幕截图。

  2. 选择“下一步”。

  3. 查看作业配置并提供唯一的作业名称。

    重要

    1. 迁移作业不会将索引传输到目标集合。 在继续作之前,请使用此示例 迁移脚本 在目标集合上创建索引。 索引准备就绪后,请选中该复选框。
    2. 迁移作业不支持更改分片键。 如果需要不同的分片键,请将数据迁移为未分片集合。 迁移完成后,使用所需的分片键对目标上的集合进行分片。
  4. 选择 “提交 ”以创建并启动作业。

监视迁移作业

提交任务后,您可以监视新创建任务的状态以及其他挂起或已完成的任务。

  1. 导航到源 Azure Cosmos DB for MongoDB (RU) 帐户。

  2. 在帐户页上,从资源菜单中选择 “迁移到 vCore ”。

  3. 选择“监视现有迁移作业”

    可以监视或修改现有迁移作业的页面的屏幕截图。

  4. 列出为当前源帐户创建的所有迁移作业。

  5. (可选)若要更改作业的状态,请选择与特定作业对应的上下文菜单(..)。 选项包括:

    选项 DESCRIPTION
    暂停 暂时暂停当前正在运行的作业
    简历 恢复暂停的作业
    取消 永久取消当前正在运行的作业
    直接转换 在确认源和目标完成同步后完成迁移

    备注

    切换选项仅适用于联机迁移。 切换完成后,源帐户与目标群集之间的同步将结束。 执行直接转换后,应更新客户端应用程序中的凭据,以面向新的 Azure Cosmos DB for MongoDB vCore 群集。