Solución de problemas de la supervisión en tiempo de ejecución - Amazon Elastic Container Service

Solución de problemas de la supervisión en tiempo de ejecución

Es posible que tenga que solucionar algún problema o comprobar que la supervisión en tiempo de ejecución esté activada y en ejecución en sus tareas y contenedores.

¿Cómo puedo saber si la supervisión en tiempo de ejecución está activa en mi cuenta?

En la consola de Amazon ECS, la información se encuentra en la página Configuración de la cuenta.

También puede ejecutar list-account-settings con la opción effective-settings.

aws ecs list-account-settings --effective-settings

Output

La configuración con el nombre guardDutyActivate y el valor establecidos en on indican que la cuenta está configurada. Debe comprobar con el administrador de GuardDuty si la administración es automática o manual.

{ "setting": { "name": "guardDutyActivate", "value": "enabled", "principalArn": "arn:aws:iam::123456789012:root", "type": "aws-managed" } }

¿Cómo puedo saber si la supervisión en tiempo de ejecución está activa en un clúster?

Puede ver las estadísticas de la cobertura en la consola de GuardDuty. La información correspondiente a los recursos de Amazon ECS asociados a la cuenta propia o a las cuentas de miembro representa el porcentaje de los clústeres en buen estado sobre todos los clústeres en la Región de AWS seleccionada. Esto incluye la cobertura para los clústeres que usan los tipos de lanzamiento Fargate y EC2. Para obtener más información, consulte Revisión de las estadísticas de cobertura en la Guía del usuario de Amazon GuardDuty.

¿Cómo puedo saber si el agente de seguridad de GuardDuty se está ejecutando en una tarea de Fargate?

Para las tareas de Fargate, el agente de seguridad de GuardDuty funciona como un contenedor sidecar.

En la consola de Amazon ECS, el sidecar se muestra en Contenedores en la página de detalles de la tarea.

Puede ejecutar describe-tasks y buscar el contenedor con el nombre establecido en aws-gd-agent y LastStatus establecido en RUNNING.

El siguiente ejemplo muestra los resultados para el clúster predeterminado de la tarea aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE.

aws ecs describe-tasks --cluster default --tasks aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE

Output

El contenedor denominado gd-agent está en estado RUNNING.

"containers": [ { "containerArn": "arn:aws:ecs:us-east-1:123456789012:container/4df26bb4-f057-467b-a079-96167EXAMPLE", "taskArn": "arn:aws:ecs:us-east-1:123456789012:task/0b69d5c0-d655-4695-98cd-5d2d5EXAMPLE", "lastStatus": "RUNNING", "healthStatus": "UNKNOWN", "memory": "string", "name": "aws-gd-agent" } ]

¿Cómo puedo saber si el agente de seguridad de GuardDuty se está ejecutando en una instancia de contenedor de EC2?

Ejecute el siguiente comando para ver el estado:

sudo systemctl status amazon-guardduty-agent

El archivo de registro se encuentra en la siguiente ubicación:

/var/log/amzn-guardduty-agent

¿Qué ocurre cuando no existe ningún rol de ejecución de tareas para una tarea en ejecución en el clúster?

Para las tareas de Fargate, la tarea se inicia sin el contenedor sidecar del agente de seguridad de GuardDuty. El panel de GuardDuty mostrará que a la tarea le falta protección en el panel de estadísticas de cobertura.

¿Cómo puedo saber si tengo los permisos correctos para etiquetar clústeres para la supervisión en tiempo de ejecución?

Para etiquetar un clúster, debe disponer de la acción ecs:TagResource tanto para CreateCluster como paraUpdateCluster.

A continuación se muestra un fragmento de una política de ejemplo.

{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction" : "CreateCluster", "ecs:CreateAction" : "UpdateCluster", } } } ] }

¿Qué ocurre cuando no hay ninguna conexión con Amazon ECR?

Para las tareas de Fargate, la tarea se inicia sin el contenedor sidecar del agente de seguridad de GuardDuty. El panel de GuardDuty mostrará que a la tarea le falta protección en el panel de estadísticas de cobertura.

¿Cómo soluciono los errores de falta de memoria en mis tareas de Fargate después de activar la supervisión en tiempo de ejecución?

El agente de seguridad de GuardDuty es un proceso ligero. Sin embargo, aún así el proceso consume recursos de acuerdo con el tamaño de la carga de trabajo. Recomendamos utilizar herramientas de seguimiento de recursos de contenedor, como Información de contenedores de Amazon CloudWatch, para organizar las implementaciones de GuardDuty en su clúster. Estas herramientas lo ayudan a descubrir el perfil de consumo del agente de seguridad de GuardDuty para sus aplicaciones. A continuación, puede ajustar el tamaño de la tarea de Fargate, si es necesario, para evitar posibles problemas de falta de memoria.