Share via


Integratie van virtuele netwerken inschakelen in Azure App Service

Door te integreren met een virtueel Azure-netwerk vanuit uw Azure App Service-app, kunt u privéresources bereiken vanuit uw app in het virtuele netwerk.

Vereisten

Voor de functie voor integratie van virtuele netwerken is het volgende vereist:

Het subnet moet worden gedelegeerd aan Microsoft.Web/serverFarms. Als de delegering niet vóór de integratie wordt uitgevoerd, configureert het inrichtingsproces deze delegatie. Aan het subnet moet een IPv4-blok /28 (16 adressen) worden toegewezen. U wordt aangeraden minimaal 64 adressen (IPv4-blok /26 ) te hebben om maximale horizontale schaal mogelijk te maken.

Als het virtuele netwerk zich in een ander abonnement bevindt dan de app, moet u ervoor zorgen dat het abonnement bij het virtuele netwerk is geregistreerd voor de Microsoft.Web resourceprovider. U kunt de provider expliciet registreren door deze documentatie te volgen, maar deze wordt automatisch geregistreerd wanneer u de eerste web-app in een abonnement maakt.

Configureren in de Azure Portal

  1. Ga naar Netwerken in de App Service-portal. Selecteer onder Configuratie van uitgaand verkeerde optie Integratie van virtueel netwerk.

  2. Selecteer Integratie van virtueel netwerk toevoegen.

    Schermopname van het selecteren van Integratie van virtueel netwerk.

  3. De vervolgkeuzelijst bevat alle virtuele netwerken in uw abonnement in dezelfde regio. Selecteer een leeg, vooraf bestaand subnet of maak een nieuw subnet.

    Schermopname van het selecteren van het virtuele netwerk.

Tijdens de integratie wordt uw app opnieuw opgestart. Wanneer de integratie is voltooid, ziet u details over het virtuele netwerk waarmee u bent geïntegreerd.

Configureren met de Azure CLI

U kunt de integratie van virtuele netwerken ook configureren met behulp van de Azure CLI:

az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>

Notitie

Met de opdracht wordt gecontroleerd of het subnet is gedelegeerd aan Microsoft.Web/serverFarms en wordt de benodigde delegatie toegepast als dit niet is geconfigureerd. Als het subnet is geconfigureerd en u geen machtigingen hebt om het te controleren of als het virtuele netwerk zich in een ander abonnement bevindt, kunt u de --skip-delegation-check parameter gebruiken om de validatie te omzeilen.

Configureren met Azure PowerShell

Parameters voorbereiden.

$siteName = '<app-name>'
$vNetResourceGroupName = '<group-name>'
$webAppResourceGroupName = '<group-name>'
$vNetName = '<vnet-name>'
$integrationSubnetName = '<subnet-name>'
$vNetSubscriptionId = '<subscription-guid>'

Notitie

Als het virtuele netwerk zich in een ander abonnement dan web-app bevindt, kunt u de opdracht Set-AzContext -Subscription 'xxxx-xxxx-xxxx-xxxx' gebruiken om de huidige abonnementscontext in te stellen. Stel de huidige abonnementscontext in op het abonnement waarin het virtuele netwerk is geïmplementeerd.

Controleer of het subnet is gedelegeerd aan Microsoft.Web/serverFarms.

$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet
Get-AzDelegation -Subnet $subnet

Als uw subnet niet is gedelegeerd aan Microsoft.Web/serverFarms, voegt u delegatie toe met behulp van de onderstaande opdrachten.

$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet
Set-AzVirtualNetwork -VirtualNetwork $vnet

Virtuele netwerkintegratie configureren.

Notitie

Als de web-app zich in een ander abonnement dan het virtuele netwerk bevindt, kunt u de opdracht Set-AzContext -Subscription 'xxxx-xxxx-xxxx-xxxx' gebruiken om de huidige abonnementscontext in te stellen. Stel de huidige abonnementscontext in op het abonnement waarin de web-app is geïmplementeerd.

$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

Volgende stappen