Cuando ejecuto aplicaciones en Amazon Elastic Container Service (Amazon ECS), experimento un uso elevado de los recursos.
Solución
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Solución de problemas de AWS CLI. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Supervisión de las métricas clave
Utilice Amazon CloudWatch para realizar un seguimiento de las métricas de nivel de servicio de ECS. Para obtener información más detallada sobre el uso de los recursos, active Información de contenedores o Información de contenedores con una observabilidad mejorada y compruebe las métricas de uso de la CPU y de la memoria.
Análisis de los registros de CloudWatch
Ejecute una consulta de ejemplo para analizar los registros en busca de un uso elevado de recursos, eventos de falta de memoria (OOM) o errores de aplicación. Optimice la definición de la tarea en función de los problemas que encuentre. Para obtener más información, consulte Análisis de los datos de registros con la Información de registros de CloudWatch.
Para comprobar el uso de la memoria, ejecute la siguiente consulta:
stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision
| filter Type = "Task" | sort period desc, TaskDefinitionFamily | limit 10
Solución de problemas de detenciones inesperadas de tareas
Si su tarea de ECS se detiene inesperadamente, utilice la API DescribeTasks para comprobar stoppedReason y exitCode del contenedor para determinar la causa. Para obtener más información, consulte ¿Por qué se detiene mi tarea de Amazon ECS?
Uso de ECS Exec
Use ECS Exec de la AWS CLI para ejecutar comandos dentro de sus contenedores y ver la información sobre el uso de los recursos.
Solución de posibles problemas
En caso de pérdidas de memoria, compruebe los registros y procesos de las aplicaciones para identificar el origen de la pérdida.
Para un uso elevado de la CPU, aumente la asignación de CPU a la tarea o actualice a un tipo de instancia más grande.
En caso de problemas de espacio en disco, ejecute el siguiente comando para identificar los archivos de más de 50 MB:
find / -type f -size +50000k -exec ls -lh {} \; 2>/dev/null
Para aumentar su espacio en disco, consulte ¿Cómo puedo aumentar el espacio en disco para mi contenedor de Amazon ECS en AWS Fargate?
Realización de pruebas y optimización de la asignación de recursos
Para determinar la asignación óptima de recursos para sus aplicaciones, utilice herramientas para realizar pruebas. A continuación, actualice las definiciones de tareas y las configuraciones de servicio en función de los resultados. Modifique la capacidad de CPU y memoria en sus definiciones de tareas en función de sus patrones de uso. Utilice Application Auto Scaling para administrar de manera eficiente las cambiantes cargas de trabajo.
Comprobación de la capacidad de la instancia
Asegúrese de que las instancias de contenedor tengan recursos suficientes para sus tareas. Utilice los proveedores de capacidad para ajustar automáticamente la capacidad del clúster.
Configuración de las alarmas de CloudWatch
Cree alarmas para métricas, como la utilización de la CPU, el uso de la memoria y las tasas de error de las aplicaciones. Configure las notificaciones para que le avisen cuando se superen los umbrales.
Información relacionada
¿Cómo puedo montar un sistema de archivos de Amazon EFS en un contenedor o tarea de Amazon ECS que se ejecuta en AWS Fargate?
Información de contenedores con observabilidad mejorada ya está disponible en Amazon ECS
Métricas de Amazon ECS CloudWatch
Supervisión de Amazon ECS con CloudWatch