Déploiement d'une appli web conteneurisée sur Amazon ECS

GUIDE DE DÉMARRAGE

Module 1 : Présentation d'Amazon ECS

Dans ce module, nous allons découvrir Amazon Elastic Container Service (ECS) et les éléments du service.

Introduction

L'objectif de ce module est de vous présenter les concepts d'Amazon ECS. Nous allons aborder les éléments qui composent ECS (cluster, définition de tâche, service), ce qu'est l'orchestration et comment choisir le type de calcul à utiliser pour l'exécution de vos conteneurs. Si vous connaissez déjà ECS, vous pouvez passer directement au module 2.

Ce que vous apprendrez

  • Définition d'Amazon ECS
  • Éléments qui composent ECS
  • Différences entre l'utilisation d'instances Amazon EC2 ou d'Amazon Fargate pour l'exécution de vos conteneurs

 Durée

5 minutes

 Prérequis du module

  • Compte AWS avec accès administrateur**
  • Dernière version de Chrome ou de Firefox (recommandé)

[**]Les comptes créés au cours des dernières 24 heures n'ont sans doute pas encore accès aux services requis pour ce didacticiel.

Implémentation

Définition d'Amazon ECS

Amazon Elastic Container Service (ou simplement ECS) est un service d'orchestration de conteneurs entièrement géré qui vous permet de déployer, de gérer et de mettre à l'échelle en toute simplicité des applications conteneurisées. Il est profondément intégré au reste de la plateforme AWS afin de fournir une solution sécurisée et simple d'utilisation pour l'exécution de charges de travail de conteneurs dans le cloud et désormais sur votre infrastructure avec Amazon ECS Anywhere. Un orchestrateur gère le cycle de vie de votre conteneur, qu'il s'agisse de le déployer, de s'assurer que son état est sain, de remplacer les nœuds défectueux ou de gérer les nouveaux déploiements.

Éléments qui composent ECS

Un cluster ECS est une construction logique qui regroupe tous les conteneurs déployés dans un cluster. Il n'y a pas de coût pour un cluster, uniquement pour le calcul et toute autre infrastructure que vous utilisez pour l'exécution de vos conteneurs. Pour lancer un conteneur, vous fournissez une définition de tâche qui contient des propriétés telles que l'emplacement de l'image du conteneur, la quantité de CPU et de mémoire, la configuration de la journalisation, etc. Cela ne lance pas un conteneur, mais fournit simplement toute la configuration nécessaire pour pouvoir l'exécuter. Pour lancer un conteneur, vous devez définir un service. Dans le service, vous définissez le nombre de copies du conteneur que vous souhaitez (ou, si vous souhaitez qu'il s'exécute sur chaque instance, un démon, qui doit être exécuté sur chaque hôte). ECS se charge de l'orchestration. Pour exposer vos services à Internet, vous devez configurer un Application Load Balancer pour transférer les demandes à votre service. Enfin, ECS peut être configuré pour déployer sur plusieurs zones de disponibilité (AZ). ECS équilibre automatiquement le déploiement sur le nombre d'AZ disponibles et met à jour l'équilibreur de charge avec les détails de chaque déploiement pour autoriser l'acheminement du trafic vers lui. 

Vous trouverez ci-dessous un diagramme de ce que pourrait être l'infrastructure :

gsg-build-ecs-1

Planification de la capacité de calcul et options

ECS est capable de programmer des services à exécuter sur un hôte EC2 (machine virtuelle) ou en utilisant Amazon Fargate, un moteur de calcul sans serveur pour les conteneurs. Lorsque vous exécutez des conteneurs, vous devez tenir compte de la planification des capacités. Par exemple, si vous avez 2 hôtes disponibles dans votre cluster, chacun avec 512 Mo de mémoire, le cluster indique un total de 1 024 Mo de mémoire disponible, mais vous ne pouvez pas lancer un nouveau conteneur qui nécessite plus de 512 Mo de mémoire, car il n'y a pas d'hôte unique avec suffisamment de mémoire. Ce problème peut être résolu en utilisant des fournisseurs de capacité pour la mise à l'échelle automatique du cluster. 

Vous pouvez également utiliser Fargate, qui vous permet de spécifier les exigences en matière de CPU et de mémoire pour chaque conteneur, puis lance pour vous le calcul nécessaire pour l'exécution du conteneur. La principale différence entre Fargate et les hôtes EC2 est que vous n'avez pas besoin de configurer, de gérer ou de tenir à jour le système d'exploitation sur l'hôte lorsque vous utilisez Fargate, ni de planifier les capacités. En effet, Fargate lance la capacité exacte dont vous avez besoin.

Conclusion

Dans ce module, nous avons abordé la définition d'Amazon ECS, les éléments utilisés et les différences entre l'utilisation d'Amazon EC2 ou d'Amazon Fargate pour fournir la capacité pour l'exécution de vos conteneurs. Dans le module suivant, nous allons créer notre premier cluster ECS.

À suivre : Création d'une infrastructure

Dites-nous si nous avons répondu à vos attentes.

Nous vous remercions pour votre commentaire
Nous sommes ravis que cette page vous ait été utile. Souhaitez-vous partager des détails supplémentaires pour nous aider à continuer à nous améliorer ?
Fermer
Nous vous remercions pour votre commentaire
Nous sommes désolés que cette page ne vous ait pas été utile. Souhaitez-vous partager des détails supplémentaires pour nous aider à continuer à nous améliorer ?
Fermer