Cobertura del tiempo de ejecución y solución de problemas para los 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 del tiempo de ejecución y solución de problemas para los 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 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, debe detener e iniciar de nuevo la tarea. Asegúrese de verificar 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 tareas que están en estado de 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 en EC2 tiempo de ejecución de Amazon 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, elija Supervisión en tiempo de ejecución.

  • Elija la pestaña Cobertura en 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.

    • Puede filtrar la tabla Lista 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.

    • Puedes cambiarlo 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 el ListDetectors API.

    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 ListDetectors API.

    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, consulte Solución de problemas de cobertura ECS de tiempo de ejecución de Amazon -Fargate.

El estado de la cobertura cambia con EventBridge las notificaciones

El estado de cobertura de tu ECS clúster de Amazon puede aparecer como Insalubre. Para mantenerse informado sobre los cambios en el estado de la cobertura, recomendamos supervisar periódicamente su estado y solucionar cualquier problema si esta se encuentra en mal estado. 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 deberías hacerloGuardDuty Runtime Protection Unhealthy. Para recibir una notificación cuando el estado de la cobertura cambie de Unhealthy aHealthy, sustituye el valor detail-type de porGuardDuty 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 ECS de tiempo de ejecución de Amazon -Fargate

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 cobertura de las EC2 instancias de Amazon, consulta Solución de problemas de cobertura en EC2 tiempo de ejecución de Amazon las EC2 instancias de Amazon.

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

El agente no genera informes

El agente no genera informes para las tareas en TaskDefinition - 'TASK_DEFINITION'

Comprueba que el VPC punto final de la tarea de tu ECS clúster de Amazon esté configurado correctamente. Para obtener más información, consulte Validar VPC la configuración del punto final.

Si tu organización tiene una política de control de servicios (SCP), valida que el límite de permisos no restrinja el guardduty:SendSecurityTelemetry permiso. Para obtener más información, consulte Validar la política de control de servicios de la organización.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

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

El agente salió

ExitCode: EXIT_CODE para tareas en TaskDefinition - 'TASK_DEFINITION'

Consulte 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ó: Motivo: CannotPullContainerError: se ha vuelto a intentar extraer el manifiesto de imagen…

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 ECR los permisos y los detalles de la subred.

Tras añadir los ECR permisos de Amazon, debes reiniciar la tarea.

Si el problema persiste, consulte Se producen errores inesperados en mi flujo de trabajo de AWS Step Functions.

VPCFalló la creación del punto final

Para habilitar el DNS modo privado se requieren ambos enableDnsHostnames VPC atributos enableDnsSupport y estar configurados en true for vpcId (servicio:EC2, código de estado: 400, identificador de solicitud:a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Asegúrese de que los siguientes VPC atributos estén configurados en trueenableDnsSupport y. enableDnsHostnames Para obtener más información, consulte DNSlos atributos de su VPC.

Si utilizas Amazon VPC Console https://console.aws.amazon.com/vpc/para crear AmazonVPC, asegúrate de seleccionar Enable DNS hostnames y Enable DNS resolution. Para obtener más información, consulta las opciones VPC de configuración.

Agente no aprovisionado

Invocación no admitida por parte del SERVICE para tareas en TaskDefinition - 'TASK_DEFINITION'

Esta tarea fue invocada por un SERVICE que no se admite.

La CPU arquitectura 'TYPE' no es compatible para las tareas de TaskDefinition - 'TASK_DEFINITION'

Esta tarea se ejecuta en una arquitectura no compatibleCPU. Para obtener información sobre las CPU arquitecturas compatibles, consulte. Validación de los requisitos de arquitectura

TaskExecutionRole falta en TaskDefinition - 'TASK_DEFINITION'

Falta la ECS función de ejecución de tareas. Para obtener información sobre cómo proporcionar el rol de ejecución de tareas y los permisos necesarios, consulte Proporcione ECR los permisos y los detalles de la subred.

Falta la configuración de red “CONFIGURATION_DETAILS” para las tareas en TaskDefinition - 'TASK_DEFINITION'

Es posible que surjan problemas de configuración de la red debido a la falta de VPC configuración o a la ausencia de subredes o a subredes vacías.

Compruebe que la configuración de la red es correcta. Para obtener más información, consulte Proporcione ECR los permisos y los detalles de la subred.

Para obtener más información, consulte los parámetros de definición de ECS tareas de Amazon en la Guía para desarrolladores de Amazon Elastic Container Service.

Otros

Problema no identificado, para tareas en TaskDefinition - 'TASK_DEFINITION'

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

  • ¿La tarea se inició antes de habilitar la Supervisión en tiempo de ejecución?

    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 una implementación de servicios que se inició antes de habilitar la Supervisión en tiempo de ejecución?

    En tal caso, puede reiniciar el servicio o actualizarlo con forceNewDeployment. Para ello, siga los pasos indicados en Actualizar un servicio.

    También puede 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.

  • ¿El servicio contiene una tarea que tiene un formato antiguo de taskArn?

    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.