Découvrir les fonctionnalités de mise en réseau App Service

Effectué

Par défaut, les applications hébergées dans App Service sont accessibles directement via Internet et peuvent atteindre uniquement des points de terminaison hébergés sur Internet. Toutefois, pour bon nombre d’applications, vous devez contrôler le trafic réseau entrant et sortant.

Il existe deux types de déploiement principaux pour Azure App Service. Le service public mutualisé héberge des plans App Service dans les niveaux tarifaires Gratuit, Partagé, De base, Standard, Premium, PremiumV2 et PremiumV3. L’environnement Azure App Service Environment (ASE) de locataire unique héberge également les plans App Service de référence SKU Isolé directement dans votre réseau virtuel Azure.

Fonctionnalités de mise en réseau App Service multilocataire

Azure App Service est un système distribué. Les rôles qui gèrent les requêtes HTTP/HTTPS entrantes sont appelés serveurs frontaux. Les rôles qui hébergent la charge de travail du client sont appelés rôles de travail. Tous les rôles d’un déploiement App Service existent dans un réseau multilocataire. Comme il existe de nombreux clients différents dans la même unité d’échelle App Service, vous ne pouvez pas connecter le réseau App Service directement à votre réseau.

Au lieu de connecter les réseaux, vous avez besoin de fonctionnalités pour gérer les différents aspects de la communication de l’application. Les fonctionnalités qui gèrent les demandes vers votre application ne peuvent pas être utilisées pour résoudre des problèmes lorsque des appels sont effectués depuis votre application. De même, les fonctionnalités qui résolvent des problèmes pour les appels depuis votre application ne peuvent pas être utilisées pour résoudre des problèmes vers votre application.

Fonctionnalités en entrée Fonctionnalités en sortie
Adresse attribuée par l’application les connexions hybrides
Restrictions d'accès Intégration au réseau virtuel avec passerelle obligatoire
Points de terminaison de service Intégration du réseau virtuel
Instances Private Endpoint

Vous pouvez combiner les fonctionnalités pour résoudre vos problèmes, à quelques exceptions près. Les cas d’utilisation entrants suivants sont des exemples d’utilisation des fonctionnalités de mise en réseau d’App Service pour contrôler le trafic entrant dans votre application.

Cas d’usage en entrée Fonctionnalité
Prendre en charge les besoins SSL en fonction des adresses IP pour votre application Adresse attribuée par l’application
Prendre en charge une adresse entrante dédiée non partagée pour votre application Adresse attribuée par l’application
Restreindre l’accès à votre application à partir d’un ensemble d’adresses bien définies Restrictions d'accès

Comportement de mise en réseau par défaut

Des unités d’échelle Azure App Service prennent en charge de nombreux clients dans chaque déploiement. Les plans de référence SKU Gratuit et Partagé hébergent des charges de travail client sur des rôles de travail mutualisés. Les plans De base et supérieurs hébergent les charges de travail client dédiées sur un seul plan App Service. Si vous avez un plan App Service Standard, toutes les applications dans ce plan s’exécutent sur le même rôle de travail. Si vous effectuez un scale-out du rôle de travail, toutes les applications de ce plan App Service sont répliquées sur un nouveau rôle de travail pour chaque instance de votre plan App Service.

Adresses sortantes

Les machines virtuelles de travail sont décomposées en grande partie par les plans App Service. Les plans Gratuit, Partagé, De base, Standard et Premium utilisent tous le même type de machine virtuelle de travail. Le plan PremiumV2 utilise un autre type de machine virtuelle. Le plan PremiumV3 utilise encore un autre type de machine virtuelle. Lorsque vous modifiez la famille de machines virtuelles, vous recevez un autre ensemble d’adresses sortantes.

Un grand nombre d’adresses sont utilisées pour des appels sortants. Les adresses sortantes utilisées par votre application pour effectuer des appels sortants sont répertoriées dans les propriétés de votre application. Ces adresses sont partagées par toutes les applications qui s’exécutent sur la même famille de machines virtuelles de travail dans le déploiement App Service. Si vous souhaitez voir toutes les adresses que votre application peut utiliser dans une unité d’échelle, il existe une propriété appelée possibleOutboundIpAddresses qui permet d’en dresser la liste.

Trouver des adresses IP sortantes

Pour trouver les adresses IP sortantes utilisées par votre application dans le portail Azure, sélectionnez Propriétés dans le volet de navigation gauche de votre application.

Vous pouvez obtenir les mêmes informations en exécutant la commande Azure CLI suivante dans Cloud Shell. Elles sont listées dans le champ Adresses IP sortantes supplémentaires.

az webapp show \
    --resource-group <group_name> \
    --name <app_name> \ 
    --query outboundIpAddresses \
    --output tsv

Pour rechercher toutes les adresses IP sortantes possibles pour votre application, quels que soit les niveaux de tarification, exécutez la commande suivante dans Cloud Shell.

az webapp show \
    --resource-group <group_name> \ 
    --name <app_name> \ 
    --query possibleOutboundIpAddresses \
    --output tsv