Fonctionnalités de mise en réseau App ServiceApp Service networking features

Dans Azure App Service, les applications peuvent être déployées de nombreuses façons.Applications in the Azure App Service can be deployed in multiple ways. Par défaut, les applications hébergées App Service sont directement accessibles via Internet et ne peuvent atteindre que les points de terminaison Internet hébergés.By default, App Service hosted apps are directly internet accessible and can only reach internet hosted endpoints. Toutefois, la plupart des applications clientes ont besoin de contrôler le trafic réseau entrant et sortant.Many customer applications however need to control the inbound and outbound network traffic. Il existe plusieurs fonctionnalités disponibles dans App Service pour répondre à ces besoins.There are several features available in the App Service to satisfy those needs. Le défi est de savoir quelle fonctionnalité doit être utilisée pour résoudre un problème donné.The challenge is knowing what feature should be used to solve a given problem. Ce document vise à aider les clients à déterminer la fonction à utiliser grâce à différents cas d’usage.This document is intended to help customers determine what feature should be used based on some example use cases.

Il existe deux types de déploiement principaux pour Azure App Service.There are two primary deployment types for the Azure App Service. Il y a le service public multilocataire, qui héberge les plans App Service dans les références SKU de tarification Gratuit, De base, Standard, Premium et Premiumv2.There is the multi-tenant public service, which hosts App Service plans in the Free, Shared, Basic, Standard, Premium, and Premiumv2 pricing SKUs. Il y a également l’environnement Azure App Service Environment (ASE) de locataire unique, qui héberge les plans App Service de référence SKU Isolé directement dans votre réseau virtuel Microsoft Azure.Then there is the single tenant App Service Environment(ASE), which hosts Isolated SKU App Service plans directly in your Azure Virtual Network (VNet). Les fonctionnalités que vous utilisez varient en fonction du déploiement (service multilocataire ou ASE).The features you use will vary on if you are in the multi-tenant service or in an ASE.

Fonctionnalités de mise en réseau App Service multilocataireMulti-tenant App Service networking features

Azure App Service est un système distribué.The Azure App Service is a distributed system. Les rôles qui gèrent les requêtes HTTP/HTTPS entrantes sont appelés serveurs frontend.The roles that handle incoming HTTP/HTTPS requests are called front-ends. Les rôles qui hébergent la charge de travail du client sont appelés rôles de travail.The roles that host the customer workload are called workers. Tous les rôles d’un déploiement App Service existent dans un réseau multilocataire.All of the roles in an App Service deployment exist in a multi-tenant network. 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.Because there are many different customers in the same App Service scale unit, you cannot connect the App Service network directly to your network. Au lieu de connecter les réseaux, nous avons besoin de fonctionnalités pour gérer différents aspects de la communication des applications.Instead of connecting the networks, we need features to handle the different aspects of application communication. 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.The features that handle requests TO your app can't be used to solve problems when making calls FROM your app. 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.Likewise, the features that solve problems for calls FROM your app can't be used to solve problems TO your app.

Fonctionnalités en entréeInbound features Fonctionnalités en sortieOutbound features
Adresse attribuée par l’applicationApp assigned address les connexions hybridesHybrid Connections
Restrictions d’accèsAccess Restrictions Passerelle exigeant l’intégration au réseau virtuelGateway required VNet Integration
Points de terminaison de serviceService Endpoints Intégration au réseau virtuel (préversion)VNet Integration (preview)

Sauf indication contraire, toutes les fonctionnalités peuvent être utilisées ensemble.Unless otherwise stated, all of the features can be used together. Vous pouvez combiner les fonctionnalités pour résoudre différents problèmes.You can mix the features to solve your various problems.

Cas d’usage et fonctionnalitésUse case and features

Pour tout cas d’usage, il peut y avoir plusieurs façons de résoudre le problème.For any given use case, there can be a few ways to solve the problem. La fonctionnalité appropriée à utiliser dépend parfois d’autres critères que le cas d’usage en lui-même.The right feature to use is sometimes due to reasons beyond just the use case itself. Les cas d’usage en entrée suivants suggèrent comment utiliser des fonctionnalités de mise en réseau App Service pour résoudre des problèmes en lien avec le contrôle du trafic vers votre application.The following inbound use cases suggest how to use App Service networking features to solve problems around controlling traffic going to your app.

Cas d’usage en entréeInbound use cases FonctionnalitéFeature
Prendre en charge les besoins SSL en fonction des adresses IP pour votre applicationSupport IP-based SSL needs for your app adresse attribuée par l’applicationapp assigned address
Adresse entrante dédiée, non partagée pour votre applicationNot shared, dedicated inbound address for your app adresse attribuée par l’applicationapp assigned address
Restreindre l’accès à votre application à partir d’un ensemble d’adresses bien définiesRestrict access to your app from a set of well-defined addresses Restrictions d’accèsAccess Restrictions
Exposer mon application sur des adresses IP privées dans mon réseau virtuelExpose my app on private IPs in my VNet ASE ILBILB ASE
Application Gateway avec des points de terminaison de serviceApplication Gateway with service endpoints
Restreindre l’accès à mon application à partir des ressources dans un réseau virtuelRestrict access to my app from resources in a VNet Points de terminaison de serviceService Endpoints
ASE ILBILB ASE
Exposer mon application sur une adresse IP privée dans mon réseau virtuelExpose my app on a private IP in my VNet ASE ILBILB ASE
adresse IP privée en entrée sur Application Gateway avec des points de terminaison de serviceprivate IP for inbound on an Application Gateway with service endpoints
Protéger mon application avec un pare-feu d’applications webProtect my app with a WAF Application Gateway + ASE ILBApplication Gateway + ILB ASE
Application Gateway avec des points de terminaison de serviceApplication Gateway with service endpoints
Azure Front Door avec des restrictions d’accèsAzure Front Door with Access Restrictions
Équilibrer la charge du trafic vers mes applications dans différentes régionsLoad balance traffic to my apps in different regions Azure Front Door avec des restrictions d’accèsAzure Front Door with Access Restrictions
Équilibrer la charge du trafic dans la même régionLoad balance traffic in the same region Application Gateway avec des points de terminaison de serviceApplication Gateway with service endpoints

Les cas d’usage en sortie suivants suggèrent comment utiliser les fonctionnalités de mise en réseau App Service pour répondre aux besoins d’accès sortant de votre application.The following outbound use cases suggest how to use App Service networking features to solve outbound access needs for your app.

Cas d’usage en sortieOutbound use cases FonctionnalitéFeature
Accéder à des ressources dans un réseau virtuel Azure situé dans la même régionAccess resources in an Azure Virtual Network in the same region Intégration au réseau virtuelVNet Integration
ASEASE
Accéder à des ressources dans un réseau virtuel Azure situé dans une région différenteAccess resources in an Azure Virtual Network in a different region Passerelle exigeant l’intégration au réseau virtuelGateway required VNet Integration
ASE et peering de réseau virtuelASE and VNet peering
Accéder à des ressources sécurisées avec des points de terminaison de serviceAccess resources secured with service endpoints Intégration au réseau virtuelVNet Integration
ASEASE
Accéder à des ressources dans un réseau privé non connecté à AzureAccess resources in a private network not connected to Azure les connexions hybridesHybrid Connections
Accéder à des ressources via des circuits ExpressRouteAccess resources across ExpressRoute circuits Intégration au réseau virtuel (restreinte pour les adresses RFC 1918 pour l’instant)VNet Integration (restricted to RFC 1918 addresses for now)
ASEASE

Comportement de mise en réseau par défautDefault networking behavior

Les unités d’échelle Azure App Service prennent en charge de nombreux clients dans chaque déploiement.The Azure App Service scale units support many customers in each deployment. Les plans de référence SKU Gratuit et Partagé hébergent des charges de travail clientes sur les rôles de travail multilocataires.The Free and Shared SKU plans host customer workloads on multi-tenant workers. Les plans De base, et supérieurs, hébergent les charges de travail clientes dédiées à un seul plan App Service.The Basic, and above plans host customer workloads that are dedicated to only one App Service plan (ASP). Si vous aviez un plan App Service Standard, toutes les applications dans ce plan sont exécutées sur le même rôle de travail.If you had a Standard App Service plan, then all of the apps in that plan will run on the same worker. Si vous effectuez un scale out du rôle de travail, toutes les applications dans ce plan App Service seront répliquées sur un nouveau rôle de travail pour chaque instance dans votre plan App Service.If you scale out the worker, then all of the apps in that ASP will be replicated on a new worker for each instance in your ASP. Les rôles de travail qui sont utilisés pour Premiumv2 sont différents des rôles de travail utilisés pour les autres plans.The workers that are used for Premiumv2 are different from the workers used for the other plans. Chaque déploiement App Service a une adresse IP qui est utilisée pour tout le trafic entrant vers les applications dans ce déploiement App Service.Each App Service deployment has one IP address that is used for all of the inbound traffic to the apps in that App Service deployment. Toutefois, il existe entre 4 et 11 adresses qui sont utilisées pour effectuer des appels sortants.There are however anywhere from 4 to 11 addresses used for making outbound calls. Ces adresses sont partagées par toutes les applications dans ce déploiement App Service.These addresses are shared by all of the apps in that App Service deployment. Les adresses sortantes diffèrent en fonction des divers types de rôles de travail.The outbound addresses are different based on the different worker types. Cela signifie que les adresses utilisées par les plans App Service Gratuit, Partagé, De base, Standard et Premium sont différentes de celles utilisées pour les appels sortants des plans App Service Premiumv2.That means that the addresses used by the Free, Shared, Basic, Standard and Premium ASPs are different than the addresses used for outbound calls from the Premiumv2 ASPs. Si vous observez les propriétés de votre application, vous pouvez voir les adresses entrantes et sortantes qui sont utilisées par votre application.If you look in the properties for your app, you can see the inbound and outbound addresses that are used by your app. Si vous avez besoin de verrouiller une dépendance avec une liste de contrôle d’accès d’adresses IP, utilisez possibleOutboundAddresses.If you need to lock down a dependency with an IP ACL, use the possibleOutboundAddresses.

Propriétés de l’application

App Service a plusieurs points de terminaison qui sont utilisés pour gérer le service.App Service has a number of endpoints that are used to manage the service. Ces adresses sont publiées dans un document distinct et se trouvent également dans la balise de service d’adresse IP AppServiceManagement.Those addresses are published in a separate document and are also in the AppServiceManagement IP service tag. La balise AppServiceManagement est utilisée uniquement avec un App Service environnement (ASE) dans lequel vous devez autoriser ce trafic.The AppServiceManagement tag is only used with an App Service Environment (ASE) where you need to allow such traffic. Les adresses App Service entrantes sont suivies dans la balise de service d’adresse IP App Service.The App Service inbound addresses are tracked in the AppService IP service tag. Il n’y a aucune balise de service d’adresse IP qui contient les adresses sortantes utilisées par App Service.There is no IP service tag that contains the outbound addresses used by App Service.

Schéma des entrées et sorties App Service

Adresse attribuée par l’applicationApp assigned address

La fonctionnalité d’adresse attribuée par l’application est une ramification de la fonctionnalité SSL basée sur des adresses IP, qui est accessible en configurant SSL avec votre application.The app assigned address feature is an offshoot of the IP-based SSL capability and is accessed by setting up SSL with your app. Cette fonctionnalité peut être utilisée pour les appels SSL basés sur une adresse IP, mais elle peut également servir à donner à votre application une adresse que juste elle possède.This feature can be used for IP-based SSL calls but it can also be used to give your app an address that only it has.

Schéma de la fonctionnalité d’adresse attribuée par l’application

Lorsque vous utilisez une adresse attribuée par l’application, votre trafic traverse toujours les mêmes rôles frontend qui gèrent tout le trafic entrant dans l’unité d’échelle App Service.When you use an app assigned address, your traffic still goes through the same front-end roles that handle all of the incoming traffic into the App Service scale unit. Néanmoins, l’adresse qui est attribuée à votre application est uniquement utilisée par votre application.The address that is assigned to your app however, is only used by your app. Cette fonctionnalité peut notamment être utilisée dans les cas suivants :The use cases for this feature are to:

  • Prendre en charge les besoins SSL en fonction des adresses IP pour votre applicationSupport IP-based SSL needs for your app
  • Définir une adresse dédiée pour votre application qui n’est pas partagée avec un autre élémentSet a dedicated address for your app that is not shared with anything else

Vous pouvez apprendre à définir une adresse sur votre application en suivant le tutoriel sur la configuration SSL basée sur des adresses IP.You can learn how to set an address on your app with the tutorial on Configuring IP based SSL.

Restrictions d’accèsAccess Restrictions

La fonctionnalité Restrictions d’accès vous permet de filtrer les requêtes entrantes en fonction de l’adresse IP d’origine.The Access Restrictions capability lets you filter inbound requests based on the origination IP address. L’action de filtrage a lieu sur les rôles front-end situés en amont des déploiements des rôles de travail où vos applications s’exécutent.The filtering action takes place on the front-end roles that are upstream from the worker roles where your apps are running. Étant donné que les rôles frontend sont en amont des rôles de travail, la fonctionnalité Restrictions d’accès peut être considérée comme une protection de vos applications au niveau du réseau.Since the front-end roles are upstream from the workers, the Access Restrictions capability can be regarded as network level protection for your apps. La fonctionnalité vous permet de créer une liste de blocs d’adresses d’autorisation et de refus qui sont évalués par ordre de priorité.The feature allows you to build a list of allow and deny address blocks that are evaluated in priority order. Elle est similaire à la fonctionnalité de groupe de sécurité réseau qui existe dans Mise en réseau Azure.It is similar to the Network Security Group (NSG) feature that exists in Azure Networking. Vous pouvez utiliser cette fonctionnalité dans un ASE ou dans le service multilocataire.You can use this feature in an ASE or in the multi-tenant service. Lorsqu’elle est utilisée avec un ASE ILB, vous pouvez restreindre l’accès à partir de blocs d’adresses privées.When used with an ILB ASE, you can restrict access from private address blocks.

Restrictions d’accès

La fonctionnalité Restrictions d’accès est utile dans les scénarios dans lesquels vous souhaitez limiter les adresses IP qui peuvent être utilisées pour accéder à votre application.The Access Restrictions feature helps in scenarios where you want to restrict the IP addresses that can be used to reach your app. Cette fonctionnalité peut notamment être utilisée dans les cas suivants :Among the use cases for this feature are:

  • Restreindre l’accès à votre application à partir d’un ensemble d’adresses bien définiesRestrict access to your app from a set of well-defined addresses
  • Restreindre les accès provenant d’un service d’équilibrage de charge, tels qu’Azure Front Door.Restrict access to coming through a load-balancing service, such as Azure Front Door. Si vous souhaitiez verrouiller votre trafic entrant vers Azure Front Door, créez des règles pour autoriser le trafic à partir de 147.243.0.0/16 et 2a01:111:2050::/44.If you wanted to lock down your inbound traffic to Azure Front Door, create rules to allow traffic from 147.243.0.0/16 and 2a01:111:2050::/44.

Restrictions d’accès avec Front Door

Si vous souhaitez verrouiller l’accès à votre application de sorte qu’elle soit uniquement accessible à partir de ressources dans votre réseau virtuel Azure, vous avez besoin d’une adresse publique statique à l’emplacement où se trouve votre source dans votre réseau virtuel.If you wish to lock down access to your app so that it can only be reached from resources in your Azure Virtual Network (VNet), you need a static public address on whatever your source is in your VNet. Si les ressources n’ont pas d’adresse publique, vous devez utiliser la fonctionnalité Points de terminaison de service à la place.If the resources do not have a public address, you should use the Service Endpoints feature instead. Découvrez comment activer cette fonctionnalité avec le didacticiel sur la configuration de la fonctionnalité Restrictions d’accès.Learn how to enable this feature with the tutorial on Configuring Access Restrictions.

Points de terminaison de serviceService endpoints

La fonctionnalité Points de terminaison de service vous permet de verrouiller l’accès entrant à votre application, de façon que l’adresse source doit provenir d’un ensemble de sous-réseaux que vous sélectionnez.Service endpoints allows you to lock down inbound access to your app such that the source address must come from a set of subnets that you select. Cette fonctionnalité fonctionne conjointement avec les restrictions d’accès d’adresse IP.This feature works in conjunction with the IP Access Restrictions. Les points de terminaison de service sont définis dans la même expérience utilisateur que les restrictions d’accès d’adresse IP.Service endpoints are set in the same user experience as the IP Access Restrictions. Vous pouvez créer une liste d’autorisation/de refus des règles d’accès qui inclut les adresses publiques, ainsi que des sous-réseaux dans vos réseaux virtuels.You can build an allow/deny list of access rules that includes public addresses as well as subnets in your VNets. Cette fonctionnalité prend en charge des scénarios tels que :This feature supports scenarios such as:

points de terminaison de service

  • La configuration d’Application Gateway avec votre application pour verrouiller le trafic entrant vers votre applicationSetting up an Application Gateway with your app to lock down inbound traffic to your app
  • La restriction de l’accès de votre application aux ressources de votre réseau virtuel.Restricting access to your app to resources in your VNet. Cela peut inclure des machines virtuelles, des ASE ou même d’autres applications qui utilisent l’intégration au réseau virtuelThis can include VMs, ASEs, or even other apps that use VNet Integration

points de terminaison de service avec application gateway

Vous trouverez plus d’informations sur la configuration des points de terminaison de service avec votre application dans le didacticiel sur la configuration de la fonctionnalité Restrictions d’accès de point de terminaison de serviceYou can learn more about configuring service endpoints with your app in the tutorial on Configuring Service Endpoint Access Restrictions

les connexions hybridesHybrid Connections

La fonctionnalité Connexions hybrides App Service permet à vos applications d’effectuer des appels sortants vers des points de terminaison TCP spécifiés.App Service Hybrid Connections enables your apps to make outbound calls to specified TCP endpoints. Le point de terminaison peut être en local, dans un réseau virtuel ou dans n’importe quel emplacement qui autorise le trafic sortant vers Azure sur le port 443.The endpoint can be on-premises, in a VNet or anywhere that allows outbound traffic to Azure on port 443. La fonctionnalité nécessite l’installation d’un agent de relais appelé Hybrid Connection Manager (HCM) sur un ordinateur hôte Windows Server 2012 ou plus récent.The feature requires the installation of a relay agent called the Hybrid Connection Manager (HCM) on a Windows Server 2012 or newer host. HCM doit être en mesure d’atteindre Azure Relay sur le port 443.The HCM needs to be able to reach Azure Relay at port 443. HCM peut être téléchargé à partir de l’interface utilisateur Connexions hybrides App Service dans le portail.The HCM can be downloaded from the App Service Hybrid Connections UI in the portal.

Flux réseau Connexions hybrides

La fonctionnalité Connexions hybrides App Service repose sur la fonctionnalité Connexions hybrides Azure Relay.The App Service Hybrid Connections feature is built on the Azure Relay Hybrid Connections capability. App Service utilise une forme spécialisée de la fonctionnalité qui prend uniquement en charge les appels sortants de votre application vers un port et un hôte TCP.App Service uses a specialized form of the feature that only supports making outbound calls from your app to a TCP host and port. Cet hôte et ce port doivent uniquement effectuer la résolution sur l’hôte sur lequel HCM est installé.This host and port only need to resolve on the host where the HCM is installed. Lorsque l’application, dans App Service, effectue une recherche DNS sur l’hôte et le port définis dans votre connexion hybride, le trafic est redirigé automatiquement pour traverser la connexion hybride et sortir de HCM.When the app, in App Service, does a DNS lookup on the host and port defined in your Hybrid Connection, the traffic is automatically redirected to go through the Hybrid Connection and out the Hybrid Connection Manager. Pour en savoir plus sur les connexions hybrides, consultez la documentation sur les connexions hybrides App ServiceTo learn more about Hybrid Connections, read the documentation on App Service Hybrid Connections

Cette fonctionnalité est couramment utilisée pour :This feature is commonly used to:

  • Accéder aux ressources dans des réseaux privés qui ne sont pas connectés à Azure avec une connexion VPN ou ExpressRouteAccess resources in private networks that are not connected to Azure with a VPN or ExpressRoute
  • Prendre en charge les opérations lift and shift des applications locales vers App Service sans avoir à déplacer également les bases de données prise en chargeSupport lift and shift of on-premises apps to App Service without needing to also move supporting databases
  • Fournir un accès sécurisé à un seul hôte et un port par connexion hybride.Securely provide access to a single host and port per Hybrid Connection. La plupart des fonctionnalités de mise en réseau ouvrent l’accès à un réseau et avec Connexions hybrides, vous pouvez uniquement avoir les hôte et port uniques que vous pouvez atteindre.Most networking features open access to a network and with Hybrid Connections you only have the single host and port you can reach.
  • Aborder les scénarios non couverts par les autres méthodes de connectivité sortanteCover scenarios not covered by other outbound connectivity methods
  • Effectuer le développement dans App Service où les applications peuvent facilement tirer parti des ressources localesPerform development in App Service where the apps can easily leverage on-premises resources

Étant donné que la fonctionnalité permet d’accéder aux ressources locales sans un trou de pare-feu de trafic entrant, elle est populaire auprès des développeurs.Because the feature enables access to on-premises resources without an inbound firewall hole, it is popular with developers. Les autres fonctionnalités de mise en réseau App Service sortantes sont en lien très étroit avec le réseau virtuel Azure.The other outbound App Service networking features are very Azure Virtual Networking related. La fonctionnalité Connexions hybrides ne doit pas nécessairement passer par un réseau virtuel et peut être utilisée pour des besoins de mise en réseau plus larges.Hybrid Connections does not have a dependency on going through a VNet and can be used for a wider variety of networking needs. Il est important de noter que la fonctionnalité Connexions hybrides App Service n’a que faire de savoir ce que vous utilisez en plus de celle-ci ou de le savoir.It is important to note that the App Service Hybrid Connections feature does not care or know what you are doing on top of it. Cela signifie que vous pouvez l’utiliser pour accéder à une base de données, à un service web ou à un socket TCP arbitraire sur un mainframe.That is to say that you can use it to access a database, a web service or an arbitrary TCP socket on a mainframe. La fonctionnalité crée essentiellement des tunnels pour les paquets TCP.The feature essentially tunnels TCP packets.

Bien que la fonctionnalité Connexions hybrides soit populaire pour le développement, elle est également utilisée dans de nombreuses applications de production.While Hybrid Connections is popular for development, it is also used in numerous production applications as well. Elle est très utile pour accéder à un service web ou à une base de données, mais elle n’est pas appropriée pour les situations impliquant la création de nombreuses connexions.It is great for accessing a web service or database, but is not appropriate for situations involving creating many connections.

Passerelle exigeant l’intégration au réseau virtuelGateway required VNet Integration

La fonctionnalité Passerelle exigeant l’intégration au réseau virtuel App Service permet à votre application d’envoyer des requêtes sortantes dans un réseau virtuel Azure.The gateway required App Service VNet Integration feature enables your app to make outbound requests into an Azure Virtual Network. La fonctionnalité fonctionne en connectant l’hôte sur lequel votre application s’exécute à une passerelle de réseau virtuel sur votre réseau virtuel avec une connexion VPN de point à site.The feature works by connecting the host your app is running on to a Virtual Network gateway on your VNet with a point-to-site VPN. Lorsque vous configurez la fonctionnalité, votre application obtient une des adresses de point à site attribuées à chaque instance.When you configure the feature, your app gets one of the point-to-site addresses assigned to each instance. Cette fonctionnalité vous permet d’accéder aux ressources dans les réseaux virtuels classiques ou Resource Manager dans une région.This feature enables you to access resources in either Classic or Resource Manager VNets in any region.

Passerelle exigeant l’intégration au réseau virtuel

Cette fonctionnalité résout le problème de l’accès aux ressources dans d’autres réseaux virtuels et peut même être utilisée pour se connecter via un réseau virtuel à d’autres réseaux virtuels, voire à des réseaux locaux.This feature solves the problem of accessing resources in other VNets and can even be used to connect through a VNet to either other VNets or even on-premises. Elle ne fonctionne pas avec des réseaux virtuels connectés à ExpressRoute, mais fonctionne avec des réseaux connectés VPN de site à site.It does not work with ExpressRoute connected VNets but does with Site-to-site VPN connected networks. Il est normalement inapproprié d’utiliser cette fonctionnalité à partir d’une application dans un ASE, car l’ASE est déjà dans votre réseau virtuel.It is normally inappropriate to use this feature from an app in an App Service Environment (ASE), because the ASE is already in your VNet. Les cas d’usage que cette fonctionnalité traite sont les suivants :The use cases that this feature solves are:

  • Accéder aux ressources sur des adresses IP privées dans vos réseaux virtuels AzureAccessing resources on private IPs in your Azure virtual networks
  • Accéder aux ressources locales s’il existe un VPN de site à siteAccessing resources on-premises if there is a site-to-site VPN
  • Accéder aux ressources dans des réseaux virtuels avec peeringAccessing resources in peered VNets

Lorsque cette fonctionnalité est activée, votre application utilise le serveur DNS avec lequel le réseau virtuel de destination est configuré.When this feature is enabled, your app will use the DNS server that the destination VNet is configured with. Vous trouverez plus d’informations sur cette fonctionnalité dans la documentation sur l’intégration au réseau virtuel App Service.You can read more on this feature in the documentation on App Service VNet Integration.

Intégration au réseau virtuelVNet Integration

La fonctionnalité Passerelle exigeant l’intégration au réseau virtuel est très utile mais ne résout pas le problème d’accès aux ressources via ExpressRoute.The gateway required VNet Integration feature is very useful but still does not solve accessing resources across ExpressRoute. En plus de devoir atteindre les ressources via des connexions ExpressRoute, il est nécessaire que les applications soient en mesure d’effectuer des appels vers les services sécurisés de point de terminaison de service.On top of needing to reach across ExpressRoute connections, there is a need for apps to be able to make calls to service endpoint secured services. Pour traiter ces deux besoins supplémentaires, une autre fonctionnalité Intégration au réseau virtuel a été ajoutée.To solve both of those additional needs, another VNet Integration capability was added. La nouvelle fonctionnalité Intégration au réseau virtuel vous permet de placer le back end de votre application dans un sous-réseau dans un réseau virtuel Resource Manager dans la même région.The new VNet Integration feature enables you to place the backend of your app in a subnet in a Resource Manager VNet in the same region. Cette fonctionnalité n’est pas disponible à partir d’un ASE, qui se trouve déjà dans un réseau virtuel.This feature is not available from an App Service Environment, which is already in a VNet. Cette fonctionnalité permet :This feature enables:

  • D’accéder aux ressources dans les réseaux virtuels Resource Manager de la même régionAccessing resources in Resource Manager VNets in the same region
  • D’accéder à des ressources sécurisées avec des points de terminaison de serviceAccessing resources that are secured with service endpoints
  • D’accéder à des ressources qui sont accessibles via des connexions ExpressRoute ou VPNAccessing resources that are accessible across ExpressRoute or VPN connections

Intégration au réseau virtuel

Cette fonctionnalité est en préversion et ne doit pas être utilisée pour les charges de travail en production.This feature is in preview and should not be used for production workloads. Pour en savoir plus sur cette fonctionnalité, lisez la documentation sur l’intégration au réseau virtuel App Service.To learn more about this feature, read the docs on App Service VNet Integration.

Environnement App ServiceApp Service Environment

Un ASE est un déploiement avec locataire unique d’Azure App Service, qui s’exécute sur votre réseau virtuel.An App Service Environment (ASE) is a single tenant deployment of the Azure App Service that runs in your VNet. Vous pouvez utiliser l’ASE dans les cas suivants :The ASE enables use cases such as:

  • Accéder aux ressources dans votre réseau virtuelAccess resources in your VNet
  • Accéder aux ressources via ExpressRouteAccess resources across ExpressRoute
  • Exposer vos applications avec une adresse privée dans votre réseau virtuelExpose your apps with a private address in your VNet
  • Accéder aux ressources via des points de terminaison de serviceAccess resources across service endpoints

Avec un ASE, vous n’avez pas besoin d’utiliser des fonctionnalités telles que l’intégration au réseau virtuel ou les points de terminaison de service, car l’ASE est déjà dans votre réseau virtuel.With an ASE, you do not need to use features like VNet Integration or service endpoints because the ASE is already in your VNet. Si vous souhaitez accéder aux ressources telles que SQL ou Stockage sur les points de terminaison de service, activez les points de terminaison de service sur le sous-réseau ASE.If you want to access resources like SQL or Storage over service endpoints, enable service endpoints on the ASE subnet. Si vous souhaitez accéder aux ressources dans le réseau virtuel, aucune configuration supplémentaire n’est requise.If you want to access resources in the VNet, there is no additional configuration required. Si vous souhaitez accéder aux ressources sur ExpressRoute, vous êtes déjà dans le réseau virtuel et n’avez pas besoin de configurer quoi que ce soit sur l’ASE ou les applications qu’il contient.If you want to access resources across ExpressRoute, you are already in the VNet and do not need to configure anything on the ASE or the apps inside it.

Étant donné que les applications dans un ASE ILB peuvent être exposées sur une adresse IP privée, vous pouvez facilement ajouter des appareils de pare-feu d’applications web pour exposer uniquement les applications que vous souhaitez sur Internet tout en sécurisant le reste.Because the apps in an ILB ASE can be exposed on a private IP address, you can easily add WAF devices to expose just the apps that you want to the internet and keep the rest secure. L’ASE est tout à fait adapté pour le déploiement simple d’applications à plusieurs niveaux.It lends itself to easy development of multi-tier applications.

Néanmoins, certaines actions ne peuvent pas encore être réalisées depuis le service multilocataire alors qu’elles sont possibles via un ASE.There are some things that are not yet possible from the multi-tenant service that are from an ASE. Celles-ci comprennent :Those include things like:

  • L’exposition de vos applications sur une adresse IP privéeExpose your apps on a private IP address
  • La sécurisation de l’ensemble du trafic sortant avec les contrôles réseau qui ne font pas partie de votre applicationSecure all outbound traffic with network controls that are not a part of your app
  • L’hébergement de vos applications dans un service de locataire uniqueHost your apps in a single tenant service
  • La montée en puissance vers beaucoup plus d’instances que dans le service multilocataireScale up to many more instances than are possible in the multi-tenant service
  • Le chargement de certificats clients d’autorité de certification privés pour une utilisation par vos applications avec des points de terminaison sécurisés d’autorité de certification privésLoad private CA client certificates for use by your apps with private CA secured endpoints
  • L’application forcée du protocole TLS 1.1 sur toutes les applications hébergées dans le système sans possibilité de le désactiver au niveau de l’applicationForce TLS 1.1 across all of the apps hosted in the system without any ability to disable at the app level
  • La proposition d’une adresse sortante dédiée pour toutes les applications dans votre ASE qui n’est pas partagée avec des clientsProvide a dedicated outbound address for all of the apps in your ASE that is not shared with any customers

ASE dans un réseau virtuel

L’ASE offre la meilleure solution en ce qui concerne l’hébergement d’applications dédiées et isolées, mais présente également quelques problèmes de gestion.The ASE provides the best story around isolated and dedicated app hosting but does come with some management challenges. Voici quelques points à prendre en compte avant d’utiliser un ASE opérationnel :Some things to consider before using an operational ASE are:

  • Un ASE s’exécute au sein de votre réseau virtuel, mais a des dépendances en dehors du réseau virtuel.An ASE runs inside your VNet but does have dependencies outside of the VNet. Ces dépendances doivent être autorisées.Those dependencies must be allowed. Apprenez-en davantage dans Networking considerations for an App Service Environment (Considérations relatives à la mise en réseau pour un App Service Environment)Read more in Networking considerations for an App Service Environment
  • Un ASE n’évolue pas immédiatement comme le service multilocataire.An ASE does not scale immediately like the multi-tenant service. Vous devez anticiper les besoins de mise à l’échelle, plutôt que d’effectuer une mise à l’échelle quand il est trop tard.You need to anticipate scaling needs rather than reactively scaling.
  • Les frais initiaux d’un ASE sont plus élevés.An ASE does have a higher up front cost associated with it. Afin de tirer le meilleur parti de votre ASE, vous devez planifier l’ajout de nombreuses charges de travail dans un ASE plutôt que de l’utiliser pour quelques tâches uniquementIn order to get the most out of your ASE, you should plan on putting many workloads into one ASE rather than have it used for small efforts
  • Les applications dans un ASE ne peuvent pas restreindre l’accès à certaines applications dans un ASE et pas dans d’autres.The apps in an ASE cannot restrict access to some apps in an ASE and not others.
  • L’ASE se trouve dans un sous-réseau et des règles de mise en réseau s’appliquent à tout le trafic vers et depuis cet environnement ASE.The ASE is in a subnet and any networking rules apply to all the traffic to and from that ASE. Si vous souhaitez attribuer des règles de trafic entrant pour une seule application, utilisez la fonctionnalité Restrictions d’accès.If you want to assign inbound traffic rules for just one app, use Access Restrictions.

Combinaison de fonctionnalitésCombining features

Les fonctionnalités indiquées pour le service multilocataire peuvent être utilisées ensemble pour traiter des cas d’usage plus complexes.The features noted for the multi-tenant service can be used together to solve more elaborate use cases. Deux des cas d’usage les plus courants sont décrits ici, mais ils servent uniquement d’exemples.Two of the more common use cases are described here but they are just examples. En comprenant le fonctionnement des différentes fonctionnalités, vous pouvez traiter pratiquement tous les besoins architecturaux de votre système.By understanding what the various features do, you can solve nearly all of your system architecture needs.

Injecter une application dans un réseau virtuelInject app into a VNet

Une requête courante est de savoir comment ajouter votre application dans un réseau virtuel.A common request is on how to put your app in a VNet. Ajouter votre application dans un réseau virtuel signifie que les points de terminaison entrants et sortants d’une application se trouvent au sein d’un réseau virtuel.Putting your app into a VNet means that the inbound and outbound endpoints for an app are within a VNet. L’ASE offre la meilleure solution pour résoudre ce problème, mais vous pouvez obtenir la majeure partie de ce qui est nécessaire dans le service multilocataire en combinant des fonctionnalités.The ASE provides the best solution to solve this problem but, you can get most of what is needed with in the multi-tenant service by combining features. Par exemple, vous pouvez héberger des applications Intranet uniquement avec des adresses entrantes et sortantes privées en :For example, you can host intranet only applications with private inbound and outbound addresses by:

  • Créant une instance Application Gateway avec une adresse entrante et sortante privéeCreating an Application Gateway with private inbound and outbound address
  • Sécurisant le trafic entrant vers votre application avec des points de terminaison de serviceSecuring inbound traffic to your app with service endpoints
  • Utilisant la nouvelle fonctionnalité Intégration au réseau virtuel de façon que le back end de votre application se trouve dans votre réseau virtuelUse the new VNet Integration so the backend of your app is in your VNet

Ce style de déploiement ne vous donnerait pas d’adresse dédiée pour le trafic sortant vers Internet ou ne vous donnerait pas la possibilité de verrouiller tout le trafic sortant depuis votre application.This deployment style would not give you a dedicated address for outbound traffic to the internet or give you the ability to lock down all outbound traffic from your app. Ce style de déploiement vous permettrait d’obtenir autant d’éléments que ceux que vous pourriez avoir avec un ASE.This deployment style would give you a much of what you would only otherwise get with an ASE.

Créer des applications avec plusieurs niveauxCreate multi-tier applications

Une application avec plusieurs niveaux est une application où les applications de back end d’API sont uniquement accessibles à partir du niveau frontend.A multi-tier application is an application where the API backend apps can only be accessed from the front-end tier. Pour créer une application à plusieurs niveaux, vous pouvez :To create a multi-tier application, you can:

  • Utiliser la fonctionnalité Intégration au réseau virtuel pour connecter le back end de votre application web frontend à un sous-réseau dans un réseau virtuelUse VNet Integration to connect the backend of your front-end web app with a subnet in a VNet
  • Utiliser des points de terminaison de service pour sécuriser le trafic entrant vers votre application API à celui provenant uniquement du sous-réseau utilisé par votre application web frontendUse service endpoints to secure inbound traffic to your API app to only coming from the subnet used by your front-end web app

application à plusieurs niveaux

Vous pouvez avoir plusieurs applications frontend qui utilisent la même application API à l’aide de la fonctionnalité Intégration au réseau virtuel à partir d’autres applications frontend et points de terminaison de service de l’application API avec leurs sous-réseaux.You can have multiple front-end apps use the same API app by using VNet Integration from the other front-end apps and service endpoints from the API app with their subnets.