Comment créer un cluster ECS sur AWS

Comment créer un cluster ECS sur AWS
ECS (Elastic Container Service) est un service de conteneur géré, hautement disponible et évolutif pour exécuter des applications conteneurisées sur AWS. Dans ECS, une définition de tâche est écrite pour définir les conteneurs et est utilisée pour exécuter un ou plusieurs processus en service. Un service dans ECS est une configuration qui peut être utilisée pour exécuter et gérer plusieurs tâches dans un cluster ECS simultanément.

Amazon ECS fournit des API simples pour interagir avec votre application conteneurisée en cours d'exécution sur ECS. En utilisant ces API, vous pouvez lancer, exécuter, démarrer et arrêter votre application conteneurisée. Vous pouvez également planifier le placement des conteneurs exécutant l'application sur votre nœud souhaité en fonction des ressources requises par l'application.

Voici quelques terminologies utilisées en travaillant avec le cluster ECS.

  • Conteneur et images
  • Définitions des tâches
  • Tâche et planification
  • Groupes
  • Agent de conteneur

Cet article découvrira comment un cluster ECS peut être créé sur AWS à l'aide de la console de gestion AWS.

Création d'un cluster ECS

Tout d'abord, connectez-vous à la console de gestion et allez au ECS prestations de service.

Dans le panneau latéral gauche de la console, cliquez sur le Groupes bouton.

Maintenant cliquez sur le Créer un cluster Pour commencer à créer le cluster.

Maintenant d'abord, il demandera le modèle de cluster ECS. Il existe trois modèles disponibles pour le cluster ECS.

  • Réseautage uniquement
  • EC2 Linux + Réseautage
  • EC2 Windows + Réseautage

Le Réseautage uniquement le modèle crée des clusters en utilisant AWS Fargate. AWS Fargate est la dernière technologie fournie par AWS pour déployer des clusters ECS. AWS Fargate est un service sans serveur pour déployer des clusters ECS, et vous n'avez pas besoin de gérer les nœuds à l'intérieur du cluster. Les nœuds sont gérés par AWS et vous ne fournissez que des définitions de tâches pour le service. Pour ce modèle, vous créez uniquement le cluster ECS, et VPC et les sous-réseaux sont facultatifs pour cela.

Le EC2 Linux + Réseautage Le modèle crée le cluster ECS, y compris les nœuds exécutant Linux Ami. Afin d'exécuter un cluster ECS à l'aide du modèle de mise en réseau EC2 Linux +, vous devez créer le groupe de cluster, de VPC, de sous-réseaux et de mise à l'échelle automatique avec Linux Amis. Le groupe de mise à l'échelle automatique est utilisé pour gérer les nœuds du cluster.

Le EC2 Windows + Réseautage Le modèle crée le cluster ECS avec Windows Amis. Vous créez le groupe de cluster, de sous-réseaux, de VPC et de l'échelle automatique avec Windows Amis. Les instances Windows sont gérées et mises à l'échelle par le groupe de mise à l'échelle automatique.

AWS recommande d'utiliser l'AWS Fargate pour exécuter le cluster ECS, et c'est la dernière technologie parmi ces éléments. Donc, pour cette démo, nous utiliserons l'AWS Fargate pour créer le cluster ECS.

Après avoir sélectionné l'option, cliquez maintenant sur le L'étape suivante bouton dans le coin inférieur droit de la page.

Il demandera les différentes configurations pour le cluster ECS. Le nom est l'identifiant unique du cluster ECS, et le même nom ne peut pas être utilisé pour un autre cluster ECS dans la même région.

Pour le réseau de cluster, vous pouvez créer le cluster à l'intérieur du VPC pour isoler le cluster ECS. Pour cette démo, nous n'exécuterons pas le cluster ECS à l'intérieur du VPC.

Les informations sur les conteneurs CloudWatch sont utilisées pour surveiller et dépanner les applications conteneurisées. Il recueille les différentes métriques des conteneurs tels que le processeur, la mémoire, l'espace et d'autres événements tels que le redémarrage, s'arrêter et commencer à donner un aperçu profond du conteneur. Pour cette démo, nous n'utiliserons pas les informations sur les conteneurs CloudWatch.

Après avoir fourni tous les détails ci-dessus, cliquez sur le Suivant bouton pour créer le cluster ECS.

Lorsque vous cliquez sur le Créer Bouton Pour créer le cluster ECS, il créera d'abord un rôle lié au service IAM pour l'ECS, puis créera le cluster.

Créer une définition de la tâche ECS

Après avoir créé le cluster ECS, créez maintenant une définition de tâche ECS pour déployer un échantillon de conteneur sur le cluster ECS.

Dans le panneau latéral gauche de la console ECS, cliquez sur le Définitions des tâches bouton.

Clique sur le Créer une nouvelle définition de la tâche bouton pour créer une nouvelle définition de tâche.

Tout d'abord, il demandera la compatibilité des types de lancement pour la définition de la tâche. Il existe trois compatibilités de type lancement pour les définitions de tâche.

  • Fargate
  • EC2
  • Externe

Le Fargate La compatibilité du type de lancement est utilisée pour l'infrastructure gérée par AWS, et il n'est pas nécessaire de déployer aucune instance EC2. Cette compatibilité de type lancement est utilisée pour les clusters ECS à l'aide d'AWS Fargate. Le coût est basé sur la taille du conteneur.

Le EC2 La compatibilité du type de lancement est utilisée pour l'infrastructure autogérée sur AWS, comme les instances EC2 ayant à la fois des fenêtres et des AMIS Linux. Cette compatibilité de type lancement est utilisée pour les deux EC2 Linux + Réseautage et EC2 Windows + Réseautage Modèles ECS. Le coût est basé sur les instances EC2.

Le Externe La compatibilité du type de lancement est utilisée pour le cluster ECS, y compris les instances autogérées sur site. Le prix est basé sur l'heure d'instance et les frais supplémentaires pour d'autres services.

Pour cette démo, nous utiliserons le Fargate Lancez la compatibilité du type comme nous utilisons le Réseautage uniquement modèle pour le cluster ECS.

Après avoir sélectionné la compatibilité des types de lancement, cliquez maintenant sur le L'étape suivante bouton dans le coin inférieur droit de la page. Il ouvrira une nouvelle page demandant la configuration des tâches et des conteneurs.

Entrez un nom unique pour la définition de la tâche à créer. Le rôle de la tâche est utilisé pour passer des appels API aux services AWS. Pour cette démo, laissez le rôle de la tâche à personne. La famille du système d'exploitation est le système d'exploitation que la définition de la tâche utilisera. Pour cette démo, sélectionnez Linux En tant que famille du système d'exploitation.

Maintenant faites défiler vers le bas vers le Exécution de la tâche Iam Rôle. L'exécution de la tâche IAM doit inclure des autorisations pour extraire l'image du conteneur et publier des journaux de conteneurs à Amazon CloudWatch. Si le rôle n'existe pas, il sera créé automatiquement par l'ECS.

La taille de la tâche est la mémoire et le nombre de VCPU qui seront alloués au conteneur pour l'exécution. Pour cette démo, allouer 0.5 Go de RAM et 0.25 VCPU.

Après avoir alloué RAM et VCPUS, cliquez maintenant sur le ajouter un conteneur bouton pour ajouter un conteneur. Entrez le nom du conteneur et l'image qui sera utilisée par le conteneur.

Vous pouvez également spécifier les limites dures et douces des ressources allouées au conteneur. Si une limite dure est spécifiée, le conteneur sera tué s'il dépasse cette limite. Si une limite molle est spécifiée, le conteneur réservera cette quantité de mémoire.

Le mappage des ports est utilisé pour accéder aux ports de conteneurs sur la machine hôte. Pour cette démo, définissez le port 80.

Maintenant, sautez toutes les options restantes et cliquez sur le créer bouton à la fin de la page pour créer la tâche.

Après avoir créé la définition de la tâche, allez maintenant au Définitions des tâches à partir du panneau latéral gauche de la console ECS. Sélectionnez la définition de tâche nouvellement créée et exécutez-la à l'aide du Exécuter la tâche option du Actions liste.

Il demandera les différentes options pour le conteneur avant de courir. Fournir le Fargate comme le type de lancement que nous utiliserons Fargat comme compatibilité de type de lancement.

Sélectionner Linux Comme le système d'exploitation du conteneur et fournissez les autres détails, comme indiqué dans l'image suivante.

Sélectionnez les groupes VPC, sous-réseau et de sécurité que vous souhaitez affecter à la définition de la tâche.

Après avoir fourni tous ces détails, cliquez maintenant sur le courir bouton pour exécuter la définition de la tâche. Après avoir exécuté la définition de la tâche, vérifiez maintenant l'état de la définition de la tâche à partir de la console.

Conclusion

Amazon ECS est un service hautement disponible et évolutif fourni par AWS pour exécuter des applications conteneurisées. AWS fournit des compatibilités de type de lancement différentes pour exécuter les applications conteneurisées sur AWS sans gérer l'outil de contenerisation. Après avoir créé le cluster ECS, vous devez créer la définition de la tâche pour exécuter un conteneur. Cet article décrit comment nous pouvons créer et exécuter des applications conteneurisées sur AWS ECS à l'aide de la console de gestion AWS.