你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 PowerShell 将虚拟网络连接到 ExpressRoute 线路(经典)
本文介绍如何使用 PowerShell 将虚拟网络 (VNet) 链接到 Azure ExpressRoute 线路。 单个 VNet 可最多连接到 4 条 ExpressRoute 线路。 通过本文中的步骤为正在连接的每条 ExpressRoute 线路创建新链接。 ExpressRoute 线路可在同一订阅、不同订阅或两者兼有。 本文适用于使用经典部署模型创建的虚拟网络。
最多可以将 10 个虚拟网络链接到一条 ExpressRoute 线路。 所有虚拟网络必须都位于同一地缘政治区域。 如果启用 ExpressRoute 高级外接程序,则可以将更多虚拟网络链接到 ExpressRoute 线路,或者链接其他地缘政治区域中的虚拟网络。 有关高级外接程序的更多详细信息,请参阅常见问题解答。
重要
从 2017 年 3 月 1 日开始,将无法在经典部署模型中创建新的 ExpressRoute 线路。
- 可以将现有的 ExpressRoute 线路从经典部署模型移到 Resource Manager 部署模型,不会遇到连接中断问题。 有关详细信息,请参阅移动现有线路。
- 将 allowClassicOperations 设置为 TRUE 即可在经典部署模型中连接到虚拟网络。
请使用以下链接在 Resource Manager 部署模型中创建和管理 ExpressRoute 线路:
关于 Azure 部署模型
Azure 当前使用两种部署模型:资源管理器部署模型和经典部署模型。 这两个模型相互不完全兼容。 在开始之前,需要知道所要使用的模型。 有关部署模型的信息,请参阅了解部署模型。 如果不熟悉 Azure,建议使用 Resource Manager 部署模型。
配置先决条件
- 在开始配置之前,请先查看先决条件、路由要求和工作流。
- 必须有一个活动的 ExpressRoute 线路。
- 请按说明创建 ExpressRoute 线路,并让连接提供商启用该线路。
- 请确保为线路配置 Azure 专用对等互连。 有关路由说明,请参阅配置路由一文。
- 确保配置 Azure 专用对等互连并运行网络和 Microsoft 之间的 BGP 对等互连,以便启用端到端连接。
- 必须已创建并完全预配一个虚拟网络和一个虚拟网络网关。 请按说明为 ExpressRoute 配置虚拟网络。
下载最新的 PowerShell cmdlet
安装最新版本的 Azure 服务管理 (SM) PowerShell 模块和 ExpressRoute 模块。 不能使用 Azure CloudShell 环境来运行 SM 模块。
按照安装服务管理模块一文中的说明安装 Azure 服务管理模块。 如果已安装 Az 或 RM 模块,请确保使用“-AllowClobber”。
导入已安装的模块。 使用以下示例时,请调整路径以反映已安装的 PowerShell 模块的位置和版本。
Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\Azure.psd1' Import-Module 'C:\Program Files\WindowsPowerShell\Modules\Azure\5.3.0\ExpressRoute\ExpressRoute.psd1'
若要登录到 Azure 帐户,请使用提升的权限打开 PowerShell 控制台,并连接到帐户。 使用以下示例帮助你通过服务管理模块进行连接:
Add-AzureAccount
将同一订阅中的虚拟网络连接到线路
可以使用以下 cmdlet 将虚拟网络链接到 ExpressRoute 线路。 在运行 cmdlet 之前,请确保已创建虚拟网络网关并可将其用于进行链接。
New-AzureDedicatedCircuitLink -ServiceKey "*****************************" -VNetName "MyVNet"
Provisioned
删除指向线路的虚拟网络链接
可使用以下 cmdlet 删除指向 ExpressRoute 线路的虚拟网络链接。 请确保为给定的虚拟网络选择当前订阅。
Remove-AzureDedicatedCircuitLink -ServiceKey "*****************************" -VNetName "MyVNet"
将另一订阅中的虚拟网络连接到线路
用户可以在多个订阅之间共享 ExpressRoute 线路。 下图是在多个订阅之间共享 ExpressRoute 线路的简单示意图。
大型云中的每个较小云用于表示属于组织中不同部门的订阅。 组织内的每个部门可以使用自己的订阅部署其服务,但这些部门可以共享单个 ExpressRoute 线路以连接回本地网络。 单个部门(在此示例中为 IT 部门)可以拥有 ExpressRoute 线路。 组织内的其他订阅可以使用 ExpressRoute 线路。
注意
专用线路的连接和带宽费用将应用于 ExpressRoute 线路所有者。 所有虚拟网络共享相同的带宽。
管理
“线路所有者”是在其中创建了 ExpressRoute 线路的订阅的管理员/共同管理员。 线路所有者可以授权其他订阅的管理员/共同管理员(称为线路用户)使用他们拥有的专用线路。 有权使用组织的 ExpressRoute 线路的线路用户在获得授权后可以将其订阅中的虚拟网络链接到 ExpressRoute 线路。
线路所有者有权随时修改和撤消授权。 撤消授权将导致从撤消其访问权限的订阅中删除所有链接。
注意
线路所有者不是内置的 RBAC 角色,也不是在 ExpressRoute 资源上定义的。 线路所有者的定义是具有以下访问权限的任何角色:
- Microsoft.Network/expressRouteCircuits/authorizations/write
- Microsoft.Network/expressRouteCircuits/authorizations/read
- Microsoft.Network/expressRouteCircuits/authorizations/delete
这包括内置角色,例如参与者、所有者和网络参与者。 不同内置角色的详细说明。
线路所有者操作
创建授权
线路所有者可授权其他订阅的管理员使用指定的线路。 在下面的示例中,线路 (Contoso IT) 管理员允许另一个订阅(开发-测试)的管理员最多将两个虚拟网络链接到线路。 Contoso IT 管理员可以通过指定开发-测试 Microsoft ID 来启用此授权。 该 cmdlet 不会将电子邮件发送到指定的 Microsoft ID。 线路所有者需要显式通知其他订阅所有者:授权已完成。
New-AzureDedicatedCircuitLinkAuthorization -ServiceKey "**************************" -Description "Dev-Test Links" -Limit 2 -MicrosoftIds 'devtest@contoso.com'
返回:
Description : Dev-Test Links
Limit : 2
LinkAuthorizationId : **********************************
MicrosoftIds : devtest@contoso.com
Used : 0
查看授权
线路所有者可以通过运行以下 cmdlet 来查看针对特定线路发出的所有授权:
Get-AzureDedicatedCircuitLinkAuthorization -ServiceKey: "**************************"
返回:
Description : EngineeringTeam
Limit : 3
LinkAuthorizationId : ####################################
MicrosoftIds : engadmin@contoso.com
Used : 1
Description : MarketingTeam
Limit : 1
LinkAuthorizationId : @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MicrosoftIds : marketingadmin@contoso.com
Used : 0
Description : Dev-Test Links
Limit : 2
LinkAuthorizationId : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MicrosoftIds : salesadmin@contoso.com
Used : 2
更新授权
线路所有者可以使用以下 cmdlet 修改授权:
Set-AzureDedicatedCircuitLinkAuthorization -ServiceKey "**************************" -AuthorizationId "&&&&&&&&&&&&&&&&&&&&&&&&&&&&"-Limit 5
返回:
Description : Dev-Test Links
Limit : 5
LinkAuthorizationId : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
MicrosoftIds : devtest@contoso.com
Used : 0
删除授权
线路所有者可以通过运行以下 cmdlet 来撤消/删除对用户的授权:
Remove-AzureDedicatedCircuitLinkAuthorization -ServiceKey "*****************************" -AuthorizationId "###############################"
线路用户操作
查看授权
线路用户可以使用以下 cmdlet 查看授权:
Get-AzureAuthorizedDedicatedCircuit
返回:
Bandwidth : 200
CircuitName : ContosoIT
Location : Washington DC
MaximumAllowedLinks : 2
ServiceKey : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Status : Enabled
UsedLinks : 0
兑现链接授权
线路用户可以通过运行以下 cmdlet 来兑现链接授权:
New-AzureDedicatedCircuitLink –servicekey "&&&&&&&&&&&&&&&&&&&&&&&&&&" –VnetName 'SalesVNET1'
返回:
State VnetName
----- --------
Provisioned SalesVNET1
在虚拟网络新链接的订阅中运行此命令:
New-AzureDedicatedCircuitLink -ServiceKey "*****************************" -VNetName "MyVNet"
后续步骤
有关 ExpressRoute 的详细信息,请参阅 ExpressRoute 常见问题。