Servicio de Contenedores Elásticos de Amazon (ECS) es un servicio de orquestación de contenedores proporcionado por Amazon Web Services (AWS). Es una solución desarrollada por AWS para resolver el problema de la gestión de grandes clústers de contenedores.

¿Por qué utilizar ECS?

Hay otras herramientas de orquestación de contenedores, cada una con sus méritos, pero ECS está hecho para AWS y proporciona una integración sin problemas en el ecosistema de AWS. Puede utilizarlo con AWS Elastic Load Balancer (ELB), AWS Identity and Access Management (IAM), AWS CloudTrail, almacenar datos persistentes en AWS Elastic Block Store o monitorearlo con AWS CloudWatch.

También puede utilizarlo con AWS Fargate, que es un motor de cómputo sin servidor que proporciona contenedores administrados completamente.

¿Qué es el Monitoreo?

El monitoreo es el proceso de seguimiento y observación del rendimiento, disponibilidad y salud general de sus recursos, servicios y aplicaciones. Esto ayuda a detectar y resolver problemas antes de que afecten a los usuarios, mejorar la confiabilidad y disponibilidad de las aplicaciones, optimizar el uso de recursos y mejorar la seguridad de sus aplicaciones.

Es simplemente una forma de asegurarse de que toda la infraestructura esté funcionando como debería. También le ayuda a saber cuánto tráfico recibe su aplicación, si es una aplicación web o sitio web, y qué realmente está ocurriendo con ella.

Hay diferentes aspectos de monitoreo, algunos de los cuales incluyen:

  • Monitoreo de rendimiento: Aquí, seguimos y monitoreamos las métricas de rendimiento de la infraestructura, como el uso de CPU, consumo de memoria, disco, E/S y redes, y así sucesivamente.

  • Monitoreo de errores y registros: Aquí, recogemos y analizamos los registros y mensajes de error.

  • Monitoreo de disponibilidad: Aseguramos que los sistemas estén funcionando.

  • Monitoreo de seguridad: También rastreamos y monitoreamos eventos y actividades relacionadas con la seguridad para responder a amenazas y vulnerabilidades potenciales. El monitoreo puede ayudarle a detectar cosas como un ataque DoS al identificar patrones inusuales en el tráfico entrante.

¿Qué monitorea en ECS?

En el monitoreo de la nube, las métricas se utilizan para monitorear la salud y el rendimiento de la infraestructura. Se utilizan junto con las dimensiones. Las métricas son los puntos de datos recopilados y monitoreados para medir el rendimiento, la salud y el uso de sus recursos y servicios en la nube.

Las dimensiones son atributos y características que ayudan a filtrar, categorizar y proporcionar contexto a las métricas. Se representan en forma de pares clave/valor.

Amazon ECS proporciona varias métricas para monitorear recursos. Algunos de ellos incluyen:

  • Reserva de CPU: Esto es el porcentaje de unidades de CPU reservadas por tareas en ejecución.

  • Reserva de Memoria: Porcentaje de memoria reservada por tareas en ejecución.

  • Utilización de CPU: Esto es el porcentaje de unidades de CPU utilizado por tareas en ejecución.

  • Utilización de Memoria: Esto es el porcentaje de memoria utilizado por tareas en ejecución.

  • Instancias de Contenedor: Esto es el número de instancias de contenedor en el clúster.

  • Conteo de Tareas en Ejecución: La cantidad de tareas que se están ejecutando actualmente en el clúster.

Amazon ECS también proporciona dimensiones, algunas de las cuales son:

  • Nombre del Contenedor: El nombre del contenedor.

  • Nombre del Clúster: El nombre del clúster de ECS.

  • Nombre del servicio: El nombre del servicio

  • Espacio de nombres del servicio: El espacio de nombres utilizado para agrupar un conjunto de servicios en un clúster.

  • Tipo de instancia: Esto se refiere al tipo de instancia EC2 utilizada. Por ejemplo: t2.micro, c4.large, r5.xlarge, y así sucesivamente.

  • ID de tarea: El identificador único asignado a cada tarea.

En AWS ECS, puedes monitorear tus recursos a diferentes niveles. Por ejemplo, a nivel de clúster, puedes ver cosas como CPUUtilization, CPUReservation, MemoryUtilization y MemoryReservation. A nivel de servicio, puedes ver cosas como CPUUtilization y MemoryUtilization.

¿Cómo se monitorea ECS**?**

Puedes hacer esto utilizando:

Amazon CloudWatch: Este es un servicio de monitoreo de AWS que te permite recopilar, analizar y visualizar datos de tus recursos de AWS. También te ayuda a configurar alarmas y recibir notificaciones cuando se alcanza un umbral.

Consola de administración de AWS: También puedes ver las métricas de tu clúster o servicio directamente en la consola de administración.

La API de ECS: La API de ECS proporciona acceso programático al servicio de ECS para que puedas usarla para crear, modificar y monitorear clústeres y recursos desde fuera de AWS.

Herramientas de terceros: Existen herramientas de terceros como Datadog, Prometheus y otras que se pueden usar para monitorear estas métricas. Algunas de ellas funcionarán sin problemas con AWS, otras necesitarán que instales un agente.

Para el monitoreo de ECS en instancias EC2, tienes acceso directo a las instancias EC2 subyacentes y puedes usar herramientas de monitoreo de servidores tradicionales para monitorear las métricas del sistema operativo. Sin embargo, para ECS en Fargate, no tienes acceso a las instancias EC2.

Cómo monitorear clústeres de ECS con AWS CloudWatch

Con AWS CloudWatch, puedes monitorear tus clústeres de ECS de muchas maneras, desde métricas hasta logs o configurar alarmas. En este guía, te mostraré cómo usar las Dashboards Automáticas para ver métricas de los clústeres de ECS. Para hacer eso, sigue estos pasos:

  1. Desde la consola de AWS, abre CloudWatch y vaya a Dashboards en el menú lateral.

  1. Haz clic en la pestaña de Dashboards Automáticos.

  1. Haz clic en Cluster de ECS. Esto te llevará a la pantalla de dashboard donde verás las métricas pred configuradas para tus clústeres de ECS.

También puedes expandir métricas individuales.

Acabando

En este artículo, aprendiste sobre el monitoreo de ECS. Aprendiste acerca de las diferentes métricas que puedes monitorear y cómo monitorearlas.

Finalmente, aprendiste cómo monitorear clústeres de ECS usando AWS CloudWatch.

Gracias por leer. Puedes conectarte conmigo en LinkedIn o sígueme en X.