Partager via


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 :

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

  1. 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é.

  2. Sélectionnez Ajouter une intégration de réseau virtuel.

    Capture d’écran montrant la sélection d’une intégration de réseau virtuel.

  3. Sélectionnez un abonnement et un réseau virtuel.

  4. 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.

    Capture d’écran montrant la sélection du réseau virtuel.

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

  1. 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é.

  2. 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
    
  3. 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
    
  4. 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.