Quelle est la différence entre Amazon ECS et Amazon EC2?

je commence à peine sur AWS EC2, je comprends QU'EC2 est comme un ordinateur distant que je peux faire à peu près tout ce que je veux. Puis je trouve ECS, je sais qu'il utilise docker mais confus par la relation entre ces deux.

ECS Est juste un docker installer dans EC2? Si j'ai déjà un EC2, alors je démarre un ECS, est-ce que ça veut dire que j'ai deux instances?

43
demandé sur paynestrike 2016-11-13 18:37:40

2 réponses

votre question

ECS Est juste un docker installer dans EC2? Si j'ai déjà un EC2, alors je démarrer un ECS, ça veut dire que j'ai deux instances?

Non. AWS ECS est juste un regroupement logique (cluster) de EC2 les instances et tous les EC2 instances faisant partie d'un ECS loi Docker hôte, c'est à dire ECS peut envoyer une commande à lancer un conteneur (EC2). Si vous avez déjà un EC2, puis lancez un ECS, vous aurez toujours un simple instance. Si vous ajoutez / enregistrez (en installant L'Agent conteneur ECS AWS) L'EC2 à ECS il deviendra la partie du cluster, mais toujours une seule instance D'EC2.

un ECS amazonien sans aucun EC2 enregistré (ajouté au cluster) est bon à rien.


TL; DR

un aperçu

  • EC2 - est simplement une machine distante (virtuelle).
  • ECS représente Elastic Container Service - selon la définition de base de cluster informatique,ECS est essentiellement un regroupement logique de EC2 machines / instances. Techniquement parlant ECS est un simple configuration pour une utilisation et une gestion efficaces de votre EC2 exemple(s) de ressources c'est à dire de stockage, mémoire, CPU, etc.

Pour simplifier, si vous avez lancé un Amazon ECS sans EC2 les instances ajoutées à elle, c'est bon à rien i.e. vous ne pouvez rien faire à ce sujet. ECS n'a de sens qu'une fois que l'un (ou plusieurs) EC2 les instances sont ajoutés.

la prochaine chose confuse ici est le container terme - qui n'est pas entièrement virtualisé des instances machine, et Panneau est une technologie que nous pouvons utiliser pour créer un conteneur instances. 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éger). Pour résumer, ECS est à peu près le regroupement des instances EC2, et utilise Docker instancier conteneurs/instances/machines virtuelles sur ces (EC2) héberge.

Tout ce que vous devez faire est de lancer un ECS, et s'inscrire/ajouter autant de EC2 instances à elle que vous avez besoin. Vous pouvez ajouter / enregistrer des instances EC2, tout ce dont vous avez besoin est Amazon ECS Container Agent en cours d'exécution sur votre instance/machine EC2, qui peut être fait manuellement ou directement en utilisant L'AMI spécial (Amazon Machine Image) i.e. Amazon ECS-optimized AMI, qui a déjà L'agent de conteneur ECS D'Amazon. Lors du lancement d'une nouvelle instance EC2, L'Agent l'enregistre automatiquement dans le cluster ECS par défaut.

contenant l'agent tournant sur chacune des instances (EC2 cas) à l'intérieur d'un Amazon ECS cluster envoie des informations sur le courant de l'instance exécuter des tâches et l'utilisation des ressources pour Amazon ECS, et démarrer et arrêter des tâches chaque fois qu'il reçoit une demande D'Amazon ECS. Pour plus d'informations, voir Amazon ECS Container Agent. Une fois réglé, chaque conteneur cas (quel que soit le EC2 machine/node) sera une instance dans Amazon ECS's de l'essaim.


Pour plus d'information, lisez l'étape 10 à partir de cette documentation: lancement D'une Instance de conteneur ECS D'Amazon:

choisissez un AMI pour votre instance de conteneur. Vous pouvez choisir le Amazon ECS-optimisé AMI, ou un autre système d'exploitation, tels que CoreOS ou Ubuntu. Si vous ne choisissez pas L'AMI optimisé ECS D'Amazon, vous devez suivez les procédures décrites dans Installation de l'Amazonie ECS Contenant de l'Agent.

par défaut, votre instance de conteneur se lance dans votre défaut cluster. Si vous souhaitez lancer dans votre propre cluster au lieu de la défaut, choisissez la liste des détails avancés et collez ce qui suit script dans le champ de données de L'Utilisateur, en remplaçant votre_cluster_name par le nom de votre cluster.

#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config

Ou, si vous avez un sce.fichier de configuration dans Amazon S3 et ont activé Amazon S3 accès en lecture seule à votre rôle d'instance de conteneur, choisissez Détails avancés listez et collez le script suivant dans L'utilisateur remplacer votre nom_bucket_name par le nom de votre seau pour installer L'AWS CLI et écrire votre fichier de configuration au moment du lancement. Note pour plus d'informations sur cette configuration, voir stockage Configuration des instances 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 davantage – vous pouvez créer des conteneurs sur votre simple EC2 instance sans ECS. Installer l'une des technologies de conteneurisation, c.-à-d. Docker et lancez la commande create container, positionnant votre EC2Docker hôte, et avoir autant de Docker conteneurs vous voulez (ou autant que votre EC2's les ressources le permettent).

65
répondu Nabeel Ahmed 2018-04-11 05:58:29

EC2 vous permet de lancer des instances individuelles que vous pouvez utiliser pour à peu près tout ce que vous voulez. L'ECS est un service de conteneurs, ce qui signifie qu'il va lancer des instances qui sera prêt à lancer les applications conteneur. La principale distinction entre les deux services est qu'avec EC2 vous devez gérer chaque instance séparément, quelle que soit la méthode que vous choisissez (manuellement, en utilisant un outil CM ou toute autre manière) - déployer vos applications et maintenir la connexion entre les serveurs vous-même. ECS vous permet de lancer un cluster de machines qui servira de base de déploiement de vos applications container, vous permettant de traiter toutes les instances du cluster comme une grande instance disponible pour votre charge de travail container.

et pour répondre à votre question - vous pouvez démarrer un cluster ECS sans instances, mais il ne pourra pas y exécuter quoi que ce soit. Une fois que vous enregistrez une instance EC2 à l'intérieur d'un cluster ECS, les conteneurs sont prêts à s'exécuter. Donc la ligne du bas est - vous pouvez utiliser ECS et EC2 avec un seul cas, mais ce n'est pas le cas d'utilisation réelle pour lequel ces services ont été construits.

19
répondu Yaron Idan 2016-11-13 15:54:42