Tu pregunta
¿ECS es solo una instalación acoplable en EC2? Si ya tengo un EC2, entonces inicio un ECS, ¿significa que tengo dos instancias?
No. AWS ECS
es solo una agrupación lógica (clúster) de EC2
instancias, y todas las EC2
instancias forman parte de un ECS
acto como Docker
host, es decir, ECS puede enviar un comando para lanzar un contenedor en ellas ( EC2
). Si ya tiene un EC2 y luego inicia ECS, aún tendrá una sola instancia. Si agrega / registra (instalando AWS ECS Container Agent) el EC2 en ECS, se convertirá en parte del clúster, pero seguirá siendo una instancia única de EC2.
Un Amazon ECS sin ningún EC2 registrado (agregado al clúster) no sirve para nada.
TL; DR
Una visión general
EC2
- es simplemente una máquina remota (virtual).
ECS
significa Elastic Container Service
: según la definición básica de clúster de computadoras , ECS
es básicamente una agrupación lógica de
EC2
máquinas / instancias . Técnicamente hablando ECS
es una mera configuración para un uso y administración eficiente de los EC2
recursos de su instancia (s), es decir, almacenamiento, memoria, CPU, etc.
Para simplificarlo aún más, si ha lanzado un Amazon ECS
sin EC2
agregar instancias, no sirve para nada, es decir, no puede hacer nada al respecto. ECS
tiene sentido solo una vez que EC2
se le agregan una (o más) instancias.
La siguiente cosa confusa aquí es el término contenedor , que no es instancias de máquina completamente virtualizadas, y Docker es una tecnología que podemos usar para crear instancias de contenedor. Docker
es una utilidad que puede instalar en nuestra máquina, lo que la convierte en un Docker
host, y en este host puede crear contenedores (igual que las máquinas virtuales, pero mucho más livianos). En resumen, se ECS
trata solo de la agrupación en clústeres de instancias EC2 y se utiliza Docker
para crear instancias de contenedores / instancias / máquinas virtuales en estos ( EC2
) hosts .
Todo lo que necesita hacer es iniciar ECS
y registrar / agregar tantas EC2
instancias como necesite. Puede agregar / registrar instancias EC2, todo lo que necesita es Amazon ECS Container Agent ejecutándose en su instancia / máquina EC2, lo que se puede hacer de forma manual o directa utilizando la AMI especial (Imagen de máquina de Amazon), es decir, la AMI optimizada para Amazon ECS, que ya tiene el agente de contenedor de Amazon ECS. Durante el lanzamiento de una nueva instancia EC2, el agente la registra automáticamente en el clúster ECS predeterminado.
El agente contenedor que se ejecuta en cada una de las instancias ( EC2
instancias) dentro de un Amazon ECS
clúster envía información sobre las tareas en ejecución actuales de la instancia y la utilización de recursos a Amazon ECS, e inicia y detiene las tareas cada vez que recibe una solicitud de Amazon ECS. Para obtener más información, consulte Agente de contenedor de Amazon ECS . Una vez configuradas, cada una de las instancias de contenedor creadas (de cualquier EC2
máquina / nodo) será una instancia en Amazon ECS
el enjambre de.
Para obtener más información, lea el paso 10 de esta documentación: Lanzamiento de una instancia de contenedor de Amazon ECS :
Elija una AMI para su instancia de contenedor. Puede elegir la AMI optimizada para Amazon ECS u otro sistema operativo, como CoreOS o Ubuntu. Si no elige la AMI optimizada para Amazon ECS, debe seguir los procedimientos de Instalación del agente de contenedor de Amazon ECS .
De forma predeterminada, su instancia de contenedor se inicia en su clúster predeterminado. Si desea iniciar su propio clúster en lugar del predeterminado, elija la lista Detalles avanzados y pegue la siguiente secuencia de comandos en el campo de datos de usuario, reemplazando your_cluster_name con el nombre de su clúster.
#!/bin/bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
O, si tiene un archivo ecs.config en Amazon S3 y ha habilitado el acceso de solo lectura de Amazon S3 a su función de instancia de contenedor, elija la lista Detalles avanzados y pegue la siguiente secuencia de comandos en el campo Datos de usuario, reemplazando your_bucket_name con el nombre de su bucket para instalar la AWS CLI y escribir su archivo de configuración en el momento del lanzamiento. Nota Para obtener más información sobre esta configuración, consulte Almacenamiento de la configuración de la instancia de contenedor en Amazon S3.
#!/bin/bash
yum install -y aws-cli
aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
Solo para aclararlo más, puede crear contenedores en su única EC2
instancia sin ECS
. Instale cualquier tecnología de contenedorización, es decir, Docker
ejecute el comando de creación de contenedor, estableciendo su EC2
como Docker
host y tenga tantos Docker
contenedores como desee (o tanto como lo EC2
permitan sus recursos).