Implementar una aplicación web con contenedores en Amazon ECS

GUÍA DE INTRODUCCIÓN

Módulo 1: comprender Amazon ECS

En este módulo, aprenderemos sobre Amazon Elastic Container Service (ECS) y los componentes del servicio

Introducción

El objetivo de este módulo es presentar los conceptos de Amazon ECS. Trataremos los componentes de ECS (clúster, definición de tareas, servicio), qué es la orquestación y qué tipo de informática elegir y cómo hacerlo para utilizarla para la ejecución de los contenedores. Si ya está familiarizado con ECS, puede pasar al módulo 2.

Lo que aprenderá

  • ¿Qué es Amazon ECS?
  • ¿Cuáles son los componentes de ECS?
  • ¿Cuáles son las diferencias entre utilizar las instancias de Amazon EC2 o Amazon Fargate para ejecutar los contenedores?

 Tiempo de realización

5 minutos

 Requisitos previos del módulo

  • Una cuenta de AWS con acceso de nivel de administrador**
  • Navegador recomendado: la última versión de Chrome o Firefox

[**] Es posible que las cuentas creadas en las últimas 24 horas aún no tengan acceso a los servicios necesarios para este tutorial.

Implementación

¿Qué es Amazon ECS?

Amazon Elastic Container Service (o ECS, por sus siglas) es un servicio de orquestación de contenedores completamente administrado que ayuda a implementar, administrar y escalar aplicaciones con contenedores. Se integra profundamente con el resto de la plataforma de AWS para proporcionar una solución segura y fácil de utilizar que ejecuta cargas de trabajo con contenedores en la nube y ahora en su infraestructura con Amazon ECS Anywhere. Un orquestador administra el ciclo de vida del contenedor desde su implementación. Mediante la sustitución de los nodos en mal estado, se asegura de que esté en buen estado y se encarga de las implementaciones nuevas.

¿Cuáles son los componentes de ECS?

Un clúster ECS es una construcción lógica que agrupará todos los contenedores implementados en un clúster. El clúster no tiene ningún costo más que el de la infraestructura informática y de otro tipo que se utiliza para ejecutar los contenedores. Para lanzar un contenedor se debe proveer una definición de tareaque contendrá propiedades como la ubicación de la imagen del contenedor, la cantidad de CPU y memoria, la configuración del registro y muchas más. Esto no lanza un contenedor, solo proporciona toda la configuración necesaria para poder ejecutarlo; para lanzarlo, debe definirse un servicio. En este servicio, se definirá la cantidad deseada de copias del contenedor (o si se necesita para ejecutar cada instancia), un daemon, que debe ejecutarse en cada anfitrión y ECS se encargará de orquestarlo. Para exponer los servicios a Internet, tendrá que configurar un balanceador de carga de aplicaciones para reenviar las peticiones al servicio. Por último, ECS se puede configurar para implementar en múltiples zonas de disponibilidad (AZ) y equilibrará de forma automática la implementación entre las AZ disponibles. También actualizará el balanceador de carga con los detalles de cada implementación para que el tráfico llegue a él. 

El diagrama a continuación muestra cómo sería la infraestructura:

gsg-build-ecs-1

Planificación de la capacidad informática y opciones

ECS puede programar servicios para que se ejecuten en un anfitrión EC2 (máquina virtual), o utilizar Amazon Fargate, un motor informático sin servidor para contenedores. Al ejecutar los contenedores, se debe tener en cuenta la planificación de la capacidad. Por ejemplo, si hay 2 anfitriones disponibles en el clúster con 512MB de memoria cada uno, el clúster mostrará un total de 1024MB de memoria disponible, pero no se podrá lanzar otro contenedor que requiera más de 512MB de memoria ya que ningún anfitrión tiene suficiente memoria. Esto puede mitigarse con proveedores de capacidad para autoescalar el clúster. 

Como alternativa, puede utilizar Fargate, que permite especificar los requisitos de CPU y memoria para cada contenedor y lanza la informática necesaria para ejecutar el contenedor por usted. La principal diferencia entre Fargate y los anfitriones EC2 es que no es necesario configurar, administrar o mantener el sistema operativo en el anfitrión cuando se utiliza Fargate ni planificar la capacidad, ya que lanzará exactamente la capacidad necesaria.

Conclusión

En este módulo, tratamos Amazon ECS, los componentes utilizados y cuáles son las diferencias cuando se utiliza Amazon EC2 o Amazon Fargate para proporcionar capacidad para ejecutar los contenedores. En el siguiente módulo, crearemos nuestro primer clúster ECS.

Siguiente: crear infraestructura

Háganos saber cómo lo hicimos.

Agradecemos sus comentarios
Nos alegra que esta página le haya ayudado. ¿Le gustaría compartir detalles adicionales para ayudarnos a seguir mejorando?
Cerrar
Agradecemos sus comentarios
Lamentamos que esta página no le haya ayudado. ¿Le gustaría compartir detalles adicionales para ayudarnos a seguir mejorando?
Cerrar