Aktivera integrering av virtuella nätverk i Azure App Service
Genom att integrera med ett virtuellt Azure-nätverk från din Azure App Service-app kan du nå privata resurser från din app i det virtuella nätverket.
Förutsättningar
Integreringsfunktionen för virtuella nätverk kräver:
- En Prisnivå för App Service som stöder integrering av virtuella nätverk.
- Ett virtuellt nätverk i samma region med ett tomt undernät.
Undernätet måste delegeras till Microsoft.Web/serverFarms. Om du inte delegerar före integreringen konfigurerar etableringsprocessen den här delegeringen. Undernätet måste allokeras ett IPv4-block /28
(16 adresser). Vi rekommenderar att du har minst 64 adresser (IPv4-block /26
) för maximal horisontell skalning.
Om det virtuella nätverket finns i en annan prenumeration än appen kontrollerar du att prenumerationen med det virtuella nätverket är registrerad för resursprovidern Microsoft.Web
. Providern registreras när du skapar den första webbappen i en prenumeration. Information om hur du registrerar providern finns i Registrera resursprovider.
Konfigurera i Azure Portal
Gå till din app i Azure Portal. Välj Inställningar>Nätverk. Under Konfiguration av utgående trafik bredvid Integrering av virtuellt nätverk väljer du länken Inte konfigurerad.
Välj Lägg till integrering av virtuellt nätverk.
Välj en prenumeration och ett virtuellt nätverk.
Under Undernät innehåller listrutan alla virtuella nätverk i din prenumeration i samma region. Välj ett tomt befintligt undernät eller skapa ett nytt undernät. Välj Anslut.
Under integreringen startas appen om. När integreringen är klar visas information om det virtuella nätverk som du har integrerat med.
Konfigurera med Azure CLI
Du kan också konfigurera integrering av virtuella nätverk med hjälp av Azure CLI:
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Kommentar
Kommandot kontrollerar om undernätet har delegerats till Microsoft.Web/serverFarms. Om den inte har konfigurerats tillämpar kommandot den nödvändiga delegeringen. Om undernätet har konfigurerats och du inte har behörighet att kontrollera det, eller om det virtuella nätverket finns i en annan prenumeration, kan du använda parametern --skip-delegation-check
för att kringgå verifieringen.
Konfigurera med Azure PowerShell
Förbered parametrar.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
Kommentar
Om det virtuella nätverket finns i en annan prenumeration än en webbapp kan du använda
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
kommandot för att ange den aktuella prenumerationskontexten. Ange den aktuella prenumerationskontexten till prenumerationen där det virtuella nätverket distribuerades.Kontrollera om undernätet har delegerats till Microsoft.Web/serverFarms.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
Om ditt undernät inte har delegerats till Microsoft.Web/serverFarms lägger du till delegering med hjälp av dessa kommandon.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Konfigurera integrering av virtuella nätverk.
$subnetResourceId = "/subscriptions/$vNetSubscriptionId/resourceGroups/$vNetResourceGroupName/providers/Microsoft.Network/virtualNetworks/$vNetName/subnets/$integrationSubnetName" $webApp = Get-AzResource -ResourceType Microsoft.Web/sites -ResourceGroupName $webAppResourceGroupName -ResourceName $siteName $webApp.Properties.virtualNetworkSubnetId = $subnetResourceId $webApp.Properties.vnetRouteAllEnabled = 'true' $webApp | Set-AzResource -Force
Kommentar
Om webbappen finns i en annan prenumeration än ett virtuellt nätverk kan du använda
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
kommandot för att ange den aktuella prenumerationskontexten. Ange den aktuella prenumerationskontexten till prenumerationen där webbappen distribuerades.