Los registros de contenedores de Amazon Elastic Container Service (Amazon ECS) no aparecen en Registros Amazon CloudWatch como se esperaba.
Resolución
Modificación del controlador de registros awslogs
Añade el parámetro logConfiguration en el controlador de registros awslogs en la definición de la tarea. En el caso de las tareas de Amazon ECS con varios contenedores, configura el parámetro logConfiguration para cada contenedor.
Si tienes un tipo de lanzamiento de Amazon Elastic Compute Cloud (Amazon EC2), actualiza la instancia de contenedor de Amazon ECS a la versión 1.9.0 o posterior.
Si la instancia de contenedor no usa la imagen de máquina de Amazon (AMI) optimizada para Amazon ECS, ejecuta la siguiente variable de entorno para iniciar el agente del contenedor:
ECS_AVAILABLE_LOGGING_DRIVERS='["json-file","awslogs"]'
Nota: Especifica el controlador de registros awslogs en la instancia de contenedor.
Para obtener más información, consulta Instalación del agente de contenedor de Amazon ECS.
Adición de los permisos de rol de IAM necesarios
Tipo de lanzamiento de AWS Fargate
Adjunta la política AmazonECSTaskExecutionRolePolicy a tu rol de AWS Identity and Access Management (IAM) de ejecución de tareas de Amazon ECS. La política incluye los permisos logs:CreateLogStream y logs:PutLogEvents necesarios. O bien, crea una política de IAM personalizada e incluye los permisos necesarios.
Tareas de tipo de lanzamiento de Amazon EC2 sin rol de IAM de ejecución de tareas
Adjunta la política AmazonEC2ContainerServiceforEC2Role al rol de IAM de la instancia de contenedor. La política contiene los permisos logs:CreateLogStream y logs:PutLogEvents necesarios. O bien, crea una política de IAM personalizada e incluye los permisos necesarios.
Tareas de tipo de lanzamiento de Amazon EC2 con rol de IAM de ejecución de tareas
Para la configuración del agente de contenedor, actualiza el parámetro ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE a true.
Nota: El valor predeterminado del parámetro del agente de contenedor es true en las AMI optimizadas para Amazon ECS con la versión 1.16.0-1 o posterior y false en Windows.
Comprobación de la configuración de la red
Si la tarea usa el controlador de registros awslogs en una instancia de Amazon Virtual Private Cloud (Amazon VPC) sin una puerta de enlace de Internet, crea un punto de enlace de VPC de interfaz para Registros de CloudWatch. Elige com.amazonaws.Region.logs como servicio.
Comprobación de la configuración a nivel de registro de contenedor
El controlador de registros awslogs transfiere las secuencias STDOUT y STDERR I/O de Docker a Registros de CloudWatch.
Para configurar los registros, actualiza la aplicación para enviar los registros a las secuencias STDOUT y STDERR I/O. A continuación, durante la creación del contenedor, configura el nivel de registro de la aplicación mediante una variable de entorno o un archivo de configuración.
Información relacionada
Herramientas de supervisión para Amazon ECS
How do I troubleshoot missing container logs for Amazon ECS or Amazon EKS? (¿Cómo soluciono los registros de contenedores que faltan en Amazon ECS o Amazon EKS?)
Envío de registros de Amazon ECS a CloudWatch