目前Azure 门户上已经具备将应用服务集成到虚拟网络,如下:
https://docs.azure.cn/zh-cn/app-service/web-sites-integrate-with-vnet
但是当遇到故障问题是,比如已经取消关联后,仍然具备对应的ServiceAssociationLinks时,就需要使用PowerShell 尝试修复。如下:
创建应用服务集成到虚拟网络
$sitename="VNET-ABTCN-STAGING"
$resourcegroupname="RG-NETWORK-STAGING"
$VNetname="shaobowebapp"
$location="China East 2"
$integrationsubnetname = "default"
$subscriptionID = "74e6d0b0-b200-4673-90b4-40aefa9d3e5c"
#Property array with the SubnetID
$properties = @{
"subnetResourceId" = "/subscriptions/"+$subscriptionID+"/resourceGroups/"+$resourcegroupname+"/providers/Microsoft.Network/virtualNetworks/"+$VNetname+"/subnets/"+$integrationsubnetname;
}
#Creation of the VNet integration
$resourceID = $sitename+"/VirtualNetwork"
New-AzResource -ResourceName $resourceID `
-Location $location `
-ResourceGroupName $resourcegroupname `
-ResourceType Microsoft.Web/sites/networkConfig `
-PropertyObject $properties
移除虚拟网络集成
Remove-AzResource -ResourceId /subscriptions/74e6d0b0-b200-4673-90b4-40aefa9d3e5c/resourceGroups/webapp/providers/Microsoft.Web/sites/shaobowebapp/config/virtualNetwork -Force
移除委派关系
$vnet = Get-AzVirtualNetwork -Name VNET-ABTCN-STAGING -ResourceGroupName RG-NETWORK-STAGING
$subnet = Get-AzVirtualNetworkSubnetConfig -Name SN-10.180.98.0-26-APPSRVS -VirtualNetwork $vnet
$subnet = Remove-AzDelegation -Name $vnet.Subnets[0].Delegations[0].Name -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet
以上。谢谢。