Cobertura para ECS clústeres de Amazon - Amazon GuardDuty

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cobertura para ECS clústeres de Amazon

La cobertura del tiempo de ejecución de ECS los clústeres de Amazon incluye las tareas que se ejecutan en AWS Fargate (Fargate) las instancias de ECS contenedores de Amazon 1.

En el caso de un ECS clúster de Amazon que se ejecuta en Fargate, la cobertura del tiempo de ejecución se evalúa a nivel de tarea. La cobertura del tiempo de ejecución del ECS clúster incluye las tareas de Fargate que comenzaron a ejecutarse después de habilitar la supervisión del tiempo de ejecución y la configuración automática de los agentes para Fargate (solo). ECS De forma predeterminada, las tareas de Fargate son inmutables. GuardDuty no podrá instalar el agente de seguridad para supervisar los contenedores en las tareas que ya estén en ejecución. Para incluir una tarea de Fargate de este tipo, debes detenerla y volver a iniciarla. Asegúrese de comprobar si el servicio asociado es compatible.

Para obtener información sobre Amazon ECS Container, consulta Creación de capacidad.

Revisión de las estadísticas de cobertura

Las estadísticas de cobertura de ECS los recursos de Amazon asociados a tu propia cuenta o a las cuentas de tus miembros representan el porcentaje de clústeres de Amazon en buen estado entre todos los ECS ECS clústeres de Amazon de los seleccionados Región de AWS. Esto incluye la cobertura de los ECS clústeres de Amazon asociados a las instancias de Fargate y AmazonEC2. La siguiente ecuación lo representa de la siguiente manera:

(Clústeres en buen estado/Todos los clústeres)*100

Consideraciones

  • Las estadísticas de cobertura del ECS clúster incluyen el estado de cobertura de las tareas de Fargate o las instancias de ECS contenedores asociadas a ese ECS clúster. El estado de cobertura de las tareas de Fargate incluye las tareas que están en ejecución o que han terminado de ejecutarse recientemente.

  • En la pestaña de cobertura del tiempo de ejecución de los ECS clústeres, el campo Container instances covered indica el estado de cobertura de las instancias de contenedor asociadas a tu ECS clúster de Amazon.

    Si tu ECS clúster de Amazon contiene solo tareas de Fargate, el recuento aparece como 0/0.

  • Si tu ECS clúster de Amazon está asociado a una EC2 instancia de Amazon que no tiene un agente de seguridad, el ECS clúster de Amazon también tendrá un estado de cobertura en mal estado.

    Para identificar y solucionar el problema de cobertura de la EC2 instancia de Amazon asociada, consulta Solución de problemas de cobertura para EC2 instancias de Amazon.

Elija uno de los métodos de acceso para revisar las estadísticas de cobertura de sus cuentas.

Console
  • Inicie sesión en AWS Management Console y abra la GuardDuty consola en https://console.aws.amazon.com/guardduty/.

  • En el panel de navegación, selecciona Runtime Monitoring.

  • Seleccione la pestaña Cobertura del tiempo de ejecución.

  • En la pestaña de cobertura de tiempo de ejecución de los ECS clústeres, puedes ver las estadísticas de cobertura agregadas por el estado de cobertura de cada ECS clúster de Amazon que está disponible en la tabla de listas de clústeres.

    • Puedes filtrar la tabla de listas de clústeres por las siguientes columnas:

      • ID de cuenta

      • Nombre del clúster

      • Tipo de administración del agente

      • Estado de la cobertura

  • Si alguno de tus ECS clústeres de Amazon tiene el estado de cobertura en mal estado, la columna Problema incluye información adicional sobre el motivo del estado en mal estado.

    Si sus ECS clústeres de Amazon están asociados a una EC2 instancia de Amazon, vaya a la pestaña de cobertura del tiempo de ejecución de la EC2 instancia y filtre por el campo Nombre del clúster para ver el problema asociado.

API/CLI
  • Ejecútelo ListCoverageAPIcon su propio ID de detector válido, la región actual y el punto de enlace del servicio. Puedes filtrar y ordenar la lista de instancias con estoAPI.

    • Puede cambiar el ejemplo de filter-criteria con una de las siguientes opciones para CriterionKey:

      • ACCOUNT_ID

      • ECS_CLUSTER_NAME

      • COVERAGE_STATUS

      • MANAGEMENT_TYPE

    • Puede cambiar el ejemplo de AttributeName en sort-criteria con las siguientes opciones:

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • ISSUE

      • ECS_CLUSTER_NAME

      • UPDATED_AT

        El campo se actualiza solo cuando se crea una nueva tarea en el ECS clúster de Amazon asociado o cuando se produce un cambio en el estado de cobertura correspondiente.

    • Puede cambiar el max-results (hasta 50).

    • Para encontrar la detectorId correspondiente a tu cuenta y región actual, consulta la página de configuración de la https://console.aws.amazon.com/guardduty/consola o ejecuta la ListDetectorsAPI.

    aws guardduty --region us-east-1 list-coverage --detector-id 12abc34d567e8fa901bc2d34e56789f0 --sort-criteria '{"AttributeName": "ECS_CLUSTER_NAME", "OrderBy": "DESC"}' --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"111122223333"}}] }' --max-results 5
  • Ejecute GetCoverageStatisticsAPIpara recuperar las estadísticas agregadas de cobertura basadas enstatisticsType.

    • Puede cambiar el ejemplo de statisticsType a una de las siguientes opciones:

      • COUNT_BY_COVERAGE_STATUS— Representa las estadísticas de cobertura de ECS los clústeres agregadas por estado de cobertura.

      • COUNT_BY_RESOURCE_TYPE— Estadísticas de cobertura agregadas en función del tipo de AWS recurso de la lista.

      • Puede cambiar el ejemplo de filter-criteria en el comando. Puede usar las siguientes opciones para CriterionKey:

        • ACCOUNT_ID

        • ECS_CLUSTER_NAME

        • COVERAGE_STATUS

        • MANAGEMENT_TYPE

        • INSTANCE_ID

    • Para encontrar las detectorId correspondientes a su cuenta y región actual, consulte la página de configuración de la https://console.aws.amazon.com/guardduty/consola o ejecute el ListDetectorsAPI.

    aws guardduty --region us-east-1 get-coverage-statistics --detector-id 12abc34d567e8fa901bc2d34e56789f0 --statistics-type COUNT_BY_COVERAGE_STATUS --filter-criteria '{"FilterCriterion":[{"CriterionKey":"ACCOUNT_ID", "FilterCondition":{"EqualsValue":"123456789012"}}] }'

Para obtener más información sobre los problemas de cobertura, consulteSolución de problemas de cobertura.

Configuración de las notificaciones de cambio de estado de cobertura

El estado de cobertura de tu ECS clúster de Amazon puede aparecer como Insalubre. Para saber cuándo cambia el estado de la cobertura, te recomendamos que supervises el estado de la cobertura periódicamente y que soluciones los problemas si el estado pasa a ser insalubre. Como alternativa, puedes crear una EventBridge regla de Amazon para recibir una notificación cuando el estado de la cobertura cambie de Insalubre a Saludable o no. De forma predeterminada, la GuardDuty publica en el EventBridge bus de tu cuenta.

Ejemplo de esquema de notificaciones

Como EventBridge regla general, puede utilizar los ejemplos de eventos y patrones de eventos predefinidos para recibir la notificación del estado de la cobertura. Para obtener más información sobre cómo crear una EventBridge regla, consulta Crear regla en la Guía del EventBridge usuario de Amazon.

Además, puede crear un patrón de eventos personalizado mediante el siguiente ejemplo de esquema de notificaciones. Asegúrese de sustituir los valores de su cuenta. Para recibir una notificación cuando el estado de cobertura de tu ECS clúster de Amazon cambie de Healthy aUnhealthy, detail-type debes GuardDuty Runtime Protection Unhealthy. Para recibir una notificación cuando el estado de la cobertura cambie de Unhealthy aHealthy, sustituya el valor detail-type de por GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Cuenta de AWS ID", "time": "event timestamp (string)", "region": "Región de AWS", "resources": [ ], "detail": { "schemaVersion": "1.0", "resourceAccountId": "string", "currentStatus": "string", "previousStatus": "string", "resourceDetails": { "resourceType": "ECS", "ecsClusterDetails": { "clusterName":"", "fargateDetails":{ "issues":[], "managementType":"" }, "containerInstanceDetails":{ "coveredContainerInstances":int, "compatibleContainerInstances":int } } }, "issue": "string", "lastUpdatedAt": "timestamp" } }

Solución de problemas de cobertura

Si el estado de la cobertura de tu ECS clúster de Amazon es Incorrecto, puedes ver el motivo en la columna Problema.

La siguiente tabla proporciona los pasos de solución de problemas recomendados para los problemas de Fargate (ECSsolo en Amazon). Para obtener información sobre los problemas de EC2 cobertura de instancias de Amazon, consulta las instancias de Solución de problemas de cobertura AmazonEC2.

Tipo de problema Información adicional Pasos recomendados de solución de problemas

¿El agente no informa

El agente no se presenta para realizar tareas en TaskDefinition - 'TASK_DEFINITION'

Valide que la configuración de su VPC punto final sea correcta.

Si su organización tiene una política de control de servicios (SCP), asegúrese de que no deniegue el guardduty:SendSecurityTelemetry permiso. Para obtener más información, consulte Validar la política de control de servicios de su organización.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

Consulta los detalles del VPC problema en la información adicional.

El agente ha salido

ExitCode: EXIT_CODE para tareas en TaskDefinition - 'TASK_DEFINITION'

Consulta los detalles del problema en la información adicional.

Motivo: REASON para tareas en TaskDefinition - 'TASK_DEFINITION'

ExitCode: EXIT_CODE con el motivo: 'EXIT_CODE'para tareas en TaskDefinition - 'TASK_DEFINITION'

El agente salió: MotivoCannotPullContainerError: se ha vuelto a intentar extraer el manifiesto de imágenes...

La función de ejecución de tareas debe tener los siguientes permisos de Amazon Elastic Container Registry (AmazonECR):

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

Para obtener más información, consulte Proporcione los ECR permisos y los detalles de la subred.

Después de añadir los ECR permisos de Amazon, debes reiniciar la tarea.

Si el problema persiste, consulteMi AWS Step Functions flujo de trabajo está fallando inesperadamente.

Otros o el agente no están aprovisionados

Problema no identificado, relacionado con tareas en TaskDefinition - 'TASK_DEFINITION'

Utilice las siguientes preguntas para identificar la causa raíz del problema:

  • ¿Se inició la tarea antes de activar Runtime Monitoring?

    En AmazonECS, las tareas son inmutables. Para evaluar el comportamiento en tiempo de ejecución de una tarea de Fargate en ejecución, asegúrese de que Runtime Monitoring ya esté habilitada y, a continuación, reinicie la tarea GuardDuty para añadir el sidecar del contenedor.

  • ¿Esta tarea forma parte de la implementación de un servicio que se inició antes de activar Runtime Monitoring?

    En caso afirmativo, puede reiniciar el servicio o actualizarlo forceNewDeployment mediante los pasos que se indican en Actualización de un servicio.

    También puedes usar UpdateServiceo AWS CLI.

  • ¿Se inició la tarea después de excluir el ECS clúster de Runtime Monitoring?

    Si cambias la GuardDuty etiqueta predefinida de GuardDutyManaged - true a GuardDutyManaged -false, no GuardDuty recibirá los eventos de tiempo de ejecución del ECS clúster.

  • ¿Le falta a tu tarea un? TaskExecutionRole

    Es obligatorio añadir un contenedor TaskExecutionRole porque GuardDuty necesita permisos para descargar el GuardDuty contenedor del ECR repositorio. Para obtener más información, consulte Proporcione los ECR permisos y los detalles de la subred.

  • ¿Su servicio contiene una tarea que tiene un formato antiguo detaskArn?

    GuardDuty Runtime Monitoring no admite la cobertura de tareas que tienen el formato anterior detaskArn.

    Para obtener información sobre los nombres de recursos de Amazon (ARNs) para ECS los recursos de Amazon, consulte Amazon Resource Names (ARNs) y IDs.