Utiliser un environnement App Service

Le service App Service Environment est un déploiement monolocataire d’Azure App Service. Vous l’utilisez avec un réseau virtuel Azure et vous êtes le seul utilisateur de ce système. Les applications déployées sont sujettes aux fonctionnalités de mise en réseau appliquées au sous-réseau. Il n’y a pas d’autres fonctionnalités à activer sur vos applications pour qu’elles soient sujettes à ces fonctionnalités de mise en réseau.

Notes

Cet article concerne la fonctionnalité App Service Environment v3 qui est utilisée avec des plans App Service v2 isolés.

Créer une application

Pour créer une application dans votre App Service Environment, vous utilisez le même processus que lorsque vous créez normalement une application, mais avec quelques petites différences. Lorsque vous créez un plan App Service :

  • Au lieu de choisir un emplacement géographique dans lequel déployer votre application, vous choisissez un App Service Environment comme emplacement.
  • Tous les plans App Service créés dans un App Service Environment ne peuvent s’inscrire que dans un niveau tarifaire v2 isolé.

Si vous n’en avez pas encore, créez un App Service Environment.

Pour créer une application dans un App Service Environment :

  1. Sélectionnez Créer une ressource>Web + Mobile>Application web.
  2. Sélectionnez un abonnement.
  3. Entrez un nom pour un nouveau groupe de ressources ou sélectionnez Utilisez existant et choisissez-en un dans la liste déroulante.
  4. Entrez un nom pour l’application. Si vous avez déjà sélectionné un plan App Service dans un App Service Environment, le nom de domaine de l’application reflète le nom de domaine de l’App Service Environment.
  5. Pour Publier, Pile d'exécution et Système d’exploitation, opérez vos sélections de façon appropriée.
  6. Pour Région, sélectionnez un App Service Environment v3 préexistant. Si vous souhaitez créer un App Service Environment, sélectionnez une région. Screenshot that shows how to create an app in an App Service Environment.
  7. Sélectionnez ou créez un plan App Service. Si vous créez un plan, sélectionnez la taille souhaitée pour votre plan App Service. La seule référence SKU que vous pouvez sélectionner pour votre application est une référence (SKU) de tarification Isolé v2. La création d’un plan App Service prend généralement moins de 20 minutes. Screenshot that shows pricing tiers and their features and hardware.
  8. Si vous avez choisi de créer un App Service Environment dans le cadre de la création de votre plan App Service, renseignez le nom et le type d’adresse IP virtuelle.
  9. Sélectionnez Suivant : Supervision. Si vous souhaitez activer Application Insights avec votre application, vous pouvez le faire ici pendant le flux de création.
  10. Sélectionnez Suivant : Balises Ajoutez les balises de votre choix à l’application.
  11. Sélectionnez Revoir + créer. Vérifiez que les informations sont correctes, puis sélectionnez Créer.

Des applications Linux et Windows peuvent se trouver dans le même App Service Environment, mais pas dans le même plan App Service.

Fonctionnement de la mise à l’échelle

Chaque application App Service s’exécute dans un plan App Service. Les environnements App Service contiennent les plans App Service, et les plans App Service contiennent les applications. Lorsque vous mettez à l’échelle une application, vous mettez à l’échelle v le plan App Service, et toutes les applications contenues dans ce même plan.

Lorsque vous mettez à l’échelle un plan App Service, l’infrastructure nécessaire est automatiquement ajoutée. Il faut savoir qu’il existe un délai pour les opérations de mise à l’échelle lors de l’ajout de l’infrastructure. Par exemple, lorsque vous mettez à l’échelle un plan App Service alors que vous disposez d’une autre opération de mise à l’échelle du même système d’exploitation et de la même taille, un délai de quelques minutes d’attente peut s’écouler avant que la mise à l’échelle demandée démarre.

Une opération de mise à l’échelle sur une taille et un système d’exploitation n’affecte pas la mise à l’échelle des autres combinaisons de taille et de système d’exploitation. Par exemple, si vous mettez à l’échelle un plan App Service I2v2 Windows, une opération de mise à l’échelle vers un plan App Service I3v2 Windows démarre immédiatement. La mise à l’échelle prend normalement moins de 15 minutes.

Dans un App Service mutualisé, la mise à l’échelle est immédiate, car il existe un pool de ressources partagées instantanément disponible pour la prendre en charge. App Service Environment étant un service monolocataire, il n’y a pas de mémoire tampon partagée, et les ressources sont allouées en fonction des besoins.

Accès de l’application

Dans un App Service Environment avec adresse IP virtuelle interne, le suffixe de domaine utilisé pour la création d’application est .<asename>.appserviceenvironment.net. Si votre App Service Environment est nommé my-ase et que vous y hébergez une application appelée contoso, vous l’atteignez aux URL suivantes :

  • contoso.my-ase.appserviceenvironment.net
  • contoso.scm.my-ase.appserviceenvironment.net

Les applications hébergées sur un App Service Environment qui utilise une adresse IP virtuelle interne sont accessibles uniquement si vous êtes dans le même réseau virtuel ou si elles sont connectées à celui-ci. De même, la publication n’est possible que si vous êtes dans le même réseau virtuel ou êtes connecté à celui-ci.

Dans un App Service Environment avec une adresse IP virtuelle externe, le suffixe de domaine utilisé pour la création d’application est .<asename>.p.azurewebsites.net. Si votre App Service Environment est nommé my-ase et que vous y hébergez une application appelée contoso, vous l’atteignez aux URL suivantes :

  • contoso.my-ase.p.azurewebsites.net
  • contoso.scm.my-ase.p.azurewebsites.net

Vous utilisez l’URL scm pour accéder à la console Kudu ou pour publier votre application à l’aide de Web Deploy. Pour plus d’informations, consultez Console Kudu pour Azure App Service. La console Kudu offre une interface utilisateur web pour le débogage, le chargement et la modification de fichiers.

Configuration DNS

Si votre App Service Environment est créé avec une adresse IP virtuelle externe, vos applications sont automatiquement placées dans un DNS public. Si votre App Service Environment est créé avec une adresse IP virtuelle interne, il se peut que vous deviez configurer un DNS.

Si vous avez choisi de configurer automatiquement des zones privées Azure DNS, le DNS est configuré dans le réseau virtuel de votre App Service Environment. Si vous avez choisi de configurer le DNS manuellement, vous devez utiliser votre propre serveur DNS ou configurer des zones privées Azure DNS.

Pour rechercher l’adresse entrante, dans le portail App Service Environment, sélectionnez Adresses IP.

Screenshot that shows how to find the inbound address.

Si vous souhaitez utiliser votre propre serveur DNS, vous devez ajouter les enregistrements suivants :

  1. Créez une zone pour <App Service Environment-name>.appserviceenvironment.net.
  2. Créez un enregistrement A dans cette zone, qui pointe * vers l’adresse IP entrante qu’utilise votre App Service Environment.
  3. Créez un enregistrement A dans cette zone, qui pointe @ vers l’adresse IP entrante qu’utilise votre App Service Environment.
  4. Créez dans <App Service Environment-name>.appserviceenvironment.net une zone nommée scm.
  5. Créez un enregistrement A dans la zone scm, qui pointe * vers l’adresse IP entrante qu’utilise votre App Service Environment.

Pour configurer DNS dans des zones privées Azure DNS :

  1. Créez une zone privée Azure DNS nommée <App Service Environment-name>.appserviceenvironment.net.
  2. Créez un enregistrement A dans cette zone, qui pointe * vers l’adresse IP entrante.
  3. Créez un enregistrement A dans cette zone, qui pointe @ vers l’adresse IP entrante.
  4. Créez un enregistrement A dans cette zone, qui pointe *.scm vers l’adresse IP entrante.

Les paramètres DNS pour le suffixe de domaine par défaut de votre App Service Environment ne restreignent pas l’accès à vos applications uniquement à l’aide de ces noms. Vous pouvez définir un nom de domaine personnalisé sans validation sur vos applications dans un App Service Environment. Si vous souhaitez ensuite créer une zone nommée contoso.net, vous pouvez le faire et la pointer vers l’adresse IP entrante. Le nom de domaine personnalisé fonctionne pour les requêtes d’application, et si le certificat de suffixe de domaine personnalisé inclut un SAN générique pour scm, le nom de domaine personnalisé fonctionne également pour le site scm et vous pouvez créer un enregistrement *.scm afin de le pointer vers l’adresse IP entrante.

Publication

Vous pouvez publier à l’aide de l’une des méthodes suivantes :

  • Déploiement web
  • Intégration continue (CI)
  • Glisser-déplacer dans la console Kudu.
  • Un environnement de développement intégré (IDE), tel que Visual Studio, Eclipse ou IntelliJ IDEA

Avec un App Service Environment doté d’une adresse IP virtuelle, les points de terminaison de publication ne sont disponibles que par le biais de l’adresse entrante. Si vous n’avez pas d’accès réseau à l’adresse interne, vous ne pouvez pas publier d’applications dans cet App Service Environment. Vos IDE doivent également avoir un accès réseau à l’adresse entrante de l’App Service Environment pour publier directement sur celui-ci.

À défaut de modification supplémentaire, les systèmes d’intégration continue (CI) basés sur internet, comme GitHub et Azure DevOps, ne fonctionnent pas avec un App Service Environment doté d’une adresse IP virtuelle. Le point de terminaison de publication n’est pas accessible via Internet. Vous pouvez activer la publication sur un App Service Environment doté d’une adresse IP virtuelle à partir d’Azure DevOps en installant un agent de publication auto-hébergé dans le réseau virtuel.

Stockage

Vous disposez de 1 To de stockage pour toutes les applications dans votre App Service Environment. Un plan App Service dans la référence (SKU) de tarification isolée a une limite de 250 Go. Dans un environnement App Service Environment, 250 Go de stockage sont ajoutés par plan App Service dans la limite de 1 To. Vous pouvez avoir davantage de plans App Service, mais aucun stockage supplémentaire n’est disponible au-delà de 1 To.

Surveillance

L’infrastructure de la plateforme dans App Service Environment v3 est surveillée et gérée par Microsoft, et est mise à l’échelle en fonction des besoins. En tant que client, vous devez uniquement surveiller les plans App Service et les applications individuelles exécutées, et prendre les mesures appropriées. Certaines métriques s’affichent pour votre App Service Environment, mais elles ne sont utilisées que pour une version antérieure et n’ignorent aucune valeur pour cette version. Si vous utilisez App Service Environment v1 ou v2, reportez-vous à cette section pour obtenir des conseils sur la surveillance et la mise à l’échelle.

Journalisation

Vous pouvez opérer une intégration avec Azure Monitor pour envoyer des journaux à Stockage Azure, à Azure Event Hubs ou aux Journaux Azure Monitor. Le tableau suivant présente les situations et les messages que vous pouvez journaliser :

Situation Message
Le sous-réseau App Service Environment n’a presque plus d’espace disponible. L’App Service Environment spécifié se trouve dans un sous-réseau qui n’a presque plus d’espace. Il y a {0} adresses restantes. Une fois ces adresses épuisées, l’App Service Environment ne peut plus changer d’échelle.
App Service Environment approche de la limite d’instance totale. L’App Service Environment spécifié approche de la limite d’instance totale de l’App Service Environment. Il contient actuellement {0} instances du plan App Service sur un maximum de 200 instances.
App Service Environment est suspendu. L’App Service Environment spécifié est suspendu. La suspension de l’App Service Environment peut être due à une pénurie de compte ou à une configuration de réseau virtuel non valide. Résolvez la cause racine et relancez l’App Service Environment pour continuer le service du trafic.
La mise à niveau d’App Service Environment a démarré. Une mise à niveau de la plateforme vers l’App Service Environment spécifié a commencé. Attendez-vous à des retards dans les opérations de mise à l’échelle.
La mise à niveau de l’App Service Environment est terminée. Une mise à niveau de la plateforme vers l’App Service Environment spécifié s’est terminée.
La création de plan App Service a commencé La création d’un plan App Service ({0}) a commencé. État souhaité : {1} I{2}v2 Workers.
Les opérations de mise à l’échelle sont terminées La création d’un plan App Service ({0}) est terminée. État actuel : {1} I{2}v2 Workers.
Les opérations de mise à l’échelle ont échoué La création d’un plan App Service ({0}) a échoué. Cela peut être dû au fait que l’App Service Environment opère au nombre maximal d’instances ou manque d’adresses de sous-réseau.
Les opérations de mise à l’échelle ont commencé. Une mise à l’échelle d’un plan App Service ({0}) a commencé. État actuel : {1} I(2)v2. État souhaité : {3} I{4}v2 Workers.
Les opérations de mise à l’échelle sont terminées Une mise à l’échelle d’un plan App Service ({0}) est terminée. État actuel : {1} I{2}v2 Workers.
Les opérations de mise à l’échelle ont été interrompues. Un plan App Service ({0}) a été interrompu lors de la mise à l’échelle. État souhaité précédent : {1} I{2}v2 Workers. Nouvel état souhaité : {3} I{4}v2 Workers.
Les opérations de mise à l’échelle ont échoué Une mise à l’échelle d’un plan App Service ({0}) a échoué. État actuel : {1} I{2}v2 Workers.

Pour activer la journalisation, procédez comme suit :

  1. Dans le portail, accédez aux Paramètres de diagnostic.
  2. Sélectionnez Ajouter le paramètre de diagnostic.
  3. Fournissez un nom pour l’intégration des journaux.
  4. Sélectionnez et configurez les destinations souhaitées pour les journaux.
  5. Sélectionnez AppServiceEnvironmentPlatformLogs. Screenshot that shows how to enable logging.

Si vous effectuez une intégration avec les Journaux Azure Monitor, vous pouvez voir ceux-ci en sélectionnant Journaux dans le portail App Service Environment, et en créant une requête sur AppServiceEnvironmentPlatformLogs. Les journaux ne sont émis que lorsque votre App Service Environment a un événement qui les déclenche. Si votre App Service Environment n’a pas ce type d’événement, il n’y a pas de journal. Pour voir rapidement un exemple de journaux, effectuez une opération de mise à l’échelle avec un plan de App Service. Vous pouvez ensuite exécuter une requête sur AppServiceEnvironmentPlatformLogs pour afficher ces journaux.

Créer une alerte

Pour créer une alerte concernant vos journaux, suivez les instructions fournies dans Créer, afficher et gérer des alertes de journal en utilisant Azure Monitor. En bref :

  1. Ouvrez la page Alertes dans votre portail App service Environment.
  2. Sélectionnez Nouvelle règle d’alerte.
  3. Pour Ressource, sélectionnez l’espace de travail de vos Journaux Azure Monitor.
  4. Définissez votre condition avec une recherche de journal personnalisée pour utiliser une requête. Par exemple, vous pourriez définir ce qui suit : AppServiceEnvironmentPlatformLogs | où ResultDescription contient a commencé la mise à l’échelle. Définissez le seuil selon vos besoins.
  5. Ajoutez ou créez un groupe d’actions (facultatif). Le groupe d’actions est l’emplacement où vous définissez la réponse à l’alerte, par exemple l’envoi d’un e-mail ou d’un SMS.
  6. Nommez votre alerte et enregistrez-la.

Chiffrement interne

Vous ne pouvez pas voir les composants internes ou la communication au sein du système App Service Environment. Pour activer un débit plus élevé, le chiffrement n’est pas activé par défaut entre les composants internes. Le système est sécurisé parce que le trafic est inaccessible à des fins de supervision. Si vous avez une exigence de conformité pour un chiffrement complet du chemin d’accès aux données, vous pouvez l’activer. Sélectionnez Configuration comme illustré dans la capture d’écran suivante :

Screenshot that shows how to enable internal encryption.

Cette option chiffre le trafic réseau interne, ainsi que le fichier d’échange et les disques Worker. Sachez que cette option peut affecter les performances de votre système. Votre App Service Environment sera dans un état instable jusqu’à ce que la modification soit entièrement propagée. La propagation complète de la modification peut prendre quelques heures, en fonction du nombre d’instances.

Évitez d’activer cette option lorsque vous utilisez App Service Environment. Si vous devez le faire, il est judicieux de rediriger le trafic vers une sauvegarde jusqu’à la fin de l’opération.

Préférence de mise à niveau

Si vous avez plus d’un App Service Environment, vous souhaiterez peut-être que certains d’entre eux soient mis à niveau avant d’autres. Vous pouvez activer ce comportement via votre portail App Service Environment. Sous Configuration, vous avez la possibilité de définir Préférence de mise à niveau. Les valeurs possibles sont les suivantes :

  • Aucune : mises à niveau Azure dans aucun lot particulier. Cette valeur est la valeur par défaut.
  • Précoce : mise à niveau dans la première moitié des mises à niveau d’App Service.
  • Tardive : mise à niveau dans la seconde moitié des mises à niveau d’App Service.
  • Manuel : obtenez une fenêtre de 15 jours pour déployer manuellement la mise à niveau.

Sélectionnez la valeur de votre choix, puis choisissez Enregistrer.

Screenshot that shows the App Service Environment configuration portal.

Cette fonctionnalité est très utile lorsque vous avez plus d’un App Service Environment et pourriez tirer avantage d’une séquencement des mises à niveau. Par exemple, vous pourriez définir vos fonctionnalités App Service Environment de développement et de test pour qu’elles soient précoces, et celles de production pour qu’elles soient tardives.

Supprime un environnement App Service.

Pour supprimer les éléments suivants, procédez comme suit :

  1. En haut du volet App Service Environment, sélectionnez Supprimer.
  2. Entrez le nom de votre App Service Environment pour confirmer que vous souhaitez le supprimer. Lorsque vous supprimez un App Service Environment, vous supprimez également tout son contenu. Screenshot that shows how to delete.
  3. Sélectionnez OK.