Déploiement d'une application ASP.NET Core 2.0 sur Amazon ECS (EC2) - AWS Boîte à outils pour Visual Studio

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déploiement d'une application ASP.NET Core 2.0 sur Amazon ECS (EC2)

Cette section décrit comment utiliser lePublier un conteneur dansAWSAssistant, fourni dans le cadre de Toolkit for Visual Studio, pour déployer une application de conteneur ASP.NET Core 2.0 ciblant Linux via Amazon ECS en utilisant le type de lancement EC2. Dans la mesure où une application web est destinée à s'exécuter en continu, elle sera déployée sous la forme d'un service.

Avant de publier votre conteneur

Avant d'utiliser lePublier un conteneur dansAWSPour déployer votre application ASP.NET Core 2.0 :

Accès à l'assistant Publish Container toAWSsorcier

Pour déployer une application de conteneur ASP.NET Core 2.0 ciblant Linux, cliquez avec le bouton droit sur le projet dans l'Explorateur de solutions et sélectionnezPublier un conteneur dansAWS.

Vous pouvez également sélectionnerPublier un conteneur dansAWSdans le menu Génération de Visual Studio.

Publier un conteneur dansAWSAssistant

Account profile to use (Profil de compte à utiliser) - Sélectionnez un profil de compte à utiliser.

Région - Choisissez une région de déploiement. Le profil et la région sont utilisés pour configurer les ressources de votre environnement de déploiement et pour sélectionner le registre Docker par défaut.

Configuration - Sélectionnez la configuration de génération de l'image Docker.

Docker Repository (Référentiel Docker) - Choisissez un référentiel Docker existant ou saisissez le nom d'un nouveau référentiel pour le créer. Il s'agit du référentiel auquel l'image du conteneur de génération est envoyée.

Balise - Sélectionnez une balise existante ou saisissez le nom d'une nouvelle balise. Les balises peuvent suivre des détails importants, tels que la version, les options ou d'autres éléments de configuration uniques du conteneur Docker.

Déploiement - Sélectionnez Service on an ECS Cluster (Service sur un cluster ECS). Utilisez cette option de déploiement lorsque votre application est destinée à être de longue durée (comme une application web ASP.NET Core 2.0).

Enregistrer les paramètres dans aws-docker-tools-defaults.json et configurer le projet pour un déploiement de ligne de commande) - Cochez cette option si vous voulez profiter de la flexibilité du déploiement à partir de la ligne de commande. Utilisez dotnet ecs deploy dans le répertoire de votre projet pour déployer et publier le conteneur via dotnet ecs publish.

Page Configuration de lancement

ECS Cluster (Cluster ECS) - Sélectionnez le cluster qui exécutera votre image Docker. Vous pouvezCréation d'un cluster ECSUtilisation deAWSManagement Console.

Type de lancement - Choisissez EC2. Pour utiliser le type de lancement Fargate, consultez Déploiement d'une application ASP.NET Core 2.0 sur Amazon ECS (Fargate).

Page Configuration de service

Service - Sélectionnez l'un des services dans le menu déroulant pour déployer votre conteneur dans un service existant. Vous pouvez également choisir Créer pour créer un nouveau service. Les noms de service doivent être uniques au sein d'un cluster, mais des services peuvent porter des noms similaires dans des clusters différents d'une même région ou de plusieurs régions.

Number of Tasks (Nombre de tâches) - Nombre de tâches à déployer et qui doivent continuer à s'exécuter sur votre cluster. Chaque tâche est une instance de votre conteneur.

Minimum Healthy Percent (Pourcentage minimum d'instances saines) - Pourcentage de tâches qui doivent rester à l'état RUNNING lors d'un déploiement, arrondi à la hausse à l'entier le plus proche.

Maximum Percent (Pourcentage maximum) - Pourcentage de tâches autorisées à l'état RUNNING ou PENDING lors d'un déploiement, arrondi à la baisse à l'entier le plus proche.

Placement Templates (Modèles de placement) - Sélectionnez un modèle de placement de tâche.

Lorsque vous lancez une tâche dans un cluster, Amazon ECS doit déterminer où la placer en fonction des exigences spécifiées dans la définition de tâche, par exemple l'UC et la mémoire. De la même manière, lorsque vous réduisez le nombre de tâches, Amazon ECS doit déterminer quelles tâches doivent être résiliées.

Le modèle de placement contrôle la manière dont les tâches sont lancées dans un cluster :

  • AZ Balanced Spread (Répartition équilibrée par AZ) – Permet de répartir les tâches entre les zones de disponibilité et les instances de conteneur dans la zone de disponibilité.

  • AZ Balanced BinPack (BinPack équilibré par AZ) – Permet de répartir les tâches entre les zones de disponibilité et les instances de conteneur avec la quantité de mémoire disponible la moins élevée.

  • BinPack – Permet de répartir les tâches en fonction de la quantité disponible la moins élevée d'UC ou de mémoire.

  • One Task Per Host (Une tâche par hôte) – Permet de placer au maximum une tâche du service sur chaque instance de conteneur.

Pour en savoir plus, consultez Placement des tâches Amazon ECS.

Page Équilibreur de charge d'application

Configure Application Load Balancer (Configurer un équilibreur de charge d'application) - Cochez cette case pour configurer un équilibreur de charge d'application.

Select IAM role for service (Sélectionner un rôle IAM pour le service) - Sélectionnez un rôle existant ou choisissez Créer pour créer un nouveau rôle.

Équilibreur de charge - Sélectionnez un équilibreur de charge existant ou choisissez Créer et saisissez le nom du nouvel équilibreur de charge.

Port d’écoute - Sélectionnez un port d'écoute existant ou choisissez Créer et saisissez un numéro de port. Le port par défaut, 80, est approprié pour la plupart des applications web.

Groupe cible - Par défaut, l'équilibreur de charge envoie des demandes à des cibles enregistrées à l'aide du port et du protocole que vous avez spécifiés pour le groupe cible. Vous pouvez remplacer ce port lorsque vous enregistrez chaque cible auprès du groupe cible.

Modèle de chemin - L'équilibreur de charge utilisera le routage basé sur le chemin d'accès. Acceptez la barre oblique / par défaut ou indiquez un autre modèle. Le modèle de chemin est sensible à la casse, peut comporter jusqu'à 128 caractères et contient un jeu de caractères sélectionné.

Chemin de vérification de l'état - Chemin de ping, c'est-à-dire destination des vérifications de l'état sur les cibles. Par défaut, il s'agit de /, qui est approprié pour les applications web. Entrez un chemin différent si nécessaire. Si le chemin que vous saisissez n'est pas valide, la vérification de l'état échoue et il est considéré comme non sain.

Si vous déployez plusieurs services et que chacun d'eux est déployé dans un chemin ou un emplacement différent, vous aurez peut-être besoin de chemins de vérification personnalisés.

Page Définition de tâche ECS

Définition de tâche - Sélectionnez une définition de tâche existante ou choisissez Créer et saisissez le nom de la nouvelle définition de tâche.

Conteneur - Sélectionnez un conteneur existant ou choisissez Créer et saisissez le nom du nouveau conteneur.

Mémoire (Mio) - Fournissez des valeurs pour Limite flexible et/ou Limite stricte.

La limite flexible (en MiB) de mémoire à réserver pour le conteneur. Docker tente de conserver la mémoire du conteneur sous la limite flexible. Le conteneur peut consommer davantage de mémoire, jusqu'à la limite stricte spécifiée avec le paramètre de mémoire (le cas échéant), ou la totalité de la mémoire disponible sur l'instance de conteneur, le premier des deux prévalant.

La limite stricte (en Mio) de la mémoire à présenter le conteneur. Si votre conteneur tente de dépasser la mémoire spécifiée ici, il sera désactivé.

Rôle de tâche- Sélectionnez un rôle de tâche pour un rôle IAM qui autorise le conteneur à appeler leAWSLes API spécifiées dans ses stratégies associées en votre nom. Il s'agit de la manière dont les informations d'identification sont transmises à votre application. VoirComment spécifierAWSInformations d'identification de sécurité de votre application.

Port Mapping (Mappage de port) - Ajoutez, modifiez ou supprimez des mappages de port pour le conteneur. Si un équilibreur de charge est activé, le port hôte est 0 par défaut et l'affectation de port est dynamique.

Variables d'environnement - Ajoutez, modifiez ou supprimez des variables d'environnement pour le conteneur.

Lorsque la configuration vous satisfait, cliquez sur Publier pour commencer le processus de déploiement.

Publier un conteneur dansAWS

Des événements sont affichés pendant le déploiement. L'assistant se ferme automatiquement une fois l'opération terminée avec succès. Pour modifier cela, décochez la case située en bas de la page.

Vous trouverez l'URL de vos nouvelles instances dans leAWSExplorer. Développez Amazon ECS and Clusters, puis cliquez sur votre cluster.