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 ECS
Est juste un regroupement logique (cluster) d' EC2
instances, et toutes les EC2
instances faisant partie d'un ECS
agissent en tant Docker
qu'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).
ECS
signifie Elastic Container Service
- selon la définition de base du cluster d'ordinateurs , ECS
est essentiellement un groupement logique de
EC2
machines / instances . Techniquement parlant, il ECS
s'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 ECS
sans aucune EC2
instance ajoutée, c'est bon à rien, c'est-à-dire que vous ne pouvez rien y faire. ECS
n'a de sens qu'une fois qu'une (ou plusieurs) EC2
instances 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. Docker
est un utilitaire que vous pouvez installer sur notre machine, ce qui en fait un Docker
hô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 ECS
s'agit simplement de mettre en cluster des instances EC2 et d'utiliser Docker
pour instancier des conteneurs / instances / machines virtuelles sur ces EC2
hôtes ( ) .
Tout ce que vous avez à faire est de lancer ECS
et d'enregistrer / d'ajouter autant d' EC2
instances 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 ( EC2
instances) d'un Amazon ECS
cluster 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 EC2
machine / le nœud) sera une instance dans Amazon ECS
le 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 EC2
instance sans ECS
. Installez n'importe quelle technologie de conteneurisation, c'est-à Docker
- dire et exécutez la commande create container, en définissant votre EC2
comme Docker
hôte, et ayez autant de Docker
conteneurs que vous le souhaitez (ou autant que les EC2
ressources de vos ressources le permettent).