快速入門:使用 Azure PowerShell 建立和修改 ExpressRoute 線路
本快速入門說明如何使用 PowerShell Cmdlet 和 Azure Resource Manager 部署模型來建立 ExpressRoute 線路。 您也可以檢查狀態、更新、刪除或取消布建線路。
必要條件
Azure Cloud Shell
Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。
要啟動 Azure Cloud Shell:
選項 | 範例/連結 |
---|---|
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 | |
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 | |
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 |
若要使用 Azure Cloud Shell:
啟動 Cloud Shell。
選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。
透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。
選取 Enter 鍵執行程式碼或命令。
建立及布建 ExpressRoute 線路
登入您的 Azure 帳戶並且選取您的訂用帳戶
如果您使用 Azure Cloud Shell,請在按兩下 [試用] 之後自動登入您的 Azure 帳戶。 若要在本機登入,請使用提高的許可權開啟 PowerShell 控制台,並執行 Cmdlet 以連線。
Connect-AzAccount
如果您有多個訂用帳戶,請取得 Azure 訂用帳戶的清單。
Get-AzSubscription
指定您要使用的訂用帳戶。
Select-AzSubscription -SubscriptionName "Name of subscription"
取得支援的提供者、位置和頻寬清單
建立 ExpressRoute 線路之前,您需要支援的連線提供者、位置和頻寬選項清單。
PowerShell Cmdlet Get-AzExpressRouteServiceProvider 會傳回此資訊,您可以在後續步驟中使用:
Get-AzExpressRouteServiceProvider
檢查您的連線提供者是否已列在那裡。 記下下列資訊,稍後在建立線路時需要此資訊:
- 名稱
- PeeringLocations
- BandwidthsOffered
您現在已準備好建立 ExpressRoute 線路。
建立 ExpressRoute 線路
如果您還沒有資源群組,您必須先建立一個資源群組,才能建立 ExpressRoute 線路。 您可以執行下列命令來執行此動作:
New-AzResourceGroup -Name "ExpressRouteResourceGroup" -Location "West US"
下列範例示範如何透過矽谷的 Equinix 建立 200 Mbps ExpressRoute 線路。 如果您使用不同的提供者和不同的設定,請在提出要求時取代該資訊。 使用下列範例來要求新的服務金鑰:
New-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup" -Location "West US" -SkuTier Standard -SkuFamily MeteredData -ServiceProviderName "Equinix" -PeeringLocation "Silicon Valley" -BandwidthInMbps 200
請確定您指定正確的 SKU 層和 SKU 系列:
- SKU 層會判斷 ExpressRoute 線路是本機、標準或 進階版。 您可以指定 Local、*Standard 或 進階版。
- SKU 系列會決定計費類型。 您可以為計量數據計劃指定 MeteredData,併為無限制的數據計劃指定 UnlimitedData。 您可以將計費類型從 MeteredData 變更為 UnlimitedData,但無法將類型從 UnlimitedData 變更為 MeteredData。 本機線路一律為 UnlimitedData。
重要
您的 ExpressRoute 線路會從發出服務金鑰的那一刻起計費。 請確定當連線提供者準備好布建線路時,請執行這項作業。
回應包含服務金鑰。 您可以執行下列命令來取得所有參數的詳細描述:
get-help New-AzExpressRouteCircuit -detailed
列出所有 ExpressRoute 線路
若要取得您所建立的所有 ExpressRoute 線路列表,請執行 Get-AzExpressRouteCircuit 命令:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
回應看起來類似下列範例:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
您隨時可以使用 Get-AzExpressRouteCircuit
Cmdlet 擷取此資訊。 在沒有參數的呼叫時,會列出所有線路。 您的服務金鑰會列在 [ServiceKey ] 欄位中:
Get-AzExpressRouteCircuit
回應看起來類似下列範例:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : NotProvisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
將服務金鑰傳送至您的連線提供者以進行佈建
ServiceProviderProvisioningState 提供您在服務提供者端布建目前狀態的相關信息。 CircuitProvisioningState 提供您在 Microsoft 端的狀態。 如需線路布建狀態的詳細資訊,請參閱 工作流程。
當您建立新的 ExpressRoute 線路時,線路會是下列狀態:
ServiceProviderProvisioningState : NotProvisioned
CircuitProvisioningState : Enabled
當連線提供者目前為您啟用時,線路會變更為下列狀態:
ServiceProviderProvisioningState : Provisioning
CircuitProvisioningState : Enabled
若要使用 ExpressRoute 線路,它必須處於下列狀態:
ServiceProviderProvisioningState : Provisioned
CircuitProvisioningState : Enabled
定期檢查線路金鑰的狀態和狀態
檢查服務金鑰的狀態和狀態,可讓您知道提供者何時佈建線路。 設定線路之後, ServiceProviderProvisioningState 會顯示為 已布建,如下列範例所示:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
回應看起來類似下列範例:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
建立路由設定
如需逐步指示,請參閱 ExpressRoute 線路路由設定 一文,以建立和修改線路對等互連。
重要
這些指示僅適用於使用提供第 2 層連線服務的服務提供者所建立的線路。 如果您使用提供受控第 3 層服務的服務提供者(通常是 IP VPN,例如 MPLS),您的連線提供者會為您設定和管理路由。
將虛擬網路連結到 ExpressRoute 線路
接下來,將虛擬網路連結至 ExpressRoute 線路。 當您使用 Resource Manager 部署模型時,請使用將虛擬網路連結至 ExpressRoute 線路一文。
取得 ExpressRoute 線路的狀態
您可以使用 Get-AzExpressRouteCircuit Cmdlet 隨時擷取此資訊。 在沒有參數的呼叫時,會列出所有線路。
Get-AzExpressRouteCircuit
回應如下列範例所示:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
您可以將資源群組名稱和線路名稱當做參數傳遞至呼叫,以取得特定 ExpressRoute 線路的相關信息:
Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
回應看起來類似下列範例:
Name : ExpressRouteARMCircuit
ResourceGroupName : ExpressRouteResourceGroup
Location : westus
Id : /subscriptions/***************************/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit
Etag : W/"################################"
ProvisioningState : Succeeded
Sku : {
"Name": "Standard_MeteredData",
"Tier": "Standard",
"Family": "MeteredData"
}
CircuitProvisioningState : Enabled
ServiceProviderProvisioningState : Provisioned
ServiceProviderNotes :
ServiceProviderProperties : {
"ServiceProviderName": "Equinix",
"PeeringLocation": "Silicon Valley",
"BandwidthInMbps": 200
}
ServiceKey : **************************************
Peerings : []
您可以執行下列命令來取得所有參數的詳細描述:
get-help Get-AzExpressRouteCircuit -detailed
修改 ExpressRoute 線路
您可以修改 ExpressRoute 線路的某些屬性,而不會影響連線。
您可以執行下列工作,而無需中途停機:
- 啟用或停用 ExpressRoute 線路的 ExpressRoute 進階附加元件。
- 增加 ExpressRoute 線路的頻寬,前提是埠上有可用的容量。 不支援將線路的頻寬降級。
- 將計量方案從 [計量付費] 變更為 [無限制]。 不支援將計量計劃從無限制數據變更為計量數據。
- 您可以啟用和停用 [允許傳統作業] 。
如需限制的詳細資訊,請參閱 ExpressRoute 常見問題。
啟用 ExpressRoute 進階附加元件
您可以使用下列 PowerShell 代碼段,為您的現有線路啟用 ExpressRoute 進階附加元件:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Premium"
$ckt.sku.Name = "Premium_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
線路現在已啟用 ExpressRoute 進階附加元件功能。 一旦命令成功執行,我們就會開始為您收取進階附加元件功能的帳單。
停用 ExpressRoute 進階附加元件
重要
如果您使用的資源大於標準線路允許的資源,此作業可能會失敗。
請注意下列資訊︰
- 從進階降級為標準之前,您必須確定連結至線路的虛擬網路數目小於 10。 如果您不這樣做,更新要求就會失敗,且我們會以進階費率計費。
- 其他地理政治區域中的所有虛擬網路都必須先取消連結。 如果您未移除連結,您的更新要求會失敗,我們會繼續以進階費率向您收費。
- 就私用對等設定而言,路由表必須少於 4000 個路由。 如果您的路由表大小大於 4,000 個路由,BGP 會話就會卸除。 在公告前綴數目低於 4,000 之前,BGP 會話才會重新建立。
您可以使用下列 PowerShell Cmdlet 來停用現有線路的 ExpressRoute 進階附加元件:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Tier = "Standard"
$ckt.sku.Name = "Standard_MeteredData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
更新 ExpressRoute 線路頻寬
如需提供者支持的頻寬選項,請參閱 ExpressRoute 常見問題。 您可以挑選大於現有線路大小的任何大小。
重要
如果現有的連接埠上沒有足夠的容量,您可能必須重新建立 ExpressRoute 線路。 如果該位置已無額外的容量,您無法升級線路。
降低 ExpressRoute 線路的頻寬時必須中斷運作。 頻寬降級需要取消佈建 ExpressRoute 線路,然後重新佈建新的 ExpressRoute 線路。
決定您需要的大小之後,請使用下列命令來調整線路的大小:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.ServiceProviderProperties.BandwidthInMbps = 1000
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
您的線路會在 Microsoft 端升級。 然後,您必須連絡您的連線提供者,以更新其端的設定,以符合這項變更。 進行此通知之後,我們會開始為您收取更新頻寬選項的帳單。
將 SKU 從計量移至無限制
您可以使用下列 PowerShell 代碼段來變更 ExpressRoute 線路的 SKU:
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
$ckt.Sku.Family = "UnlimitedData"
$ckt.sku.Name = "Premium_UnlimitedData"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
控制傳統和 Resource Manager 環境的存取
檢閱將 ExpressRoute 線路從傳統移至 Resource Manager 部署模型中的指示。
取消布建 ExpressRoute 線路
請注意下列資訊︰
- 所有虛擬網路都必須從 ExpressRoute 線路取消連結。 如果此作業失敗,請確認是否有任何虛擬網路連結至循環。
- 如果 ExpressRoute 線路服務提供者佈建狀態為 Provisioning 或 Provisioned,您就必須與服務提供者一起合作,取消佈建他們那邊的線路。 我們會繼續保留資源並向您收取費用,直到線路服務提供者完成取消佈建並通知我們。
- 如果服務提供者取消布建線路,表示服務提供者布建狀態設定為 [未布建],您可以刪除線路。 線路的計費會停止。
清除資源
您可以執行下列命令來刪除 ExpressRoute 線路:
Remove-AzExpressRouteCircuit -ResourceGroupName "ExpressRouteResourceGroup" -Name "ExpressRouteARMCircuit"
下一步
建立線路並與您的提供者布建之後,請繼續進行下一個步驟來設定對等互連: