共用方式為


快速入門:使用 Azure PowerShell 建立和修改 ExpressRoute 線路

本快速入門說明如何使用 PowerShell Cmdlet 和 Azure Resource Manager 部署模型來建立 ExpressRoute 線路。 您也可以檢查狀態、更新、刪除或取消佈建線路。

使用 Azure PowerShell ExpressRoute 線路部署環境的圖表。

必要條件

Azure Cloud Shell

Azure Cloud Shell 是裝載於 Azure 中的互動式殼層環境,可在瀏覽器中使用。 您可以使用 Bash 或 PowerShell 搭配 Cloud Shell,與 Azure 服務共同使用。 您可以使用 Cloud Shell 預先安裝的命令,執行本文提到的程式碼,而不必在本機環境上安裝任何工具。

要啟動 Azure Cloud Shell:

選項 範例/連結
選取程式碼或命令區塊右上角的 [試試看]。 選取 [試試看] 並不會自動將程式碼或命令複製到 Cloud Shell 中。 Azure Cloud Shell 的「試試看」範例螢幕擷取畫面。
請前往 https://shell.azure.com,或選取 [啟動 Cloud Shell] 按鈕,在瀏覽器中開啟 Cloud Shell。 啟動 Azure Cloud Shell 的按鈕。
選取 Azure 入口網站右上方功能表列上的 [Cloud Shell] 按鈕。 顯示 Azure 入口網站中 Cloud Shell 按鈕的螢幕擷取畫面

若要使用 Azure Cloud Shell:

  1. 啟動 Cloud Shell。

  2. 選取程式碼區塊 (或命令區塊) 上的 [複製] 按鈕以複製程式碼或命令。

  3. 透過在 Windows 和 Linux 上選取 Ctrl+Shift+V;或在 macOS 上選取 Cmd+Shift+V,將程式碼或命令貼到 Cloud Shell 工作階段中。

  4. 選取 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 線路是本機、標準或進階。 您可以指定「本機」、「*標準」或「進階」
  • 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 擷取此資訊。 執行呼叫時,若未指定任何參數,將會列出所有線路。 [服務金鑰] 欄位會列出您的服務金鑰:

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] 會顯示為 [Provisioned],如下列範例所示:

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 線路。 當使用 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 個路由。 如果您的路由資料表大小大於 4000 個路由,BGP 工作階段會卸除。 直到已公告的前置詞數目低於 4000 之前,不會重新建立 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 線路服務提供者佈建狀態為 ProvisioningProvisioned,您就必須與服務提供者一起合作,取消佈建他們那邊的線路。 我們會繼續保留資源並向您收取費用,直到線路服務提供者完成取消佈建並通知我們。
  • 若服務提供者已取消佈建線路,表示服務提供者佈建狀態設定為 [未佈建],則您可以刪除線路。 針對循環的計費隨即會停止。

清除資源

您可以執行下列命令來刪除 ExpressRoute 線路:

Remove-AzExpressRouteCircuit -ResourceGroupName "ExpressRouteResourceGroup" -Name "ExpressRouteARMCircuit"

下一步

當您建立線路並與您的提供者進行佈建之後,請繼續進行下一個步驟來設定對等互連: