Partager via


Adresses IP entrantes et sortantes dans Azure App Service

Azure App Service est un service multitenant, à l’exception des App Service Environments. 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 est affectée à un ensemble d’adresses IP virtuelles, qui inclut 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.

Remarque

Le niveau Premium V4 ne fournit pas d’ensemble stable d’adresses IP sortantes. Ce comportement est intentionnel. Bien que les applications s’exécutant sur le niveau Premium V4 puissent effectuer des appels sortants vers des points de terminaison accessibles sur Internet, la plateforme App Service ne fournit pas un ensemble stable d’adresses IP sortantes pour le niveau Premium V4. Ce comportement diffère des paliers tarifaires précédents d'App Service. Le portail affiche « Dynamique » pour les adresses IP sortantes et des informations supplémentaires sur les adresses IP sortantes pour les applications utilisant Premium V4. Les appels Azure Resource Manager (ARM) et CLI retournent des chaînes vides pour les valeurs de outboundIpAddresses et possibleOutboundIpAddresses. Si les applications s’exécutant sur Premium V4 nécessitent une adresse IP sortante stable ou des adresses, les développeurs doivent utiliser une solution telle qu’Azure NAT Gateway pour obtenir une adresse IP prévisible pour le trafic internet sortant.

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 :

  • Supprimez une application et recréez-la dans un autre groupe de ressources (l’unité de déploiement peut changer).
  • Supprimez la dernière application d’une combinaison de groupes de ressources et de région et recréez-la (l’unité de déploiement peut changer).
  • Supprimez une liaison TLS basée sur IP existante, par exemple pendant le renouvellement du certificat (voir Renouveler le certificat).

Rechercher l’IP entrante

Exécutez la commande suivante dans un terminal local :

nslookup <app-name>.azurewebsites.net

Obtenir une adresse IP entrante dédiée

Vous pouvez avoir besoin d’une adresse IP statique dédiée pour votre application. L’adresse IP entrante partagée par défaut est statique, mais cette configuration permet une adresse IP entrante dédiée unique à votre site. Pour obtenir une adresse IP entrante dédiée, vous devez sécuriser un nom DNS personnalisé avec une liaison de certificat basée sur 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 créé donc une adresse IP statique pour qu’elle soit réalisée.

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 :

  • Supprimez une application et recréez-la dans un autre groupe de ressources (l’unité de déploiement peut changer).
  • Supprimez la dernière application d’une combinaison de groupes de ressources et de région et recréez-la (l’unité de déploiement peut changer).
  • Mettez à l’échelle votre application entre les niveaux inférieurs (De base, Standard et Premium), le niveau PremiumV2, le niveau PremiumV3 et les options Pmv3 au sein du niveau PremiumV3 (les adresses IP peuvent être ajoutées ou soustraites du jeu).

Vous pouvez trouver toutes les adresses IP sortantes que votre application est susceptible d’utiliser, indépendamment des niveaux tarifaires, en recherchant la propriété possibleOutboundIpAddresses, ou dans le champ Adresses IP sortantes supplémentaires de la page Propriétés du Portail Azure. Consultez Trouver des adresses IP sortantes.

Notez que l’ensemble de toutes les adresses IP sortantes possibles peut augmenter 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, alors l’ensemble de toutes les adresses IP sortantes possibles augmente. De même, si App Service ajoute de nouvelles options Pmv3 à un déploiement qui prend déjà en charge le niveau PremiumV3, alors l’ensemble de toutes les adresses IP sortantes augmente. Ajouter des adresses IP à un déploiement 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, alors 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 utilisées par votre application dans le portail Azure, sélectionnez Propriétés dans le volet de navigation gauche de votre application. Elles sont listé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 trouver toutes les adresses IP sortantes possibles pour votre application, indépendamment des niveaux de tarification, sélectionnez Propriétés dans la navigation à gauche de votre application. Ils sont répertoriés 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

Pour les applications de fonction, consultez Adresses IP sortantes de l’application de fonction.

Obtenir une adresse IP sortante statique

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

Propriétés d’adresse IP dans le portail Azure

Les adresses IP s’affichent à plusieurs emplacements dans le portail Azure. La page des propriétés affiche la sortie brute de inboundIpAddress, possibleInboundIpAddresses, outboundIpAddresseset possibleOutboundIpAddresses. La page vue d’ensemble affiche également les mêmes valeurs, mais n’inclut pas les adresses IP entrantes possibles.

La vue d’ensemble de la mise en réseau montre la combinaison d’adresses IP entrantes et d’adresses IP de point de terminaison privé dans le champ Adresses entrantes . Si l’accès au réseau public est désactivé, l’adresse IP publique n’est pas affichée. Le champ Adresses sortantes contient une liste combinée d’adresses IP sortantes (possibles) et, si l’application est intégrée au réseau virtuel et achemine tout le trafic, et que le sous-réseau a une passerelle NAT attachée, le champ inclut également les adresses IP de la passerelle NAT.

Capture d’écran montrant comment les adresses IP sont affichées dans la page vue d’ensemble de la mise en réseau.

Balise du service

En utilisant l’étiquette de service AppService, vous pouvez définir l’accès réseau pour le service Azure App Service sans spécifier d’adresses IP individuelles. L’étiquette de service est un groupe de préfixes d’adresses IP que vous utilisez pour simplifier la création de règles de sécurité. Lorsque vous utilisez des étiquettes de service, Azure met automatiquement à jour les adresses IP au fur et à mesure qu’elles changent pour le service. Toutefois, l’étiquette de service n’est pas un mécanisme de contrôle de sécurité. L’étiquette de service est simplement une liste d’adresses IP.

L’étiquette de service AppService n’inclut que les adresses IP entrantes des applications multitenant. Les adresses IP entrantes des applications déployées en mode isolé (App Service Environment) et des applications utilisant des liaisons TLS basées sur IP ne sont pas incluses. En outre, toutes les adresses IP sortantes utilisées dans les environnements multitenant et isolés ne sont pas incluses dans l’étiquette.

L’étiquette peut être utilisée pour autoriser le trafic sortant dans un groupe de sécurité réseau (NSG) vers des applications. Si l’application utilise le protocole TLS basé sur IP ou si l’application est déployée en mode isolé, vous devez utiliser l’adresse IP dédiée à la place. Étant donné que la balise inclut uniquement les adresses IP entrantes, la balise ne peut pas être utilisée dans les restrictions d’accès pour limiter l’accès à une application à partir d’autres applications dans App Service.

Remarque

L’étiquette de service vous aide à définir l’accès réseau, mais elle ne doit pas être considérée comme un remplacement de mesures de sécurité réseau appropriées, car elle ne fournit pas de contrôle granulaire sur les adresses IP individuelles.

Prise en charge d’IPv6 entrant

Azure App Service prend en charge IPv6 pour le trafic entrant sur toutes les références SKU Es, Standard et Premium, ainsi que sur les plans Functions Consumption, Functions Elastic Premium et Logic Apps Standard. Les applications peuvent recevoir du trafic sur les protocoles IPv4 et IPv6, ce qui assure la compatibilité avec les réseaux modernes et les clients qui nécessitent une connectivité IPv6.

Conditions préalables

Pour utiliser le trafic entrant IPv6, vous avez besoin des éléments suivants :

  • Adresse IPv6 qui accepte le trafic entrant
  • Enregistrement DNS qui retourne un enregistrement IPv6 (AAAA)
  • Client capable d’envoyer et de recevoir du trafic IPv6

Important

De nombreux réseaux locaux et environnements de développement prennent uniquement en charge IPv4, ce qui peut affecter votre capacité à tester la connectivité IPv6 à partir de votre ordinateur local.

Fonctionnement de l’adressage IPv6

Toutes les unités de déploiement App Service incluent des adresses IPv6, ce qui permet à votre application de recevoir le trafic sur les adresses IPv4 et IPv6. Pour la compatibilité descendante, la réponse DNS pour le nom d’hôte par défaut (<app-name>.azurewebsites.net) retourne uniquement l’adresse IPv4 par défaut.

Vous pouvez configurer le comportement du mode IP à l’aide de la IPMode propriété :

  • IPv4 (valeur par défaut) : DNS renvoie uniquement l’adresse IPv4
  • IPv6 : DNS renvoie uniquement l’adresse IPv6
  • IPv4AndIPv6 : DNS retourne à la fois les adresses IPv4 et IPv6

IPMode est une fonctionnalité DNS uniquement. Chaque site App Service peut recevoir des requêtes via des points de terminaison IPv4 et IPv6, quel que soit l’ipMode configuré. IpMode influence uniquement la façon dont DNS résout le point de terminaison, de sorte qu’il affecte les clients qui s’appuient sur une résolution DNS (ce qui doit être la majorité des clients), mais il ne limite pas les points de terminaison de protocole pouvant être atteints.

Configurer la prise en charge IPv6

Pour mettre à jour une application pour retourner des enregistrements DNS IPv6 dans le portail Azure, accédez à la page Configuration de l’application App Service et définissez la propriété en mode IP entrant .

Capture d’écran montrant comment le mode IP entrant est défini dans la page de configuration App Service.

Tester la connectivité IPv6

Pour tester la connectivité IPv6 à votre application, utilisez la commande curl suivante :

curl -6 https://<app-name>.azurewebsites.net

Domaines personnalisés et IPv6

Lorsque vous utilisez des domaines personnalisés, vous pouvez configurer des enregistrements DNS pour prendre en charge IPv6 :

  • IPv6 uniquement : ajoutez un enregistrement AAAA pointant vers l’adresse IPv6 de votre application. Les clients doivent prendre en charge IPv6.
  • Double pile : ajoutez des enregistrements A (IPv4) et AAAA (IPv6) ou utilisez un enregistrement CNAME au nom d’hôte par défaut, qui hérite du IPMode comportement.

Prise en charge du protocole IPv6 sortant (préversion)

Azure App Service prend en charge IPv6 pour le trafic sortant en préversion publique pour les sites Windows et Linux. La préversion publique de la prise en charge du protocole IPv6 sortant pour les applications mutualisées est prise en charge sur toutes les gammes SKU des plans App Service, les plans de consommation pour les fonctions, Functions Elastic Premium, et Logic Apps Standard.

Pour plus d’informations sur la prise en charge des IPv6 sortants, notamment sur la façon de l’activer et du comportement spécifique à la plateforme, consultez Annonce de la prise en charge IPv6 sortante d’App Service dans la préversion publique.