Activer l’intégration au réseau virtuel dans Azure App Service
En intégrant votre application Azure App Service à un réseau virtuel Azure, vous pouvez accéder à des ressources privées à partir de votre application dans le réseau virtuel.
Prérequis
La fonctionnalité d’intégration au réseau virtuel requiert les éléments suivants :
- Un niveau tarifaire App Service qui prend en charge l’intégration au réseau virtuel.
- Un réseau virtuel dans la même région avec un sous-réseau vide.
Le sous-réseau doit être délégué à Microsoft.Web/serverFarms. Si vous ne déléguez avant intégration, le processus d’approvisionnement configure cette délégation. Le sous-réseau doit avoir un bloc IPv4 /28
(16 adresses). Nous vous recommandons d’avoir un minimum de 64 adresses (bloc IPv4 /26
) pour permettre une échelle horizontale maximale.
Si le réseau virtuel se trouve dans un abonnement différent de celui de l’application, assurez-vous que l’abonnement contenant le réseau virtuel est inscrit auprès du fournisseur de ressources Microsoft.Web
. Le fournisseur est inscrit quand vous créez la première application web dans un abonnement. Pour inscrire explicitement le fournisseur, consultez Inscrire un fournisseur de ressources.
Configurer dans le portail Azure
Accédez à votre application dans le portail Azure. Sélectionnez Paramètres>Mise en réseau. Sous Configuration du trafic sortant, à côté d’Intégration d’un réseau virtuel, sélectionnez le lien Non configuré.
Sélectionnez Ajouter une intégration de réseau virtuel.
Sélectionnez un abonnement et un réseau virtuel.
Sous Sous-réseau, la liste déroulante contient tous les réseaux virtuels de votre abonnement dans la même région. Sélectionnez un sous-réseau vide existant ou créez en un. Sélectionnez Connecter.
Lors de l’intégration, votre application est redémarrée. Une fois l’intégration terminée, vous voyez les détails du réseau virtuel auquel vous êtes intégré.
Configurer avec Azure CLI
Vous pouvez également configurer l’intégration au réseau virtuel à l’aide d’Azure CLI :
az webapp vnet-integration add --resource-group <group-name> --name <app-name> --vnet <vnet-name> --subnet <subnet-name>
Remarque
La commande vérifie si le sous-réseau est délégué à Microsoft.Web/serverFarms. S’il n’est pas configuré, la commande applique la délégation nécessaire. Si le sous-réseau a été configuré et que vous n’avez pas les autorisations nécessaires pour le vérifier, ou si le réseau virtuel se trouve dans un autre abonnement, vous pouvez utiliser le paramètre --skip-delegation-check
pour contourner la validation.
Configurer avec Azure PowerShell
Préparer les paramètres.
$siteName = '<app-name>' $vNetResourceGroupName = '<group-name>' $webAppResourceGroupName = '<group-name>' $vNetName = '<vnet-name>' $integrationSubnetName = '<subnet-name>' $vNetSubscriptionId = '<subscription-guid>'
Remarque
Si le réseau virtuel se trouve dans un autre abonnement que l’application web, vous pouvez utiliser la commande
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
pour définir le contexte d’abonnement actuel. Définissez le contexte d’abonnement actuel sur l’abonnement dans lequel le réseau virtuel a été déployé.Vérifiez si le sous-réseau est délégué à Microsoft.Web/serverFarms.
$vnet = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $vNetResourceGroupName $subnet = Get-AzVirtualNetworkSubnetConfig -Name $integrationSubnetName -VirtualNetwork $vnet Get-AzDelegation -Subnet $subnet
Si votre sous-réseau n’est pas délégué à Microsoft.Web/serverFarms, ajoutez la délégation à l’aide de ces commandes.
$subnet = Add-AzDelegation -Name "myDelegation" -ServiceName "Microsoft.Web/serverFarms" -Subnet $subnet Set-AzVirtualNetwork -VirtualNetwork $vnet
Configurez l’intégration au réseau virtuel.
$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
Remarque
Si l’application web se trouve dans un autre abonnement que le réseau virtuel, vous pouvez utiliser la commande
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
pour définir le contexte d’abonnement actuel. Définissez le contexte d’abonnement actuel sur l’abonnement dans lequel l’application web a été déployée.