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

创建新的 ExpressRoute 线路

如果要从一条 ExpressRoute 线路切换到另一条 ExpressRoute 线路,你可能希望顺利完成并最大程度地减少服务中断。 本文档可帮助你按照步骤迁移生产流量,而不会造成重大中断或风险。 无论是移动到新的还是相同的对等互连位置,都可以使用此方法。

如果已通过第 3 层服务提供商获取 ExpressRoute 线路,请在 Azure 门户中的订阅下创建新线路。 与服务提供商合作,将流量无缝切换到新线路。 服务提供商取消预配旧线路后,请从 Azure 门户将其删除。

如果已通过第 2 层服务提供商或 ExpressRoute 直接端口获得 ExpressRoute 线路,本文的其余部分将适用于你。

无缝 ExpressRoute 线路迁移的步骤

显示从线路 A 到线路 B 的 ExpressRoute 线路迁移的关系图。

上图说明了从现有的 ExpressRoute 线路(称为线路 A)到新的 ExpressRoute 线路(称为线路 B)的迁移过程。线路 B 可以位于与线路 A 相同或不同的对等互连位置。迁移过程包括以下步骤:

  1. 隔离部署线路 B:虽然流量继续流经线路 A,但部署新的线路 B,而不会影响生产环境。

  2. 阻止通过线路 B 的生产流量流:阻止任何流量使用线路 B,直到它经过完全测试和验证。

  3. 完成并验证线路 B 的端到端连接:确保线路 B 能够建立和维护与所有所需终结点的稳定且安全的连接。

  4. 切换流量:将流量从线路 A 重定向到线路 B,并阻止通过线路 A 的流量流。

  5. 停用线路 A:从网络中删除线路 A 并释放其资源。

隔离部署新线路

对于现有线路的一对一替换,请选择“标准复原能力”选项,并按照使用 ExpressRoute 创建线路指南中概述的步骤,在所需对等互连位置创建新的 ExpressRoute 线路(线路 B)。 然后,按照配置 ExpressRoute 线路的对等互连中的步骤,配置所需的对等互连类型:专用和 Microsoft。

若要在测试和验证线路之前防止专用对等互连生产流量使用线路 B,请不要将具有生产部署的虚拟网络网关链接到线路 B。同样,为了避免 Microsoft 对等互连生产流量使用线路 B,请不要将路由筛选器关联到线路 B。

通过新创建的线路阻止生产流量流

防止在 CE 设备上的新对等互连上播发路由。

对于 Cisco IOS,可以使用 route-mapprefix-list 来筛选通过 BGP 对等互连播发的路由。 以下示例演示如何为此目的创建并应用 route-mapprefix-list

route-map BLOCK ADVERTISEMENTS deny 10
 match ip address prefix-list BLOCK-ALL-PREFIXES

ip prefix-list BLOCK-ALL-PREFIXES seq 10 deny 0.0.0.0/0 le 32

router bgp <your_AS_number>
 neighbor <neighbor_IP_address> route-map BLOCK-ADVERTISEMENTS out
 neighbor <neighbor_IP_address> route-map BLOCK-ADVERTISEMENTS in

使用导出/导入策略筛选 Junos 设备上的新对等互连上播发和接收的路由。 以下 YAML 示例演示如何为此目的配置对象:

user@router>show configuration policy-options policy-statement BLOCK-ALL-ROUTES

term reject-all {

    the reject;
}

protocols {
    bgp {
        group <your_group_name> {
            neighbor <neighbor_IP_address> {
                export [ BLOCK-ALL-ROUTES ];
                import [ BLOCK-ALL-ROUTES ];
            }
        }
    }
}

验证新建线路的端到端连接

专用对等互连

按照“将虚拟网络连接到 ExpressRoute 线路”中的步骤,将新线路链接到测试虚拟网络的网关,并验证专用对等互连连接。 将虚拟网络链接到线路后,检查线路的专用对等互连的路由表,并验证虚拟网络的地址空间是否包含在表中。 以下示例显示了 Azure 管理门户中 ExpressRoute 线路的专用对等互连的路由表:

ExpressRoute 线路主要链接的路由表的屏幕截图。

下图所示为测试虚拟网络中配置的测试 VM 和位于本地的测试设备,用于验证 ExpressRoute 专用对等互连的连接。

显示 Azure 中通过 ExpressRoute 连接与本地测试设备通信的 VM 的关系图。

修改已应用的路由映射或策略配置,以筛选播发的路由,并允许来自本地的测试设备的特定 IP 地址。 同样,允许测试 Azure 中虚拟网络的地址空间。

route-map BLOCK ADVERTISEMENTS permit 5
 match ip address prefix-list PERMIT-ROUTE

route-map BLOCK ADVERTISEMENTS deny 10
 match ip address prefix-list BLOCK-ALL-PREFIXES

ip prefix-list PERMIT-ROUTE seq 10 permit 10.17.1.0/24
ip prefix-list PERMIT-ROUTE seq 20 permit 10.1.18.10/32

ip prefix-list BLOCK-ALL-PREFIXES seq 10 deny 0.0.0.0/0 le 32


若要允许 Junos 上的测试设备的特定 IP 前缀,请配置前缀列表。 然后,配置 BGP 导入/导出策略以允许这些前缀并拒绝其他所有内容。

user@router>show configuration policy-options policy-statement BLOCK-ADVERTISEMENTS

term PERMIT-ROUTES {
    from {
        prefix-list PERMIT-ROUTE;
    }
    then accept;
}

term reject-all {
    then reject;
}

user@router>show configuration policy-options prefix-list PERMIT-ROUTE

10.1.18.10/32;
10.17.1.0/24;

通过专用对等互连验证端到端连接。 例如,可以从本地测试设备 ping Azure 中的测试 VM 并检查结果。 有关分步详细验证,请参阅验证 ExpressRoute 连接

Microsoft 对等互连

Microsoft 对等互连的验证需要仔细规划,以避免对生产流量产生任何影响。 你需要为线路 B 的 Microsoft 对等互连(与用于线路 A 的不同)使用不同的前缀,以防止两条线路之间的任何路由冲突。 还需要按照配置 Microsoft 对等互连的路由筛选器中的步骤操作,将线路 B 的 Microsoft 对等互连链接到一个单独的路由筛选器,而不是链接到线路 A 的路由筛选器。 此外,需要确保这两条线路的路由筛选器没有播发到本地网络的任何常见路由,以避免线路 A 和线路 B 之间的非对称路由。为实现此目的,可以:

  • 选择服务或 Azure 区域以测试线路 A 上的生产流量未使用的线路 B,或
  • 最小化两个路由筛选器之间的重叠,只允许通过线路 B 接收的更具体测试公共终结点

链接路由筛选器后,需要检查通过 CE 设备上的 BGP 对等互连播发和接收的路由。 若要筛选播发的路由,并仅允许 Microsoft 对等互连的本地前缀和所选 Microsoft 公共终结点的特定 IP 地址进行测试,需要修改已应用的路由映射或 Junos 策略配置。

若要测试与 Microsoft 365 终结点的连接,请按照实现 ExpressRoute for Microsoft 365 – 生成测试过程中的步骤进行操作。 对于 Azure 公共终结点,可以从本地进行基本的连接测试(例如跟踪路由),并验证请求是否通过 ExpressRoute 终结点。 除了 ExpressRoute 终结点之外,禁止 ICMP 消息通过 Microsoft 网络显示。 除了基本的 ping 测试之外,还可以在应用程序级别测试连接。 例如,如果 Azure VM 具有运行 Web 服务器的 Azure 公共 IP,则可以尝试通过 ExpressRoute 连接从本地网络访问 Web 服务器公共 IP。 这有助于确认更复杂的流量(如 HTTP 请求)可以到达 Azure 服务。

切换生产流量

专用对等互连

  1. 断开线路 B 与已连接的任何测试虚拟网络网关的连接。
  2. 删除你对 Cisco 路线映射或 Junos 策略所做的任何异常。
  3. 按照将虚拟网络连接到 ExpressRoute 线路中的步骤操作,并将线路 B 连接到生产虚拟网络网关。
  4. 在 CE 上,请确保准备好播发当前通过线路 A 播发的所有路由,在删除应用于 CE 上的线路 B 接口的路由映射或策略时,则通过线路 B 播发。 这还包括确保线路 B 的接口与相应的 VRF 或路由实例(如果有)相关联。
  5. 删除线路 B 接口上的路线映射或策略。 在线路 A 接口上应用路线映射或策略,以阻止线路 A 上的路由播发。这将通过线路 B 切换流量流。
  6. 验证通过线路 B 的流量流。如果验证失败,请撤消在上一步中执行的路由映射或防火墙关联,并将流量流切换回线路 A。
  7. 如果通过线路 B 验证流量流成功,请删除线路 A。

Microsoft 对等互连

  1. 从已将其链接到的任何测试 Azure 路由筛选器中删除线路 B。
  2. 删除你对路线映射或策略所做的任何异常。
  3. 在 CE 上,确保线路 B 的接口与相应的 VRF 或路由实例相关联。
  4. 验证并确认通过 Microsoft 对等互连播发的前缀。
  5. 将线路 B Microsoft 对等互连关联到当前关联到线路 A 的 Azure 路由筛选器。
  6. 删除线路 B 接口上的路线映射或导出/导入策略。 在线路 A 接口上应用路线映射或导出/导入策略,以阻止线路 A 上的路由播发。这将通过线路 B 切换流量流。
  7. 验证通过线路 B 的流量流。如果验证失败,请撤消在上一步中执行的路由映射或策略关联,并将流量流切换回线路 A。
  8. 如果通过线路 B 验证流量流成功,请删除线路 A。

下一步

有关路由器配置的详细信息,请参阅设置和管理路由的路由器配置示例