Adresses IP dans Azure FunctionsIP addresses in Azure Functions

Cet article aborde les sujets suivants, liés aux adresses IP des applications de fonction :This article explains the following topics related to IP addresses of function apps:

  • comment trouver les adresses IP actuellement utilisées par une application de fonction ;How to find the IP addresses currently in use by a function app.
  • les facteurs provoquant la modification des adresses IP d’une application de fonction ;What causes a function app's IP addresses to be changed.
  • comment limiter les adresses IP pouvant accéder à une application de fonction ;How to restrict the IP addresses that can access a function app.
  • comment obtenir des adresses IP dédiées pour une application de fonction.How to get dedicated IP addresses for a function app.

Les adresses IP sont associées à des applications de fonction, et non à des fonctions individuelles.IP addresses are associated with function apps, not with individual functions. Les requêtes HTTP entrantes ne peuvent pas utiliser l’adresse IP entrante pour appeler des fonctions individuelles ; elles doivent utiliser le nom de domaine par défaut (functionappname.azurewebsites.net) ou un nom de domaine personnalisé.Incoming HTTP requests can't use the inbound IP address to call individual functions; they must use the default domain name (functionappname.azurewebsites.net) or a custom domain name.

Adresse IP entrante de l’application de fonctionFunction app inbound IP address

Chaque application de fonction a une seule adresse IP entrante.Each function app has a single inbound IP address. Pour la trouver :To find that IP address:

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.
  2. Accédez à l’application de fonction.Navigate to the function app.
  3. Sélectionnez Fonctionnalités de la plateforme.Select Platform features.
  4. Sélectionnez Propriétés : l’adresse IP entrante apparaît sous Adresse IP virtuelle.Select Properties, and the inbound IP address appears under Virtual IP address.

Adresses IP sortantes de l’application de fonctionFunction app outbound IP addresses

Chaque application de fonction a différentes adresses IP sortantes disponibles.Each function app has a set of available outbound IP addresses. Toute connexion sortante d’une fonction, par exemple, à une base de données principale, utilise l’une des adresses IP sortantes comme adresse IP d’origine.Any outbound connection from a function, such as to a back-end database, uses one of the available outbound IP addresses as the origin IP address. Il n’est pas possible de savoir à l’avance laquelle sera utilisée.You can't know beforehand which IP address a given connection will use. C’est pourquoi le service principal doit ouvrir son pare-feu à toutes les adresses IP sortantes de l’application de fonction.For this reason, your back-end service must open its firewall to all of the function app's outbound IP addresses.

Pour trouver les adresses IP sortantes disponibles pour une application de fonction :To find the outbound IP addresses available to a function app:

  1. Connectez-vous à Azure Resource Explorer.Sign in to the Azure Resource Explorer.
  2. Sélectionnez Abonnements > {votre abonnement} > Fournisseurs > Microsoft.Web > Sites.Select subscriptions > {your subscription} > providers > Microsoft.Web > sites.
  3. Dans le volet JSON, recherchez le site dont la propriété id se termine par le nom de votre application de fonction.In the JSON panel, find the site with an id property that ends in the name of your function app.
  4. Localisez outboundIpAddresses et possibleOutboundIpAddresses.See outboundIpAddresses and possibleOutboundIpAddresses.

L’ensemble de outboundIpAddresses est actuellement accessible à l’application de fonction.The set of outboundIpAddresses is currently available to the function app. L’ensemble de possibleOutboundIpAddresses comporte les adresses IP qui ne seront disponibles que si l’application de fonction passe à d’autres niveaux tarifaires.The set of possibleOutboundIpAddresses includes IP addresses that will be available only if the function app scales to other pricing tiers.

Il existe un autre moyen de trouver les adresses IP sortantes, avec Cloud Shell :An alternative way to find the available outbound IP addresses is by using the Cloud Shell:

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

Notes

Lorsqu’une application de fonction qui s’exécute sur le Plan de consommation est mise à l’échelle, une nouvelle plage d’adresses IP sortantes peut être attribuée.When a function app that runs on the Consumption plan is scaled, a new range of outbound IP addresses may be assigned. Lors de l’exécution sur le Plan de consommation, il se peut que vous ayez besoin de placer l’ensemble du centre de données en liste verte.When running on the Consumption plan, you may need to whitelist the entire data center.

Adresses IP sortantes du centre de donnéesData center outbound IP addresses

Si vous souhaitez mettre sur liste verte les adresses IP sortantes utilisées par vos applications de fonction, vous pouvez également mettre sur liste verte le centre de données des applications de fonction (région Azure).If you need to whitelist the outbound IP addresses used by your function apps, another option is to whitelist the function apps' data center (Azure region). Vous pouvez télécharger un fichier JSON qui liste les adresses IP de tous les centres de données Azure.You can download a JSON file that lists IP addresses for all Azure data centers. Recherchez ensuite le fragment JSON qui s’applique à la région dans laquelle s’exécute votre application de fonction.Then find the JSON fragment that applies to the region that your function app runs in.

Par exemple, le fragment JSON Europe Ouest peut se présenter ainsi :For example, this is what the Western Europe JSON fragment might look like:

{
  "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.For information about when this file is updated and when the IP addresses change, expand the Details section of the Download Center page.

Changement d’adresse IP entranteInbound IP address changes

L’adresse IP entrante peut changer dans les cas suivants :The inbound IP address might change when you:

  • vous supprimez une application de fonction, puis la recréez dans un autre groupe de ressources ;Delete a function app and recreate it in a different resource group.
  • vous supprimez la dernière application de fonction dans une combinaison de groupe de ressources et de région, puis la recréez ;Delete the last function app in a resource group and region combination, and re-create it.
  • vous supprimez une liaison TLS, par exemple, pendant le renouvellement des certificats.Delete a TLS binding, such as during certificate renewal.

Lorsque votre application de fonction s’exécute dans un Plan Consommation, l’adresse IP entrante peut également changer, même quand vous n’avez effectué aucune des actions répertoriées ci-dessus.When your function app runs in a Consumption plan, the inbound IP address might also change even when you haven't taken any actions such as the ones listed above.

Changement d’adresse IP sortanteOutbound IP address changes

L’ensemble d’adresses IP sortantes disponibles pour une application de fonction peut changer dans les cas suivants :The set of available outbound IP addresses for a function app might change when you:

  • vous effectuez une action susceptible de modifier l’adresse IP entrante ;Take any action that can change the inbound IP address.
  • vous modifiez le niveau tarifaire de votre plan App Service.Change your App Service plan pricing tier. La liste de toutes les adresses IP sortantes utilisables par votre application, pour tous les niveaux tarifaires, est donnée dans la propriété possibleOutboundIPAddresses.The list of all possible outbound IP addresses your app can use, for all pricing tiers, is in the possibleOutboundIPAddresses property. Consultez Trouver des adresses IP sortantes.See Find outbound IPs.

Lorsque votre application de fonction s’exécute dans un Plan Consommation, l’adresse IP sortante peut également changer, même quand vous n’avez effectué aucune des actions répertoriées ci-dessus.When your function app runs in a Consumption plan, the outbound IP address might also change even when you haven't taken any actions such as the ones listed above.

Pour forcer délibérément un changement d’adresse IP sortante :To deliberately force an outbound IP address change:

  1. Faites évoluer votre plan App Service entre les niveaux tarifaires Standard et Premium v2.Scale your App Service plan up or down between Standard and Premium v2 pricing tiers.
  2. Attendez 10 minutes.Wait 10 minutes.
  3. Revenez au niveau tarifaire de départ.Scale back to where you started.

Restriction des adresses IPIP address restrictions

Vous pouvez configurer la liste des adresses IP auxquelles vous souhaitez autoriser ou refuser l’accès à une application de fonction.You can configure a list of IP addresses that you want to allow or deny access to a function app. Pour plus d’informations, consultez Restrictions d’adresse IP statique avec Azure App Service.For more information, see Azure App Service Static IP Restrictions.

Adresses IP dédiéesDedicated IP addresses

Si vous avez besoin d’adresses IP dédiées statiques, nous vous recommandons les Environnements App Service (le Niveau isolé des plans App Service).If you need static, dedicated IP addresses, we recommend App Service Environments (the Isolated tier of App Service plans). Pour plus d’informations, voir Adresses IP de l’environnement App Service et Guide pratique pour contrôler le trafic entrant dans un environnement App Service.For more information, see App Service Environment IP addresses and How to control inbound traffic to an App Service Environment.

Pour savoir si votre application de fonction s’exécute dans un environnement App Service :To find out if your function app runs in an App Service Environment:

  1. Connectez-vous au portail Azure.Sign in to the Azure portal.
  2. Accédez à l’application de fonction.Navigate to the function app.
  3. Sélectionnez l’onglet Vue d’ensemble.Select the Overview tab.
  4. Le niveau du plan App Service apparaît sous Niveau tarifaire/plan App Service.The App Service plan tier appears under App Service plan/pricing tier. Le niveau tarifaire de l’environnement App Service est Isolé.The App Service Environment pricing tier is Isolated.

Vous pouvez également utiliser Cloud Shell :As an alternative, you can use the Cloud Shell:

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

L’environnement App Service sku est Isolated.The App Service Environment sku is Isolated.

Étapes suivantesNext steps

L’une des causes courantes des changements d’adresses IP est le changement d’échelle de l’application de fonction.A common cause of IP changes is function app scale changes. En savoir plus sur la mise à l’échelle des applications de fonction.Learn more about function app scaling.