如果要从一条 ExpressRoute 线路切换到另一条,你可以在服务中断最少的情况下顺利完成。 本文档指导你完成迁移生产流量的步骤,而不会造成重大中断或风险。 无论你是移动到新的还是相同的对等互连位置,此方法都适用。
如果已通过第 3 层服务提供商拥有 ExpressRoute 线路,请在 Azure 门户中的订阅下创建新线路。 与服务提供商合作,将流量无缝切换到新线路。 服务提供商取消预配旧线路后,请从 Azure 门户将其删除。
如果你是通过第 2 层服务提供商或 ExpressRoute 直接端口而拥有 ExpressRoute 线路,则本文的其余部分适用。
无缝 ExpressRoute 线路迁移的步骤
前图说明了从现有的 ExpressRoute 线路(称为线路 A)到新的 ExpressRoute 线路(称为线路 B)的迁移过程。线路 B 可以位于与线路 A 相同或不同的对等互连位置。迁移过程包括以下步骤:
隔离部署线路 B:虽然流量继续流经线路 A,但部署新的线路 B,而不会影响生产环境。
阻止通过线路 B 的生产流量流:阻止任何流量使用线路 B,直到它经过完全测试和验证。
完成并验证线路 B 的端到端连接:确保线路 B 能够建立和维护与所有所需终结点的稳定且安全的连接。
切换流量:将流量从线路 A 重定向到线路 B,并阻止通过线路 A 的流量流。
停用线路 A:从网络中删除线路 A 并释放其资源。
隔离部署新线路
对于现有线路的一对一替换,请选择“标准复原能力”选项,并按照使用 ExpressRoute 创建线路指南中概述的步骤,在所需对等互连位置创建新的 ExpressRoute 线路(线路 B)。 然后,按照配置 ExpressRoute 线路的对等互连中的步骤,配置所需的对等互连类型:专用和 Microsoft。
若要防止专用对等互连生产流量在测试和验证之前使用线路 B,请不要将具有生产部署的虚拟网络网关链接到线路 B。同样,为了避免 Microsoft 对等互连生产流量使用线路 B,请不要将路由筛选器关联到线路 B。
通过新创建的线路阻止生产流量流
防止在 CE 设备上通过一个或多个新的对等互连进行路由播发。
对于 Cisco IOS,可以使用 route-map
和 prefix-list
来筛选通过 BGP 对等互连播发的路由。 以下示例演示如何为此目的创建并应用 route-map
和 prefix-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 线路的专用对等互连的路由表:
下图演示了测试虚拟网络中的测试 VM 和本地测试设备,用于验证通过 ExpressRoute 专用对等互连建立的连接。
修改路由映射或策略配置,以筛选播发的路由,并允许本地测试设备的特定 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 不同的路由筛选器。请按照配置 Microsoft 对等互连的路由筛选器中的步骤操作。
避免公共路由:确保两条线路的路由筛选器不共享公共路由,以防止非对称路由。 可通过以下方法完成此操作:
- 选择一个服务或 Azure 区域以测试不由线路 A 的生产流量使用的线路 B。
- 最小化两个路由过滤器之间的重叠,只允许特定测试的公共端点通过线路 B。
链接路由筛选器后,请检查通过 CE 设备上的 BGP 对等互连播发和接收的路由。 修改路由映射或 Junos 策略配置以筛选播发的路由,仅允许所选 Microsoft 公共终结点的 Microsoft 对等互连和特定 IP 地址的本地前缀进行测试。
专用对等互连
断开线路 B 与任何测试虚拟网络网关的连接。
删除针对 Cisco 路由映射或 Junos 策略的任何例外情况。
按照“将虚拟网络连接到 ExpressRoute 线路”中的步骤,将线路 B 连接到生产虚拟网络网关。
确保线路 B 已准备好播发当前通过线路 A 播发的所有路由。验证线路 B 接口是否与相应的 VRF 或路由实例相关联。
删除线路 B 接口上的路由映射或策略,并将其应用到线路 A 接口,以阻止通过线路 A 的路由播发,从而将流量流切换到线路 B。
验证通过线路 B 的流量流。如果验证失败,还原更改并将流量流切换回线路 A。
如果验证成功,删除线路 A。
Microsoft 对等互连
从任何测试 Azure 路由筛选器中删除线路 B。
移除对路由映射或策略的任何例外。
确保线路 B 接口与相应的 VRF 或路由实例相关联。
验证并确认通过 Microsoft 对等互连播发的前缀。
将线路 B Microsoft 对等互连与当前和线路 A 关联的 Azure 路由筛选器相关联。
删除线路 B 接口上的路由映射或导出/导入策略,并将其应用到线路 A 接口,以阻止通过线路 A 的路由播发,从而将流量流切换到线路 B。
验证通过线路 B 的流量流。如果验证失败,还原更改并将流量流切换回线路 A。
如果验证成功,删除线路 A。
下一步
有关路由器配置的详细信息,请参阅设置和管理路由的路由器配置示例。