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 ECSes solo una agrupación lógica (clúster) de EC2instancias, y todas las EC2instancias forman parte de un ECSacto como Dockerhost, 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).
ECSsignifica Elastic Container Service: según la definición básica de clúster de computadoras , ECSes básicamente una agrupación lógica de
EC2máquinas / instancias . Técnicamente hablando ECSes 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 ECSsin EC2agregar instancias, no sirve para nada, es decir, no puede hacer nada al respecto. ECStiene sentido solo una vez que EC2se 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. Dockeres una utilidad que puede instalar en nuestra máquina, lo que la convierte en un Dockerhost, y en este host puede crear contenedores (igual que las máquinas virtuales, pero mucho más livianos). En resumen, se ECStrata solo de la agrupación en clústeres de instancias EC2 y se utiliza Dockerpara crear instancias de contenedores / instancias / máquinas virtuales en estos ( EC2) hosts .
Todo lo que necesita hacer es iniciar ECSy registrar / agregar tantas EC2instancias 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 ( EC2instancias) dentro de un Amazon ECSclú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 EC2máquina / nodo) será una instancia en Amazon ECSel 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 EC2instancia sin ECS. Instale cualquier tecnología de contenedorización, es decir, Dockerejecute el comando de creación de contenedor, estableciendo su EC2como Dockerhost y tenga tantos Dockercontenedores como desee (o tanto como lo EC2permitan sus recursos).