教程:使用 CLI 将虚拟网络连接到 ExpressRoute 线路

本教程介绍如何使用 Azure CLI 将虚拟网络 (VNet) 链接到 Azure ExpressRoute 线路。 若要使用 Azure CLI 进行链接,必须使用资源管理器部署模型创建虚拟网络。 它们可以在同一个订阅中,也可以属于另一个订阅。 如果想使用不同的方法将 VNet 连接到 ExpressRoute 线路,请从以下列表中选择一篇文章进行参阅:

在本教程中,你将了解如何执行以下操作:

  • 将同一订阅中的虚拟网络连接到线路
  • 将另一订阅中的虚拟网络连接到线路
  • 修改虚拟网络连接
  • 配置 ExpressRoute FastPath

必备条件

  • 需要最新版本的命令行接口 (CLI)。 有关详细信息,请参阅安装 Azure CLI

  • 在开始配置之前,请先查看先决条件路由要求工作流

  • 必须有一个活动的 ExpressRoute 线路。

    • 请按说明创建 ExpressRoute 线路,并通过连接提供商启用该线路。
    • 请确保为线路配置 Azure 专用对等互连。 有关路由说明,请参阅配置路由一文。
    • 请确保已配置 Azure 专用对等互连。 必须建立网络和 Microsoft 之间的 BGP 对等互连,使你能够启用端到端的连接。
    • 确保已创建并完全预配一个虚拟网络和一个虚拟网络网关。 请按照说明为 ExpressRoute 配置虚拟网络网关。 请务必使用 --gateway-type ExpressRoute
  • 最多可以将 10 个虚拟网络链接到一条标准 ExpressRoute 线路。 使用标准 ExpressRoute 线路时,所有虚拟网络必须都位于同一地缘政治区域。

  • 单个 VNet 可最多连接到 16 条 ExpressRoute 线路。 使用以下流程为要连接的每条 ExpressRoute 线路创建新的连接对象。 ExpressRoute 线路可在同一订阅、不同订阅或两者兼有。

  • 如果启用 ExpressRoute 高级版加载项,则可以链接 ExpressRoute 线路的地缘政治区域外部的虚拟网络。 通过高级版加载项,你还可以根据所选带宽,将 10 个以上的虚拟网络连接到 ExpressRoute 线路。 有关高级外接程序的更多详细信息,请参阅常见问题解答

  • 如果要创建从 ExpressRoute 线路到目标 ExpressRoute 虚拟网络网关的连接,则从本地或对等互连虚拟网络播发的地址空间数必须等于或小于 200。 成功创建连接后,可以将其他地址空间(最多 1000 个)添加到本地或对等互连虚拟网络。

将同一订阅中的虚拟网络连接到线路

可以使用以下示例将虚拟网络网关连接到 ExpressRoute 线路。 在运行此命令之前,请确保虚拟网络网关已创建并可用于进行链接。

az network vpn-connection create --name ERConnection --resource-group ExpressRouteResourceGroup --vnet-gateway1 VNet1GW --express-route-circuit2 MyCircuit

将另一订阅中的虚拟网络连接到线路

用户可以在多个订阅之间共享 ExpressRoute 线路。 下图是在多个订阅之间共享 ExpressRoute 线路的简单示意图。

大型云中的每个较小云用于表示属于组织中不同部门的订阅。 组织内的每个部门使用自己的订阅部署其服务,但可以共享单个 ExpressRoute 线路以连接回本地网络。 单个部门(在此示例中为 IT 部门)可以拥有 ExpressRoute 线路。 组织内的其他订阅可以使用 ExpressRoute 线路。

注意

专用线路的连接和带宽费用将应用于 ExpressRoute 线路所有者。 所有虚拟网络共享相同的带宽。

跨订阅连接

管理 - 线路所有者和线路用户

“线路所有者”是 ExpressRoute 线路资源的已授权超级用户。 线路所有者可以创建可由“线路用户”兑换的授权。 线路用户是虚拟网络网关的所有者(这些网关与 ExpressRoute 线路位于不同的订阅中)。 线路用户可以兑现授权(每个虚拟网络需要一个授权)。

线路所有者有权随时修改和撤销授权。 撤销授权后,会从撤销了访问权限的订阅中删除所有链路连接。

线路所有者操作

若要创建授权

线路所有者创建授权,这将创建授权密钥,供线路用户用于将其虚拟网络网关连接到 ExpressRoute 线路。 一个授权只可用于一个连接。

以下示例说明如何创建授权:

az network express-route auth create --circuit-name MyCircuit -g ExpressRouteResourceGroup -n MyAuthorization

此响应包含授权密钥和状态:

"authorizationKey": "0a7f3020-541f-4b4b-844a-5fb43472e3d7",
"authorizationUseStatus": "Available",
"etag": "W/\"010353d4-8955-4984-807a-585c21a22ae0\"",
"id": "/subscriptions/81ab786c-56eb-4a4d-bb5f-f60329772466/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/MyCircuit/authorizations/MyAuthorization1",
"name": "MyAuthorization1",
"provisioningState": "Succeeded",
"resourceGroup": "ExpressRouteResourceGroup"

若要查看授权

线路所有者可以运行以下示例来查看针对特定线路发布的所有授权:

az network express-route auth list --circuit-name MyCircuit -g ExpressRouteResourceGroup

若要添加授权

线路所有者可以使用以下示例来添加授权:

az network express-route auth create --circuit-name MyCircuit -g ExpressRouteResourceGroup -n MyAuthorization1

若要删除授权

线路所有者可以运行以下示例来撤销/删除对用户的授权:

az network express-route auth delete --circuit-name MyCircuit -g ExpressRouteResourceGroup -n MyAuthorization1

线路用户操作

线路用户需要对等 ID 以及线路所有者提供的授权密钥。 授权密钥是一个 GUID。

az network express-route show -n MyCircuit -g ExpressRouteResourceGroup

若要兑换连接授权

线路用户可以运行以下示例来兑现链接授权:

az network vpn-connection create --name ERConnection --resource-group ExpressRouteResourceGroup --vnet-gateway1 VNet1GW --express-route-circuit2 MyCircuit --authorization-key "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

若要释放连接授权

可以通过删除 ExpressRoute 线路与虚拟网络之间的连接释放授权。

修改虚拟网络连接

可以更新虚拟网络连接的某些属性。

若要更新连接权重

虚拟网络可以连接到多条 ExpressRoute 线路。 可以从多条 ExpressRoute 线路收到相同的前缀。 若要选择使用哪个连接发送目标为此前缀的流量,可以更改连接的 RoutingWeight。 将在具有最高 RoutingWeight 的连接上发送流量。

az network vpn-connection update --name ERConnection --resource-group ExpressRouteResourceGroup --routing-weight 100

RoutingWeight 的范围是 0 到 32000。 默认值为 0。

清理资源

如果不再需要 ExpressRoute 连接,请使用 az network vpn-connection delete 命令,从该网关所在的订阅删除网关和线路之间的链接。

az network vpn-connection delete --name ERConnection --resource-group ExpressRouteResourceGroup

后续步骤

在本教程中,你已了解如何将虚拟网络连接到同一订阅和不同订阅中的线路。 有关 ExpressRoute 网关的详细信息,请参阅: