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:
- Een App Service prijscategorie die ondersteuning biedt voor integratie van virtuele netwerken.
- Een virtueel netwerk in dezelfde regio met een leeg subnet.
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
Ga naar Netwerken in de App Service-portal. Selecteer onder Configuratie van uitgaand verkeerde optie Integratie van virtueel netwerk.
Selecteer Integratie van virtueel netwerk toevoegen.
De vervolgkeuzelijst bevat alle virtuele netwerken in uw abonnement in dezelfde regio. Selecteer een leeg, vooraf bestaand subnet of maak een nieuw subnet.
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