Adresses IP entrantes et sortantes dans Azure App Service

Azure App Service est un service mutualisé, à l’exception des environnements App Service. Les applications qui ne sont pas dans un environnement App Service (pas dans le niveau Isolé) partagent l’infrastructure réseau avec d’autres applications. Par conséquent, les adresses IP entrantes et sortantes d’une application peuvent être différentes et peuvent même changer dans certaines situations.

Les environnements App Service utilisent des infrastructures réseau dédiées, afin que les applications s’exécutant dans un environnement App Service obtiennent des adresses IP statiques dédiées pour les connexions entrantes et sortantes.

Fonctionnement des adresses IP dans App Service

Une application App Service fonctionne dans un plan App Service, et les plans App Service sont déployés dans l’une des unités de déploiement de l’infrastructure Azure (appelée en interne un espace web). À chaque unité de déploiement, un ensemble d’adresses IP virtuelles est attribué, y compris une adresse IP entrante publique et un ensemble d’adresses IP sortantes. Tous les plans App Service dans la même unité de déploiement, et les instances d’applications qui y sont exécutées, partagent le même ensemble d’adresses IP virtuelles. Pour un environnement App Service Environment (plan App Service de niveau Isolé), le plan App Service est l’unité de déploiement proprement dite, de sorte que les adresses IP virtuelles lui sont dédiées en conséquence.

Comme vous n’êtes pas autorisé à déplacer un plan App Service entre des unités de déploiement, les adresses IP virtuelles attribuées à votre application restent généralement les mêmes, mais il existe des exceptions.

Lorsque l’adresse IP entrante change

Quel que soit le nombre d’instances scale-out, chaque application a une seule adresse IP entrante. L’adresse IP entrante peut changer lorsque vous effectuez l’une des actions suivantes :

  • Supprimer une application, puis la recréer dans un autre groupe de ressources (l’unité de déploiement peut changer).
  • Supprimer la dernière application dans une combinaison de groupe de ressources et de région, puis la recréer (l’unité de déploiement peut changer).
  • Supprimer une liaison TLS/SSL sur IP existante, comme pendant un renouvellement de certificat (voir Renouveler un certificat).

Rechercher l’IP entrante

Il vous suffit d’exécuter la commande suivante dans un terminal local :

nslookup <app-name>.azurewebsites.net

Obtenir une adresse IP entrante statique

Vous pouvez avoir besoin d’une adresse IP statique dédiée pour votre application. Pour obtenir une adresse IP statique entrante, vous devez sécuriser un nom DNS personnalisé avec une liaison de certificat basée sur l’IP. Si vous n’avez pas besoin de la fonctionnalité TLS pour sécuriser votre application, vous pouvez même charger un certificat autosigné pour cette liaison. Dans une liaison TLS basée sur l’adresse IP, le certificat est lié à l’adresse IP elle-même. App Service fournit donc une adresse IP statique pour que cela se produise.

Lorsque les adresses IP sortantes changent

Quel que soit le nombre d’instances scale-out, chaque application a un nombre défini d’adresses IP sortantes à un moment donné. Toute connexion sortante depuis l’application App Service, par exemple la connexion à une base de données principale, utilise l’une des adresses IP sortantes comme adresse IP d’origine. L’adresse IP à utiliser est sélectionnée de façon aléatoire au moment de l’exécution. Par conséquent, votre service principal doit ouvrir son pare-feu à toutes les adresses IP sortantes de votre application.

L’ensemble des adresses IP sortantes de votre application change lorsque vous effectuez l’une des actions suivantes :

  • Supprimer une application, puis la recréer dans un autre groupe de ressources (l’unité de déploiement peut changer).
  • Supprimer la dernière application dans une combinaison de groupe de ressources et de région, puis la recréer (l’unité de déploiement peut changer).
  • Mettez à l’échelle votre application entre les niveaux inférieurs (De base, Standard et Premium), les niveaux PremiumV2 et PremiumV3, ainsi que les options Pmv3 du niveau PremiumV3 (des adresses IP peuvent être ajoutées ou soustraites de l’ensemble).

Vous pouvez trouver toutes les adresses IP sortantes que votre application est susceptible d’utiliser, indépendamment des niveaux de tarification, en recherchant la propriété possibleOutboundIpAddresses, ou à l’aide du champ Adresses IP sortantes supplémentaires du panneau Propriétés du portail Azure. Consultez Trouver des adresses IP sortantes.

Notez que l’ensemble de toutes les adresses IP sortantes possibles peut croître au fil du temps si App Service ajoute de nouveaux niveaux tarifaires ou de nouvelles options aux déploiements App Service existants. Par exemple, si App Service ajoute le niveau PremiumV3 à un déploiement App Service existant, l’ensemble de toutes les adresses IP sortantes possibles croîtra. De même, si App Service ajoute de nouvelles options Pmv3 à un déploiement qui prend déjà en charge le niveau PremiumV3, l’ensemble de toutes les adresses IP sortantes croîtra également. Cela n’a pas d’effet immédiat, car les adresses IP sortantes pour les applications en cours d’exécution ne changent pas lorsqu’un nouveau niveau tarifaire ou une nouvelle option sont ajoutés à un déploiement App Service. En revanche, si les applications passent à un nouveau niveau tarifaire ou une nouvelle option qui n’étaient pas disponibles auparavant, de nouvelles adresses sortantes sont utilisées et les clients doivent mettre à jour les règles de pare-feu en aval et les restrictions d’adresses IP.

Trouver des adresses IP sortantes

Pour trouver les adresses IP sortantes actuellement utilisées par votre application dans le portail Azure, cliquez sur Propriétés dans le volet de navigation gauche de votre application. Elles sont répertoriées dans le champ Adresses IP sortantes.

Vous pouvez obtenir les mêmes informations en exécutant la commande suivante dans Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query outboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).OutboundIpAddresses

Pour rechercher toutes les adresses IP sortantes possibles pour votre application, indépendamment des niveaux de tarification, cliquez sur Propriétés dans la navigation à gauche de votre application. Elles sont répertoriées dans le champ Adresses IP sortantes supplémentaires.

Vous pouvez obtenir les mêmes informations en exécutant la commande suivante dans Cloud Shell.

az webapp show --resource-group <group_name> --name <app_name> --query possibleOutboundIpAddresses --output tsv
(Get-AzWebApp -ResourceGroup <group_name> -name <app_name>).PossibleOutboundIpAddresses

Obtenir une adresse IP sortante statique

Vous pouvez contrôler l’adresse IP du trafic sortant à partir de votre application en utilisant une intégration VNet régionale avec une passerelle NAT de réseau virtuel pour diriger le trafic vers une adresse IP publique statique. L’intégration VNet régionale est disponible dans les plans App Service De base, Standard, Premium, PremiumV2 et PremiumV3. Pour en savoir plus sur cette configuration, consultez l’intégration de la passerelle NAT.

Étapes suivantes

Découvrez comment limiter le trafic entrant par adresses IP sources.