¿Cómo puedo recuperar los registros del agente SSM para las tareas de Fargate que tienen activado Amazon ECS Exec?
Quiero recuperar los registros del AWS Systems Manager Agent (SSM Agent) para las tareas de AWS Fargate que tienen activado Amazon Elastic Container Service (Amazon ECS) Exec. Pero, no sé cómo.
Descripción breve
Antes de comenzar a usar Amazon ECS Exec, consulte Requisitos previos para usar ECS Exec.
Para recuperar los registros del agente SSM para las tareas de Fargate que tienen activado ECS Exec, cree un sistema de archivos de Amazon Elastic File System (Amazon EFS). A continuación, monte el sistema de archivos de Amazon EFS en el contenedor Fargate. Por último, monte el mismo sistema de archivos en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) para recuperar los registros del agente SSM.
Importante: El sistema de archivos de Amazon EFS, el clúster de Amazon ECS y las tareas de Fargate deben estar en la misma Amazon Virtual Private Cloud (Amazon VPC).
Nota: La siguiente resolución es solo para las tareas de Fargate que tienen ECS Exec activado. Utilice los pasos de resolución únicamente para la depuración. Para evitar anulaciones de registros, láncela como una tarea independiente o mantenga el número de desiredCount en «1» en su servicio de Amazon ECS. También puede utilizar la siguiente resolución para las situaciones en las que deba comprobar los registros no stderr/stdout de los contenedores.
Resolución
Cree un sistema de archivos de Amazon EFS y móntelo en un contenedor de Fargate en una tarea o servicio.
- Creación del sistema de archivos de Amazon EFS.
- Anote el ID de Amazon EFS y el ID del grupo de seguridad.
- Edite las reglas del grupo de seguridad de su sistema de archivos para permitir las conexiones entrantes en el puerto 2049 desde el grupo de seguridad asociado a la tarea.
- Actualice el grupo de seguridad de Amazon ECS para permitir las conexiones salientes en el puerto 2049 al grupo de seguridad del sistema de archivos.
- Abra la consola de Amazon ECS y vaya a la definición de la tarea de Amazon ECS.
- En la sección Volumes (Volúmenes), seleccione Add volume (Agregar volumen).
- En Name (Nombre), especifique un nombre para el volumen.
- En Volume type (Tipo de volumen), ingrese «EFS».
- En File system ID (ID del sistema de archivos), ingrese el ID del sistema de archivos.
- En la sección Containers definition (Definición de Contenedores), vaya a la sección STORAGE AND LOGGING (ALMACENAMIENTO Y REGISTRO), y seleccione el volumen que creó para el volumen de origen.
- En Container path (Ruta del contenedor), seleccione /var/log/amazon.
- Actualice el servicio o la tarea de Fargate con la definición de la tarea que creó.
Montaje el sistema de archivos de Amazon EFS en una instancia de Amazon EC2 y recuperación de los registros del agente SSM
1. Monte el sistema de archivos en una instancia de EC2.
2. Ejecute el siguiente comando para recuperar los datos del registro:
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-01b0bxxxxxxxx.efs.ap-southeast-1.amazonaws.com:/ /efs
El resultado es similar al siguiente:
# df -h Filesystem Size Used Avail Use% Mounted on fs-01b0bxxxxxxxx.efs.us-west-2.amazonaws.com:/ 8.0E 0 8.0E 0% /efs
Este es un ejemplo de los registros almacenados en la ruta /var/log/amazon/ssm/amazon-ssm-agent.log en el contenedor Fargate:
[root@ip-172-31-32-32 efs]# cd ssm/ [root@ip-172-31-32-32 ssm]# ls amazon-ssm-agent.log audits [root@ip-172-31-32-32 ssm]# cat amazon-ssm-agent.log | tail -n 10 2022-10-20 11:50:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread 2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done 2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done 2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] started idempotency deletion thread 2022-10-20 12:00:34 WARN [ssm-agent-worker] [MessageService] [MessageHandler] [Idempotency] encountered error open /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency: no such file or directory while listing replies in /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency 2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread 2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done [root@ip-172-31-32-32 ssm]#
Contenido relevante
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 4 años
- OFICIAL DE AWSActualizada hace un año