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

使用 Azure CLI 配置 ExpressRoute Global Reach

本文帮助你使用 Azure CLI 配置 Azure ExpressRoute Global Reach。 有关详细信息,请参阅 ExpressRoute Global Reach

在开始配置前,请满足以下要求:

  • 安装最新版本的 Azure CLI。 请参阅安装 Azure CLIAzure CLI 入门
  • 了解 ExpressRoute 线路预配工作流
  • 确保 ExpressRoute 线路处于“已预配”状态。
  • 确保在 ExpressRoute 线路上配置了 Azure 专用对等互连。

登录到 Azure 帐户

若要开始配置,请登录到 Azure 帐户。 以下命令会打开默认浏览器并提示输入 Azure 帐户的登录凭据:

az login

如果有多个 Azure 订阅,请查看该帐户的订阅:

az account list

指定要使用的订阅:

az account set --subscription <your subscription ID>

确定用于配置的 ExpressRoute 线路

可以启用任意两条 ExpressRoute 线路之间的 ExpressRoute Global Reach。 这些线路已在不同的对等互连位置建立,并且需要在支持的国家/地区才能使用。 如果你的订阅同时拥有这两条线路,则可以选择其中任一条线路来运行配置。 但是,如果两个线路位于不同的 Azure 订阅中,则必须在其中一条线路创建授权密钥。 使用在第一条线路生成的授权密钥,可以在第二条线路上启用 Global Reach。

注意

只能在配置的线路中看到 ExpressRoute Global Reach 配置。

启用本地网络之间的连接

运行该命令以启用连接时,请注意参数值的以下要求:

  • peer-circuit 应当是完整的资源 ID。 例如:

    /subscriptions/{your_subscription_id}/resourceGroups/{your_resource_group}/providers/Microsoft.Network/expressRouteCircuits/{your_circuit_name}/peerings/AzurePrivatePeering

  • address-prefix 必须是一个“/29”IPv4 子网(例如,“10.0.0.0/29”)。 我们使用此子网中的 IP 地址在两条 ExpressRoute 线路之间建立连接。 不能在 Azure 虚拟网络或本地网络中使用此子网中的地址。

运行以下 CLI 命令来连接两条 ExpressRoute 线路:

az network express-route peering connection create -g <ResourceGroupName> --circuit-name <Circuit1Name> --peering-name AzurePrivatePeering -n <ConnectionName> --peer-circuit <Circuit2ResourceID> --address-prefix <__.__.__.__/29>

CLI 输出如下所示:

{
  "addressPrefix": "<__.__.__.__/29>",
  "authorizationKey": null,
  "circuitConnectionStatus": "Connected",
  "etag": "W/\"48d682f9-c232-4151-a09f-fab7cb56369a\"",
  "expressRouteCircuitPeering": {
    "id": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Network/expressRouteCircuits/<Circuit1Name>/peerings/AzurePrivatePeering",
    "resourceGroup": "<ResourceGroupName>"
  },
  "id": "/subscriptions/<SubscriptionID>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Network/expressRouteCircuits/<Circuit1Name>/peerings/AzurePrivatePeering/connections/<ConnectionName>",
  "name": "<ConnectionName>",
  "peerExpressRouteCircuitPeering": {
    "id": "/subscriptions/<SubscriptionID>/resourceGroups/<Circuit2ResourceGroupName>/providers/Microsoft.Network/expressRouteCircuits/<Circuit2Name>/peerings/AzurePrivatePeering",
    "resourceGroup": "<Circuit2ResourceGroupName>"
  },
  "provisioningState": "Succeeded",
  "resourceGroup": "<ResourceGroupName>",
  "type": "Microsoft.Network/expressRouteCircuits/peerings/connections"
}

此操作完成后,将通过两条 ExpressRoute 线路在两端的本地网络之间建立连接。

在不同 Azure 订阅中启用 ExpressRoute 线路之间的连接

如果两条线路不在同一 Azure 订阅中,则需要获得授权。 在以下配置中,你将生成线路 2 的订阅授权。 然后,将授权密钥传递到线路 1。

  1. 生成授权密钥:

    az network express-route auth create --circuit-name <Circuit2Name> -g <Circuit2ResourceGroupName> -n <AuthorizationName>
    

    CLI 输出如下所示:

    {
      "authorizationKey": "<authorizationKey>",
      "authorizationUseStatus": "Available",
      "etag": "W/\"cfd15a2f-43a1-4361-9403-6a0be00746ed\"",
      "id": "/subscriptions/<SubscriptionID>/resourceGroups/<Circuit2ResourceGroupName>/providers/Microsoft.Network/expressRouteCircuits/<Circuit2Name>/authorizations/<AuthorizationName>",
      "name": "<AuthorizationName>",
      "provisioningState": "Succeeded",
      "resourceGroup": "<Circuit2ResourceGroupName>",
      "type": "Microsoft.Network/expressRouteCircuits/authorizations"
    }
    
  2. 记录线路 2 的资源 ID 和授权密钥。

  3. 针对线路 1 运行以下命令,传入线路 2 的资源 ID 和授权密钥:

    az network express-route peering connection create -g <ResourceGroupName> --circuit-name <Circuit1Name> --peering-name AzurePrivatePeering -n <ConnectionName> --peer-circuit <Circuit2ResourceID> --address-prefix <__.__.__.__/29> --authorization-key <authorizationKey>
    

此操作完成后,将通过两条 ExpressRoute 线路在两端的本地网络之间建立连接。

获取并验证配置

使用以下命令验证在其中进行了配置的线路(上例中的线路 1)的配置:

az network express-route show -n <CircuitName> -g <ResourceGroupName>

在 CLI 输出中,你将看到 CircuitConnectionStatus。 它将指示两条线路之间的连接是已建立(“Connected”)还是未建立(“Disconnected”)。

禁用本地网络之间的连接

若要禁用连接,请针对在其中进行了配置的线路(上例中的线路 1)运行以下命令。

az network express-route peering connection delete -g <ResourceGroupName> --circuit-name <Circuit1Name> --peering-name AzurePrivatePeering -n <ConnectionName>

使用 show 命令验证状态。

此操作完成后,本地网络之间将不再具有通过 ExpressRoute 线路建立的连接。

后续步骤