Partager via


Adresses IP dans Azure Functions

Cet article explique les concepts suivants liés aux adresses IP des applications de fonction :

  • Localisation des adresses IP actuellement utilisées par une application de fonction.
  • Conditions qui entraînent la modification des adresses IP de l’application de fonction.
  • Restriction des adresses IP qui peuvent accéder à une application de fonction.
  • Définition d’adresses IP dédiées pour une application de fonction.

Les adresses IP sont associées aux applications de fonction, et non à des fonctions individuelles. Les requêtes HTTP entrantes ne peuvent pas utiliser l’adresse IP entrante pour appeler des fonctions individuelles ; ils doivent utiliser le nom de domaine par défaut (functionappname.azurewebsites.net) ou un nom de domaine personnalisé.

Adresse IP entrante de l’application de fonction

Chaque application de fonction commence par utiliser une seule adresse IP entrante. Quand une application de fonction s’exécute dans un plan Consommation ou Premium, des adresses IP entrantes peuvent être ajoutées au fur et à mesure que le scale-out piloté par les événements se produit. Pour rechercher l’adresse IP entrante ou les adresses utilisées par votre application, utilisez l’utilitaire nslookup à partir de votre ordinateur local, comme dans l’exemple suivant :

nslookup <APP_NAME>.azurewebsites.net

Dans cet exemple, remplacez <APP_NAME> par le nom de votre application de fonction. Si votre application utilise un nom de domaine personnalisé, utilisez nslookup plutôt ce nom de domaine personnalisé.

Adresses IP sortantes de l’application de fonction

Chaque application de fonction a un ensemble d’adresses IP sortantes disponibles. Toute connexion sortante d’une fonction, telle qu’une base de données principale, utilise l’une des adresses IP sortantes disponibles comme adresse IP d’origine. Vous ne pouvez pas savoir au préalable quelle adresse IP une connexion donnée utilise. Pour cette raison, votre service principal doit ouvrir son pare-feu à toutes les adresses IP sortantes de l’application de fonction.

Conseil / Astuce

Pour certaines fonctionnalités de niveau plateforme telles que les références Key Vault, l’adresse IP d’origine peut ne pas être l’une des adresses IP sortantes et vous ne devez pas configurer la ressource cible pour qu’elle s’appuie sur ces adresses spécifiques. Nous vous recommandons d’utiliser plutôt une intégration de réseau virtuel, car la plateforme achemine le trafic vers la ressource cible via ce réseau.

Pour trouver les adresses IP sortantes disponibles pour une application de fonction :

  1. Connectez-vous à Azure Resource Explorer.
  2. Sélectionnez les abonnements> {votre abonnement} >fournisseurs>Microsoft.Web>sites.
  3. Dans le panneau JSON, recherchez le site avec une id propriété qui se termine par le nom de votre application de fonction.
  4. Voir outboundIpAddresses et possibleOutboundIpAddresses.

L’ensemble des outboundIpAddresses est actuellement accessible à l’application de fonction. L'ensemble possibleOutboundIpAddresses comprend des adresses IP qui sont disponibles uniquement si l'application de fonction se développe vers d'autres niveaux tarifaires.

Remarque

Lorsqu’une application de fonction qui s’exécute sur le plan Consommation ou le plan Premium est mise à l’échelle, une nouvelle plage d’adresses IP sortantes peut être affectée. En cas d’exécution sur l’un de ces plans, vous ne pouvez pas compter sur les adresses IP sortantes signalées pour créer une liste d'autorisation définitive. Pour pouvoir inclure toutes les adresses sortantes potentielles utilisées lors de la mise à l’échelle dynamique, vous devez ajouter tout le centre de données à votre liste d'autorisation.

Adresses IP sortantes du centre de données

Si vous devez ajouter les adresses IP sortantes utilisées par vos applications de fonction à une liste verte, une autre option consiste à ajouter le centre de données des applications de fonction (région Azure) à une liste verte. Vous pouvez télécharger un fichier JSON qui liste les adresses IP de tous les centres de données Azure. Recherchez ensuite le fragment JSON qui s’applique à la région dans laquelle s’exécute votre application de fonction.

Par exemple, le fragment JSON suivant est ce à quoi pourrait ressembler la liste d’autorisation pour la région Europe Ouest :

{
  "name": "AzureCloud.westeurope",
  "id": "AzureCloud.westeurope",
  "properties": {
    "changeNumber": 9,
    "region": "westeurope",
    "platform": "Azure",
    "systemService": "",
    "addressPrefixes": [
      "13.69.0.0/17",
      "13.73.128.0/18",
      ... Some IP addresses not shown here
     "213.199.180.192/27",
     "213.199.183.0/24"
    ]
  }
}

Pour savoir quand ce fichier est mis à jour et quand les adresses IP changent, développez la section Détails de la page du Centre de téléchargement.

Modifications de l’adresse IP entrante

L’adresse IP entrante peut changer lorsque vous :

  • vous supprimez une application de fonction, puis la recréez dans un autre groupe de ressources ;
  • vous supprimez la dernière application de fonction dans une combinaison de groupe de ressources et de région, puis la recréez ;
  • Supprimez une liaison TLS, par exemple pendant le renouvellement du certificat.

Lorsque votre application de fonction s’exécute dans un plan Consommation ou dans un plan Premium, l’adresse IP entrante peut également changer même si vous n’avez pas effectué d’actions telles que celles ci-dessous.

Modifications de l’adresse IP sortante

La stabilité relative de l’adresse IP sortante dépend du plan d’hébergement.

Plans Consommation et Premium

En raison des comportements de mise à l’échelle automatique, l’adresse IP sortante peut changer à tout moment lors de l’exécution sur un plan Consommation ou dans un plan Premium.

Si vous devez contrôler l’adresse IP sortante de votre application de fonctions, par exemple quand vous devez l’ajouter à une liste d'autorisation, envisagez d’implémenter une passerelle NAT de réseau virtuel lors de l’exécution dans un plan d’hébergement Premium. Vous pouvez également effectuer cette opération en utilisant un plan dédié (App Service).

Plans dédiés

Lorsqu'une application de fonctions s'exécute sur des plans dédiés (App Service), l'ensemble des adresses IP sortantes disponibles pour cette application peut changer lorsque vous :

  • Effectuez n’importe quelle action qui peut modifier l’adresse IP entrante.
  • Modifiez le niveau tarifaire de votre plan dédié (App Service). La liste de toutes les adresses IP sortantes possibles que votre application peut utiliser, pour tous les niveaux tarifaires, se trouve dans la possibleOutboundIPAddresses propriété. Consultez Trouver des adresses IP sortantes.

Forcer une modification d’adresse IP sortante

Utilisez la procédure suivante pour forcer délibérément une modification d’adresse IP sortante dans un plan Dédié (App Service) :

  1. Augmentez ou diminuez votre plan App Service entre les niveaux tarifaires Standard et Premium v2.

  2. Attendez 10 minutes.

  3. Revenez là où vous avez commencé.

Restrictions d’adresse IP

Vous pouvez configurer une liste d’adresses IP que vous souhaitez autoriser ou refuser l’accès à une application de fonction. Si vous souhaitez en savoir plus, veuillez consulter Restrictions d’accès à Azure App Service.

Adresses IP dédiées

Il existe plusieurs stratégies à explorer lorsque votre application de fonction nécessite des adresses IP statiques et dédiées.

Passerelle NAT de réseau virtuel pour l’adresse IP statique sortante

Vous pouvez contrôler l’adresse IP du trafic sortant à partir de vos fonctions à l’aide d’une passerelle NAT de réseau virtuel pour diriger le trafic via une adresse IP publique statique. Vous pouvez utiliser cette topologie lors de l’exécution dans un plan Premium ou dans un plan d’hébergement dédié. Pour plus d’informations, consultez Tutoriel : Contrôler l’adresse IP sortante d’Azure Functions avec une passerelle NAT de réseau virtuel Azure.

Environnements App Service

Pour un contrôle total sur les adresses IP, entrantes et sortantes, nous vous recommandons d’utiliser les environnements App Service (niveau isolé des plans App Service). Pour plus d’informations, consultez vue d’ensemble de l’environnement App Service.

Pour savoir si votre application de fonction s’exécute dans un environnement App Service :

  1. Connectez-vous au portail Azure.
  2. Accédez à l’application de fonction.
  3. Sélectionnez l’onglet Vue d’ensemble.
  4. Le niveau de plan App Service apparaît sous plan App Service/niveau tarifaire. Le niveau tarifaire App Service Environment est isolé.

L’environnement App Service sku est Isolated.

Étapes suivantes

Une cause courante des modifications d’adresse IP est les modifications apportées à l’échelle de l’application de fonction. En savoir plus sur la mise à l’échelle des applications de fonction.