Amazon ECS Popular2014年〜
Un servicio de orquestación de contenedores para ejecutar y gestionar fácilmente aplicaciones en contenedores
Qué hace
Amazon ECS (Elastic Container Service) es un servicio de orquestación de contenedores completamente administrado que facilita ejecutar, detener y gestionar contenedores Docker en un clúster. Puede ejecutar contenedores en instancias EC2 que gestiona o en AWS Fargate para cómputo sin servidor. ECS se integra profundamente con otros servicios de AWS como IAM, CloudWatch, ELB y ECR.
Casos de uso
Se utiliza para ejecutar microservicios, aplicaciones por lotes, cargas de trabajo de aprendizaje automático, aplicaciones web y cualquier carga de trabajo en contenedores. Es popular para modernizar aplicaciones monolíticas en arquitecturas de microservicios y para pipelines CI/CD con despliegues automatizados.
Analogía cotidiana
Piense en ello como un director de orquesta para contenedores. Así como un director coordina a muchos músicos (contenedores) para que toquen juntos armoniosamente, ECS coordina dónde se ejecutan sus contenedores, cuántas copias hay, y se asegura de que los contenedores fallidos se reemplacen automáticamente.
¿Qué es ECS?
Amazon ECS es un servicio de orquestación de contenedores completamente administrado. La orquestación de contenedores gestiona el ciclo de vida de los contenedores: dónde se ejecutan, cuántas instancias hay, cómo se conectan a la red y qué sucede cuando fallan. ECS maneja todo esto por usted, permitiéndole concentrarse en su aplicación en lugar de la infraestructura.
Definiciones de tareas y servicios
En ECS, una definición de tarea es un plano que describe sus contenedores: qué imagen usar, cuánta CPU y memoria asignar, variables de entorno y configuración de red. Un servicio mantiene un número deseado de tareas en ejecución y las reemplaza automáticamente si fallan. Los servicios se integran con Elastic Load Balancing para distribuir el tráfico.
Tipos de lanzamiento: EC2 y Fargate
ECS ofrece dos tipos de lanzamiento. El tipo EC2 ejecuta contenedores en instancias EC2 que usted gestiona, dándole control sobre la infraestructura subyacente. Fargate es sin servidor: solo especifica los requisitos de CPU y memoria, y AWS gestiona la infraestructura. Fargate es más simple pero EC2 ofrece más control y puede ser más económico para cargas de trabajo predecibles.
Redes y descubrimiento de servicios
ECS admite el modo de red awsvpc, que asigna a cada tarea su propia interfaz de red elástica y dirección IP privada. Esto permite grupos de seguridad a nivel de tarea y simplifica la comunicación entre servicios. AWS Cloud Map proporciona descubrimiento de servicios, permitiendo que los servicios se encuentren entre sí por nombre DNS. Para más información sobre redes y descubrimiento de servicios, libros en Amazon también son útiles.
Primeros pasos
Para comenzar con ECS, cree un clúster, defina una definición de tarea con su imagen de contenedor y cree un servicio. La consola de ECS proporciona un asistente guiado. Para la forma más rápida de comenzar, use Fargate con una imagen pública de Docker Hub o ECR.
Aspectos a tener en cuenta
- The EC2 launch type requires instance management, so consider the Fargate launch type if you want to reduce operational overhead
- Use task definition revision management so you can roll back when configuration changes cause issues
- It is recommended to configure container logs to output to CloudWatch Logs. This is essential for investigating the cause of failures