使用 Azure PowerShell 重設 ExpressRoute 線路對等互連
本文描述如何使用 PowerShell 來啟用和停用 ExpressRoute 線路的對等互連。 當您建立對等互連時,預設會啟用這些對等互連。 當您停用對等互連時,ExpressRoute 線路的主要與次要連線上的 BGP 工作階段會中斷連線。 您會失去此對等互連對 Microsoft 的連線能力。 當您啟用對等互連時,ExpressRoute 線路的主要與次要連線上的 BGP 工作階段都會建立。 此對等互連對 Microsoft 的連線能力會重新連線。 您可以在 ExpressRoute 線路上單獨針對 Microsoft 對等互連和 Azure 私人對等互連啟用和停用對等互連。
有兩個案例可能會讓您覺得重設 ExpressRoute 對等互連很實用。
- 如果想要測試您的災害復原設計和實作。 例如,您有兩個 ExpressRoute 線路。 您可以停用一個線路的對等互連,並強制將網路流量容錯移轉至另一個線路。
- 在 ExpressRoute 線路的 Azure 私人對等互連或 Microsoft 對等互連上啟用雙向轉送偵測 (BFD)。 如果您在 2018 年 8 月 1 日之後建立 ExpressRoute 線路,而且若是 Microsoft 對等互連,在 2020 年 1 月 10 日之後建立,則預設會在 Azure 私人對等互連上啟用 BFD。 如果您的線路是在列出的日期之前建立,您需要重設對等互連,才能啟用 BFD。
使用 Azure PowerShell
本文中的步驟和範例會使用 Azure PowerShell Az 模組。 若要在您的電腦本機上安裝 Az 模組,請參閱安裝 Azure PowerShell。 若要深入了解新的 Az 模組,請參閱新的 Azure PowerShell Az 模組簡介。 PowerShell Cmdlet 會經常更新。 如果您未執行最新版本,指示中指定的值可能會失敗。 若要在您的系統上尋找已安裝的 PowerShell 版本,請使用 Get-Module -ListAvailable Az
Cmdlet。
您可以使用 Azure Cloud Shell 來執行大部分的 PowerShell Cmdlet 和 CLI 命令,而不用在本機安裝 Azure PowerShell 或 CLI。 Azure Cloud Shell 是一個免費的互動式殼層,具有預先安裝和設定的通用 Azure 工具,可與您的帳戶搭配使用。 若要在 Azure Cloud Shell 上執行本文所包含的任何程式碼,請開啟 Cloud Shell 工作階段、使用某個程式碼區塊上的 [複製] 按鈕來複製程式碼,然後使用 Ctrl+Shift+V (在 Windows 和 Linux 上) 或 Cmd+Shift+V (在 macOS 上) 將程式碼貼到 Cloud Shell 工作階段中。 貼上的文字不會自動執行,請按下 Enter 鍵來執行程式碼。
以下有幾種啟動 Cloud Shell 的方式:
選項 | 連結 |
---|---|
按一下程式碼區塊右上角的 [試試看]。 | |
在您的瀏覽器中開啟 Cloud Shell。 | |
按一下 Azure 入口網站右上方功能表上的 [Cloud Shell] 按鈕。 | |
重設對等互連
如果您在本機執行 PowerShell,請以提高的權限開啟 PowerShell 主控台並連線至您的帳戶。 使用下列範例來協助您連線:
Connect-AzAccount
如果您有多個 Azure 訂用帳戶,請檢查帳戶的訂用帳戶。
Get-AzSubscription
指定您要使用的訂用帳戶。
Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"
執行下列命令來擷取您的 ExpressRoute 線路。
$ckt = Get-AzExpressRouteCircuit -Name "ExpressRouteARMCircuit" -ResourceGroupName "ExpressRouteResourceGroup"
識別您想要停用或啟用的對等互連。 「對等互連」是一個陣列。 在下列範例中,Peerings[0] 是 Azure 私用對等互連,而 Peerings[1] 是 Microsoft 對等互連。
Name : ExpressRouteARMCircuit ResourceGroupName : ExpressRouteResourceGroup Location : westus Id : /subscriptions/########-####-####-####-############/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit Etag : W/"cd011bef-dc79-49eb-b4c6-81fb6ea5d178" ProvisioningState : Succeeded Sku : { "Name": "Standard_MeteredData", "Tier": "Standard", "Family": "MeteredData" } CircuitProvisioningState : Enabled ServiceProviderProvisioningState : Provisioned ServiceProviderNotes : ServiceProviderProperties : { "ServiceProviderName": "Coresite", "PeeringLocation": "Los Angeles", "BandwidthInMbps": 50 } ServiceKey : ########-####-####-####-############ Peerings : [ { "Name": "AzurePrivatePeering", "Etag": "W/\"cd011bef-dc79-49eb-b4c6-81fb6ea5d178\"", "Id": "/subscriptions/########-####-####-####-############/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit/peerings/AzurePrivatePeering", "PeeringType": "AzurePrivatePeering", "State": "Enabled", "AzureASN": 12076, "PeerASN": 123, "PrimaryPeerAddressPrefix": "10.0.0.0/30", "SecondaryPeerAddressPrefix": "10.0.0.4/30", "PrimaryAzurePort": "", "SecondaryAzurePort": "", "VlanId": 789, "MicrosoftPeeringConfig": { "AdvertisedPublicPrefixes": [], "AdvertisedCommunities": [], "AdvertisedPublicPrefixesState": "NotConfigured", "CustomerASN": 0, "LegacyMode": 0, "RoutingRegistryName": "NONE" }, "ProvisioningState": "Succeeded", "GatewayManagerEtag": "", "LastModifiedBy": "Customer", "Connections": [] }, { "Name": "MicrosoftPeering", "Etag": "W/\"cd011bef-dc79-49eb-b4c6-81fb6ea5d178\"", "Id": "/subscriptions/########-####-####-####-############/resourceGroups/ExpressRouteResourceGroup/providers/Microsoft.Network/expressRouteCircuits/ExpressRouteARMCircuit/peerings/MicrosoftPeering", "PeeringType": "MicrosoftPeering", "State": "Enabled", "AzureASN": 12076, "PeerASN": 123, "PrimaryPeerAddressPrefix": "3.0.0.0/30", "SecondaryPeerAddressPrefix": "3.0.0.4/30", "PrimaryAzurePort": "", "SecondaryAzurePort": "", "VlanId": 345, "MicrosoftPeeringConfig": { "AdvertisedPublicPrefixes": [ "3.0.0.3/32" ], "AdvertisedCommunities": [], "AdvertisedPublicPrefixesState": "ValidationNeeded", "CustomerASN": 0, "LegacyMode": 0, "RoutingRegistryName": "NONE" }, "ProvisioningState": "Succeeded", "GatewayManagerEtag": "", "LastModifiedBy": "Customer", "Connections": [] } ] Authorizations : [] AllowClassicOperations : False GatewayManagerEtag :
執行下列命令,將對等互連狀態變更為停用。
$ckt.Peerings[0].State = "Disabled" Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
對等互連應該處於您所設定的停用狀態。
執行下列命令,將對等互連狀態變更回啟用。
$ckt.Peerings[0].State = "Enabled" Set-AzExpressRouteCircuit -ExpressRouteCircuit $ckt
對等互連應該處於您所設定的啟用狀態。
下一步
如果您需要協助,針對 ExpressRoute 問題進行疑難排解,請參閱下列文章: