你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将未注入 VNet 的 API 管理实例迁移到 stv2 计算平台
适用于:开发人员|基本|标准|高级
本文提供了当实例未注入(部署)到外部或内部 VNet 中时,将托管在 stv1
计算平台上的 API 管理实例就地迁移到 stv2
平台的步骤。 对于此方案,使用 Azure 门户迁移实例或迁移到 stv2 REST API。 确定是否需要这样做。
如果需要迁移托管在 stv1
平台上的已注入 VNnet 的 API 管理实例,请参阅将已注入 VNet 的 API 管理实例迁移到 stv2 平台。
重要
对托管在 stv1
平台上的 API 管理实例的支持即将停用。 在全球 Azure 中,停用日期为 2024 年 8 月 31 日。 在 Azure 政府和由世纪互联运营的 Azure(中国区 Azure)中,停用日期为 2025 年 2 月 24 日。 如果在 stv1
平台上托管了实例,请在该停用日期之前将其迁移到 stv2
平台,以避免服务中断。
注意
- 将 API 管理实例迁移到新的基础结构是一项长期操作。
- 根据迁移过程,在迁移期间可能会出现暂时故障时间,并且迁移后可能需要更新网络依赖项才能访问 API 管理实例。 相应地计划迁移。
- 迁移到
stv2
的操作是不可逆的。
迁移期间会发生什么情况?
将 API 管理平台从 stv1
迁移到 stv2
仅涉及到更新基础计算,并且不会影响存储层中保留的服务/API 配置。 对于未在 VNet 中部署的实例:
- 可以选择实例的 VIP 地址是否会更改,或者是否保留原始 VIP 地址。
- 升级过程包括创建与旧计算并行的新计算。
- 门户中的 API 管理状态将为“正在更新”。
- 如果选择保留 VIP 地址,则迁移包括将 VIP 从旧计算移动到新计算的额外步骤,在此期间 API 无响应。
- Azure 管理管理终结点 DNS,并在成功迁移时立即更新为新计算。
- 默认网关和门户 DNS 会立即指向新计算。
- 如果选择让 API 管理实例接收新的 VIP 地址,则需要更新网络依赖项以使用新的 VIP 地址。
先决条件
- API 管理实例托管在
stv1
计算平台上。 若要确认实例是否托管在stv1
平台上,请参阅如何知道哪个平台托管了我的 API 管理实例?
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 中的 Bash 快速入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展。
运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade。
将实例迁移到 stv2 平台
公共 IP 地址选项
可以选择 API 管理的虚拟 IP 地址是否会更改,还是保留原始 VIP 地址。
新的虚拟 IP 地址 - 如果选择此模式,API 请求会在迁移期间保持响应。 基础结构配置(如自定义域、位置和 CA 证书)将锁定 30 分钟。 迁移后,需要更新任何网络依赖项(包括 DNS、防火墙规则和 VNet)才能使用新的 VIP 地址。
保留 IP 地址 - 如果保留 VIP 地址,则在 IP 地址迁移到新基础结构时,API 请求在大约 15 分钟内处于无响应状态。 基础结构配置(如自定义域、位置和 CA 证书)将锁定 45 分钟。 迁移后无需进一步配置。
用于迁移的预创建 IP 地址
对于可通过公共 IP 地址访问的 API 管理实例,API 管理会预先为迁移过程创建公共 IP 地址。 在 API 管理实例属性的 JSON 输出中找到预先创建的 IP 地址。 在 customProperties
下,预创建的 IP 地址是 Microsoft.WindowsAzure.ApiManagement.Stv2MigrationPreCreatedIps
属性的值。 对于多区域部署,该值是预先创建的 IP 地址的逗号分隔列表。
使用预先创建的 IP 地址(或多个地址)来帮助管理迁移过程:
- 迁移并保留 VIP 地址时,系统会向新的
stv2
部署临时分配预先创建的 IP 地址,然后再将原始 IP 地址分配给stv2
部署。 例如,如果防火墙规则限制对 API 管理实例的访问,则可以将预先创建的 IP 地址添加到允许列表,以在迁移期间保留客户端访问的连续性。 迁移完成后,可以从允许列表中删除预先创建的 IP 地址。 - 迁移并生成新的 VIP 地址时,系统会在迁移过程中将预先创建的 IP 地址分配给新
stv2
部署,并在迁移完成后保留。 使用预先创建的 IP 地址更新网络依赖项,例如 DNS 和防火墙规则,以指向新的 IP 地址。
迁移步骤
在 Azure 门户,导航到 API 管理实例。
在左侧菜单中的“设置”下,选择“平台迁移”。
在“平台迁移”页上,选择以下两个迁移选项之一:
新的虚拟 IP 地址。 API 管理实例的 VIP 地址将会自动更改。 服务不会出现停机,但在迁移后,你将需要更新任何网络依赖项(包括 DNS、防火墙规则和 VNet)才能使用新的 VIP 地址。
保留 IP 地址 - API 管理实例的 VIP 地址将不会更改。 实例的停机时间最长为 15 分钟。
查看迁移过程的指南,并准备环境。
完成准备步骤后,选择“我已阅读并了解迁移过程的影响”。选择“迁移”。
验证迁移
若要验证迁移是否成功,当状态更改为“联机”时,请检查 API 管理实例的平台版本。 成功迁移后,该值为 stv2
或 stv2.1
。
迁移失败时自动还原
如果在迁移过程中出现故障,实例将自动还原到 stv1
平台。 如果迁移成功完成(实例的平台版本显示为 stv2
或 stv2.1
,并且状态显示为“联机”),则无法回滚到 stv1
平台。
如果迁移失败,请联系 Azure 支持以获取帮助。
如果需要手动回滚功能,建议与原始 API 管理实例并行部署新的 stv2
实例。
更新网络依赖项
成功迁移到新 VIP 地址后,请更新任何网络依赖项(包括 DNS、防火墙规则和 VNet)以使用新的 VIP 地址。
帮助和支持
我们将在此处帮助你迁移到 stv2
平台,同时将对服务造成的干扰降至最低。
如果有疑问,请从 Microsoft Q&A 中的社区专家那里快速获取解答。 如有支持计划并需要技术帮助,请创建支持请求。
- 对于“摘要”,请键入问题的说明,例如“stv1 停用”。
- 在“问题类型”下,选择“技术”。
- 在“订阅”下,选择自己的订阅。
- 在“服务”下,选择“我的服务”,然后选择“API 管理服务”。
- 在“资源”下,选择要为其创建支持请求的 Azure 资源。
- 请在“问题类型”处选择“管理”。
- 对于“问题子类型”,选择“升级、缩放或 SKU 更改”。
常见问题
需要哪些信息来选择迁移路径?
- API 管理实例的网络模式是什么?
- 是否配置了自定义域?
- 是否涉及防火墙?
- 上游/下游对所涉及的 IP 是否有任何已知的依赖项?
- 是多区域部署吗?
- 我们可以修改现有实例吗?还是需要并行设置?
- 会有故障时间吗?
- 迁移是否可以在非业务时间内完成?
迁移的先决条件是什么?
对于未注入 VNet 的实例,不需要任何先决条件。 如果迁移保留公共 IP 地址,这会使 API 管理实例在大约 15 分钟内无响应。 如果选择“新建虚拟 IP 地址”选项,使 API 管理在新 IP 上可用,则可能不会有故障时间。 当请求新的虚拟 IP 地址时,配置了使用 A 记录和/或对公共虚拟 IP 地址具有网络依赖项的自定义域的实例会有故障时间。
迁移是否会产生故障时间?
对于未注入 VNet 的实例,只有当选择保留原始 IP 地址时,才会有大约 15 分钟的故障时间。 但是,如果使用新的 IP 地址进行迁移并且对新 IP 没有任何网络依赖项,则不会有故障时间。 网络依赖项包括不带 CNAME 的自定义域名、IP 允许列表、防火墙规则和 VNet。
迁移期间是否可能发生数据或配置丢失?
stv1
到stv2
迁移涉及仅更新计算平台,内部存储层不会更改。 因此,在迁移过程中,所有配置都是安全的。 这包括系统分配的托管标识,如果启用,则会保留该标识。如何确认迁移已完成且成功?
当概述页中的状态显示“联机”,并且平台版本为
stv2
或stv2.1
时,迁移被视为已完成且成功。 此外,请验证网络边栏选项卡中的网络状态是否对所有必需连接显示绿色。是否可以使用门户执行迁移?
是的,Azure 门户中的“平台迁移”边栏选项卡可指导完成未注入 VNet 的实例的迁移。
是否可以保留实例的 IP 地址?
是的,可以保留 IP 地址,但有约 15 分钟的故障时间。
是否存在不修改现有实例的迁移路径?
是的,需要并行迁移。 这意味着,可以与当前实例并行创建新的 API 管理实例,并将配置复制到新实例。
如果迁移失败,会发生什么情况?
如果在启动迁移后,API 管理实例的平台版本未显示为
stv2
或stv2.1
,并且状态未显示为“联机”,则迁移可能失败。 服务会自动回滚到旧实例,不会做出任何更改。 如果遇到问题(例如,状态为“正在更新”超过 2 小时),请联系 Azure 支持。迁移期间,哪些功能不可用?
对于未注入 VNet 的实例:
- 如果选择保留原始 IP 地址:在 IP 地址迁移到新基础结构时,API 请求在大约 15 分钟内无响应。 基础结构配置(如自定义域、位置和 CA 证书)锁定 45 分钟。
- 如果选择迁移到新的 IP 地址:在迁移期间,API 请求保持响应。 基础结构配置(如自定义域、位置和 CA 证书)锁定 30 分钟。 迁移后,需要更新任何网络依赖项(包括 DNS、防火墙规则和 VNet)才能使用新的 VIP 地址。
迁移需要多长时间?
整个迁移的预期持续时间约为 45 分钟。 检查迁移是否已执行的指示器是检查实例的状态是否返回到“联机”,而不是“正在更新”。 如果显示“正在更新”超过 2 小时,请联系 Azure 支持。
如果需要,是否可以回滚迁移?
如果在迁移过程中出现故障,实例将自动回滚到
stv1
平台。 但是,在服务成功迁移后,无法回滚到stv1
平台。自定义域/专用 DNS 区域是否需要任何更改?
对于未注入 VNet 的实例,保留 IP 时无需更改。 如果选择使用新 IP,则应更新引用 IP 的自定义域。
我的 stv1 实例部署到多个 Azure 区域(多区域)。 如何升级到 stv2?
对于未注入 VNet 的 API 管理,请使用门户或 Azure CLI 执行迁移步骤。 所有区域都将迁移到
stv2
。我们应考虑哪些自托管网关?
无需在自承载网关中执行任何操作。 只需迁移 Azure 中运行的、受
stv1
平台停用影响的 API 管理实例。 请注意,API 管理实例的配置终结点可能存在新的 IP,并且应更新固定到 IP 的任何网络限制。开发人员门户如何受到迁移的影响?
对开发人员门户没有影响。 如果使用自定义域,应在迁移后使用有效的 IP 更新 DNS 记录。 但是,如果默认域正在使用,则会在成功迁移时自动更新它们。 在迁移过程中,开发人员门户没有故障时间。
迁移到 stv2 后,是否会对成本产生任何影响?
对于
stv2
,计费模型保持不变,迁移期间和之后不会再产生任何费用。从 stv1 迁移到 stv2 需要哪些 RBAC 权限?
进行迁移的用户/进程需要对 API 管理实例的写入权限。