Ta question
ECS est-il juste une installation de docker dans EC2? Si j'ai déjà un EC2, alors je démarre un ECS, cela signifie-t-il que j'ai deux instances?
Non. AWS ECSEst juste un regroupement logique (cluster) d' EC2instances, et toutes les EC2instances faisant partie d'un ECSagissent en tant Dockerqu'hôte, c'est-à-dire qu'ECS peut envoyer une commande pour lancer un conteneur sur elles ( EC2). Si vous avez déjà un EC2 et que vous lancez ensuite ECS, vous aurez toujours une seule instance. Si vous ajoutez / enregistrez (en installant l'agent de conteneur AWS ECS) l'EC2 à ECS, il deviendra la partie du cluster, mais toujours une instance unique d'EC2.
Un Amazon ECS sans EC2 enregistré (ajouté au cluster) n'est bon à rien.
TL; DR
Un aperçu
EC2 - est simplement une machine distante (virtuelle).
ECSsignifie Elastic Container Service- selon la définition de base du cluster d'ordinateurs , ECSest essentiellement un groupement logique de
EC2machines / instances . Techniquement parlant, il ECSs'agit d'une simple configuration pour une utilisation et une gestion efficaces des ressources de votre EC2
( vos) instance (s) à savoir le stockage, la mémoire, le processeur, etc.
Pour simplifier encore plus, si vous avez lancé un Amazon ECSsans aucune EC2instance ajoutée, c'est bon à rien, c'est-à-dire que vous ne pouvez rien y faire. ECSn'a de sens qu'une fois qu'une (ou plusieurs) EC2instances y sont ajoutées.
La prochaine chose déroutante ici est le terme de conteneur - qui n'est pas des instances de machine entièrement virtualisées, et Docker est une technologie que nous pouvons utiliser pour créer des instances de conteneur. Dockerest un utilitaire que vous pouvez installer sur notre machine, ce qui en fait un Dockerhôte, et sur cet hôte, vous pouvez créer des conteneurs (comme les machines virtuelles - mais beaucoup plus légers). Pour résumer, il ECSs'agit simplement de mettre en cluster des instances EC2 et d'utiliser Dockerpour instancier des conteneurs / instances / machines virtuelles sur ces EC2hôtes ( ) .
Tout ce que vous avez à faire est de lancer ECSet d'enregistrer / d'ajouter autant d' EC2instances que vous en avez besoin. Vous pouvez ajouter / enregistrer des instances EC2, tout ce dont vous avez besoin est Amazon ECS Container Agent s'exécutant sur votre instance / machine EC2, ce qui peut être fait manuellement ou directement à l'aide de l'AMI spéciale (Amazon Machine Image), c'est-à-dire AMI optimisée pour Amazon ECS, qui a déjà l'agent de conteneur Amazon ECS. Lors du lancement d'une nouvelle instance EC2, l'agent l'enregistre automatiquement dans le cluster ECS par défaut.
L' agent de conteneur s'exécutant sur chacune des instances ( EC2instances) d'un Amazon ECScluster envoie des informations sur les tâches en cours d'exécution de l'instance et l'utilisation des ressources à Amazon ECS, et démarre et arrête les tâches chaque fois qu'il reçoit une demande d'Amazon ECS. Pour plus d'informations, consultez Agent de conteneur Amazon ECS . Une fois définie, chacune des instances de conteneur créées (quelle que soit la EC2machine / le nœud) sera une instance dans Amazon ECSle swarm de.
Pour plus d'informations, lisez l'étape 10 de cette documentation: Lancement d'une instance de conteneur Amazon ECS :
Choisissez une AMI pour votre instance de conteneur. Vous pouvez choisir l'AMI optimisée pour Amazon ECS ou un autre système d'exploitation, tel que CoreOS ou Ubuntu. Si vous ne choisissez pas l'AMI optimisée pour Amazon ECS, vous devez suivre les procédures décrites dans Installation de l'agent de conteneur Amazon ECS .
Par défaut, votre instance de conteneur se lance dans votre cluster par défaut. Si vous souhaitez lancer dans votre propre cluster au lieu de celui par défaut, choisissez la liste Détails avancés et collez le script suivant dans le champ Données utilisateur, en remplaçant your_cluster_name par le nom de votre cluster.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Ou, si vous disposez d'un fichier ecs.config dans Amazon S3 et avez activé l'accès en lecture seule Amazon S3 à votre rôle d'instance de conteneur, choisissez la liste Détails avancés et collez le script suivant dans le champ Données utilisateur, en remplaçant your_bucket_name par le nom de votre compartiment pour installer l'AWS CLI et écrire votre fichier de configuration au moment du lancement. Remarque Pour plus d'informations sur cette configuration, consultez Stockage de la configuration d'instance de conteneur dans Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Juste pour clarifier les choses, vous pouvez créer des conteneurs sur votre seule EC2instance sans ECS. Installez n'importe quelle technologie de conteneurisation, c'est-à Docker- dire et exécutez la commande create container, en définissant votre EC2comme Dockerhôte, et ayez autant de Dockerconteneurs que vous le souhaitez (ou autant que les EC2ressources de vos ressources le permettent).