本文可協助您了解 Microsoft.Network 資源的各種佈建狀態意義。 您可以有效針對 [失敗] 狀態的情況進行疑難排解。
若本文中未提及您的 Azure 問題,請前往 Microsoft Q&A 及 Stack Overflow 上的 Azure 論壇。 您可以在這些論壇中張貼您的問題,或將問題貼到 Twitter 上的 @AzureSupport。 您也可以提交 Azure 支援要求。 若要提交支援要求,請在 Azure 支援頁面上,選取 [取得支援]。
佈建狀態
佈建狀態是使用者在 Azure Resource Manager 資源上所起始的控制平面作業狀態。
| 佈建狀態 | 描述 |
|---|---|
| 更新 | 正在建立或更新資源。 |
| 失敗 | 資源上的最後一個作業失敗。 |
| 成功 | 資源上的最後一個作業成功。 |
| 刪除中 | 正在刪除資源。 |
| 移轉 | 從 Azure Service Manager 移轉至 Azure Resource Manager 時看到。 |
這些狀態是資源的中繼資料屬性。 這些與資源本身的功能無關。 處於失敗狀態不一定表示資源無法運作。 在大多數情況下,資源還是可以繼續運作及處理流量,而不會發生問題。
在數個案例中,若資源處於失敗狀態,該資源上的其他作業或相依於該資源的其他資源,則可能會失敗。 您必須在執行其他作業之前,將狀態還原回成功。
例如,如果作業內含失敗狀態的相依 VirtualNetworkGatewayConnection 物件,則您無法在 VirtualNetworkGateway 上執行作業。
透過 PUT 作業還原成功狀態
若要還原成功狀態,請在資源上執行另一個寫入 (PUT) 作業。
導致上一個作業的問題可能不再保持為最新狀態。 較新的寫入作業應能成功並還原佈建狀態。
完成此工作最簡單的方式是使用 Azure PowerShell。 發出資源特定的 Get 命令,以擷取資源的所有目前組態。 接下來,執行 Set 命令或對等命令,以將寫入作業認可至 Azure,其中包含目前設定的所有資源屬性。
重要
- 在資源上執行
Set命令而不先執行Get,會導致以預設設定覆寫資源。 這些設定可能與您目前完成的設定不同。 除非您打算重設為預設值,否則不要只執行Set命令。 - 使用第三方軟體或任何使用舊版 API 的工具來執行
Get和Set作業,也可能會導致某些設定遺失。 這些設定可能不會顯示於您執行命令的 API 版本。
用來還原成功佈建狀態的 Azure PowerShell Cmdlet
本文中的步驟和範例會使用 Azure PowerShell Az 模組。 若要在您的電腦本機上安裝 Az 模組,請參閱安裝 Azure PowerShell。 若要深入了解新的 Az 模組,請參閱新的 Azure PowerShell Az 模組簡介。 PowerShell Cmdlet 會經常更新。 如果您未執行最新版本,指示中指定的值可能會失敗。 若要在您的系統上尋找已安裝的 PowerShell 版本,請使用 Get-Module -ListAvailable Az Cmdlet。
初步作業
安裝最新版的 Azure Resource Manager PowerShell Cmdlet。 如需詳細資訊,請參閱安裝 Azure PowerShell 模組。
以提高的權限開啟 PowerShell 主控台並連線至您的帳戶。 使用下列範例來協助您連線:
Connect-AzAccount如果您有多個 Azure 訂用帳戶,請檢查帳戶的訂用帳戶。
Get-AzSubscription指定您要使用的訂用帳戶。
Select-AzSubscription -SubscriptionName "Replace_with_your_subscription_name"在下列各節中執行資源特定的命令來重設佈建狀態。
注意
本文中的每個範例命令都會對資源的名稱使用 your_resource_name 並對資源群組的名稱使用 your_resource_group_name。 請務必以適當資源和資源群組名稱來取代這些字串,以供您的部署使用。
Microsoft.Network/applicationGateways
Get-AzApplicationGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzApplicationGateway
Microsoft.Network/applicationGatewayWebApplicationFirewallPolicies
Get-AzApplicationGatewayFirewallPolicy -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzApplicationGatewayFirewallPolicy
Microsoft.Network/azureFirewalls
Get-AzFirewall -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzFirewall
Microsoft.Network/bastionHosts
$bastion = Get-AzBastion -Name "your_resource_name" -ResourceGroupName "your_resource_group_name"
Set-AzBastion -InputObject $bastion
Microsoft.Network/connections
Get-AzVirtualNetworkGatewayConnection -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzVirtualNetworkGatewayConnection
Microsoft.Network/expressRouteCircuits
Get-AzExpressRouteCircuit -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzExpressRouteCircuit
Microsoft.Network/expressRouteGateways
Get-AzExpressRouteGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzExpressRouteGateway
注意
Microsoft.Network/expressRouteGateways 部署在虛擬 WAN 內。 如果您的虛擬網路中有獨立的 ExpressRoute 閘道,請執行與 Microsoft.Network/virtualNetworkGateways 相關的命令。
Microsoft.Network/expressRoutePorts
Get-AzExpressRoutePort -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzExpressRoutePort
Microsoft.Network/firewallPolicies
Get-AzFirewallPolicy -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzFirewallPolicy
Microsoft.Network/loadBalancers
Get-AzLoadBalancer -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzLoadBalancer
Microsoft.Network/localNetworkGateways
Get-AzLocalNetworkGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzLocalNetworkGateway
Microsoft.Network/natGateways
Get-AzNatGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzNatGateway
Microsoft.Network/networkInterfaces
Get-AzNetworkInterface -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzNetworkInterface
Microsoft.Network/networkSecurityGroups
Get-AzNetworkSecurityGroup -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzNetworkSecurityGroup
Microsoft.Network/networkVirtualAppliances
Get-AzNetworkVirtualAppliance -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzNetworkVirtualAppliance
注意
大部分的虛擬 WAN 相關資源 (例如 networkVirtualAppliances) 會對寫入作業使用 Update Cmdlet,而非 Set。
Microsoft.Network/privateDnsZones
Get-AzPrivateDnsZone -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzPrivateDnsZone
Microsoft.Network/privateEndpoints
Get-AzPrivateEndpoint -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzPrivateEndpoint
Microsoft.Network/privateLinkServices
Get-AzPrivateLinkService -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzPrivateLinkService
Microsoft.Network/publicIpAddresses
Get-AzPublicIpAddress -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzPublicIpAddress
Microsoft.Network/routeFilters
Get-AzRouteFilter -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzRouteFilter
Microsoft.Network/routeTables
Get-AzRouteTable -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzRouteTable
Microsoft.Network/virtualHubs
Get-AzVirtualHub -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVirtualHub
注意
大部分的虛擬 WAN 相關資源 (例如 virtualHubs) 會對寫入作業使用 Update Cmdlet,而非 Set。
Microsoft.Network/virtualNetworkGateways
Get-AzVirtualNetworkGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzVirtualNetworkGateway
Microsoft.Network/virtualNetworks
Get-AzVirtualNetwork -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Set-AzVirtualNetwork
Microsoft.Network/virtualWans
Get-AzVirtualWan -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVirtualWan
注意
大部分的虛擬 WAN 相關資源 (例如 virtualWans) 會對寫入作業使用 Update Cmdlet,而非 Set。
Microsoft.Network/vpnGateways
Get-AzVpnGateway -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVpnGateway
注意
Microsoft.Network/vpnGateways部署在虛擬 WAN 內。 如果您的虛擬網路中有獨立的 VPN 閘道,請執行與 Microsoft.Network/virtualNetworkGateways 相關的命令。- 大部分的虛擬 WAN 相關資源 (例如 vpnGateways) 會對寫入作業使用
UpdateCmdlet,而非Set。
Microsoft.Network/vpnSites
Get-AzVpnSite -Name "your_resource_name" -ResourceGroupName "your_resource_group_name" | Update-AzVpnSite
注意
大部分的虛擬 WAN 相關資源 (例如 vpnSites) 會對寫入作業使用 Update Cmdlet,而非 Set。
下一步
如果您執行的命令未解決失敗狀態,應該會傳回錯誤碼。 大部分的錯誤碼都包含詳細的描述,指出可能的問題,並提供解決問題的提示。
如果問題仍未解決,請向 Microsoft 支援服務提交支援票證。 向支援代理程式指定您在最新作業中收到的錯誤碼,以及執行作業時的時間戳記。