你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 PowerShell 修改 ExpressRoute 线路(经典)
本文逐步讲解检查状态以及更新或删除并预配 ExpressRoute 经典部署模型线路的步骤。 本文适用于经典部署模型。
重要
从 2017 年 3 月 1 日开始,将无法在经典部署模型中创建新的 ExpressRoute 线路。
- 可以将现有的 ExpressRoute 线路从经典部署模型移到 Resource Manager 部署模型,不会遇到连接中断问题。 有关详细信息,请参阅移动现有线路。
- 将 allowClassicOperations 设置为 TRUE 即可在经典部署模型中连接到虚拟网络。
请使用以下链接在 Resource Manager 部署模型中创建和管理 ExpressRoute 线路:
关于 Azure 部署模型
Azure 当前使用两种部署模型:资源管理器部署模型和经典部署模型。 这两个模型相互不完全兼容。 在开始之前,需要知道所要使用的模型。 有关部署模型的信息,请参阅了解部署模型。 如果不熟悉 Azure,建议使用 Resource Manager 部署模型。
准备阶段
安装最新版本的 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
获取线路的状态
可以随时使用 Get-AzureCircuit
cmdlet 检索此信息。 进行不带任何参数的调用将列出所有线路。
Get-AzureDedicatedCircuit
Bandwidth : 200
CircuitName : MyTestCircuit
Location : Silicon Valley
ServiceKey : *********************************
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Standard
Status : Enabled
Bandwidth : 1000
CircuitName : MyAsiaCircuit
Location : Singapore
ServiceKey : #################################
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Standard
Status : Enabled
可以将服务密钥作为参数传递给调用,从而获取特定 ExpressRoute 线路的相关信息。
Get-AzureDedicatedCircuit -ServiceKey "*********************************"
Bandwidth : 200
CircuitName : MyTestCircuit
Location : Silicon Valley
ServiceKey : *********************************
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Standard
Status : Enabled
可以运行以下示例获取所有这些参数的详细说明:
get-help get-azurededicatedcircuit -detailed
修改线路
可以在不影响连接的情况下修改 ExpressRoute 线路的某些属性。
可以在不停机的情况下执行以下任务:
- 为 ExpressRoute 线路启用或禁用 ExpressRoute 高级版外接程序。
- 增加 ExpressRoute 线路的带宽,前提是端口上有可用容量。 不支持对线路的带宽进行降级。
- 将计量套餐从数据流量套餐更改为无限制流量套餐。 不支持将计量套餐从无限制流量套餐更改为数据流量套餐。
- 可以启用和禁用允许经典操作。
有关限制和局限性的详细信息,请参阅 ExpressRoute 常见问题。
启用 ExpressRoute 高级版外接程序
可以使用以下 PowerShell cmdlet 为现有线路启用 ExpressRoute 高级版外接程序:
Set-AzureDedicatedCircuitProperties -ServiceKey "*********************************" -Sku Premium
Bandwidth : 1000
CircuitName : TestCircuit
Location : Silicon Valley
ServiceKey : *********************************
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Premium
Status : Enabled
线路现已启用 ExpressRoute 高级版外接程序功能。 成功运行该命令后,就会开始对高级版外接程序功能计费。
禁用 ExpressRoute 高级版外接程序
重要
如果使用的资源超出了标准线路允许的范围,此操作可能会失败。
注意事项
- 从高级版降级到标准版之前,请确保链接到线路的虚拟网络数少于 10。 否则,更新请求会失败,并且会按高级版费率计费。
- 必须取消其他地理政治区域的所有虚拟网络的链接。 否则,更新请求会失败,并且会按高级版费率计费。
- 路由表中专用对等互连的路由必须少于 4,000。 如果路由表大小超出 4,000 个路由,则会删除 BGP 会话且不会重新启用它,除非已播发前缀的数目低于 4,000。
禁用高级外接程序
可以使用以下 PowerShell cmdlet 为现有线路禁用 ExpressRoute 高级版外接程序:
Set-AzureDedicatedCircuitProperties -ServiceKey "*********************************" -Sku Standard
Bandwidth : 1000
CircuitName : TestCircuit
Location : Silicon Valley
ServiceKey : *********************************
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Standard
Status : Enabled
更新 ExpressRoute 线路带宽
有关提供商支持的带宽选项,请查看 ExpressRoute 常见问题。 只要在其上创建线路的物理端口允许,即可选取大于现有线路大小的任何大小。
重要
如果现有端口上的容量不足,可能需要重新创建 ExpressRoute 线路。 如果该位置没有额外的可用容量,则不能升级线路。
但是,无法在不中断的情况下降低 ExpressRoute 线路的带宽。 带宽降级需要取消对 ExpressRoute 线路的预配,并重新预配新的 ExpressRoute 线路。
调整线路大小
确定所需的大小后,即可使用以下命令调整线路的大小:
Set-AzureDedicatedCircuitProperties -ServiceKey ********************************* -Bandwidth 1000
Bandwidth : 1000
CircuitName : TestCircuit
Location : Silicon Valley
ServiceKey : *********************************
ServiceProviderName : equinix
ServiceProviderProvisioningState : Provisioned
Sku : Standard
Status : Enabled
在 Microsoft 端调整线路大小后,必须联系连接提供商,让他们在那一边根据此更改更新配置。 从现在开始将按已更新的带宽选项计费。
如果在增加线路带宽时看到以下错误,这意味着创建现有线路所在的物理端口上没有足够的带宽可用。 必须删除此线路,并创建所需大小的新线路。
Set-AzureDedicatedCircuitProperties : InvalidOperation : Insufficient bandwidth available to perform this circuit
update operation
At line:1 char:1
+ Set-AzureDedicatedCircuitProperties -ServiceKey ********************* ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Set-AzureDedicatedCircuitProperties], CloudException
+ FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.ExpressRoute.SetAzureDedicatedCircuitPropertiesCommand
取消预配和删除线路
注意事项
- 必须取消所有虚拟网络与 ExpressRoute 线路的链接,此操作才能成功。 如果此操作失败,请查看是否有虚拟网络链接到了此线路。
- 如果 ExpressRoute 线路服务提供商预配状态为“正在预配” 或“已预配” ,则必须与服务提供商合作,在他们一端取消预配线路。 在服务提供商取消对线路的预配并通知我们之前,我们会继续保留资源并收费。
- 如果服务提供商已取消预配线路(服务提供商预配状态设置为“未预配”),则可以删除线路。 这样就会停止对线路的计费。
删除线路
可以通过运行以下命令来删除 ExpressRoute 线路:
Remove-AzureDedicatedCircuit -ServiceKey "*********************************"