Couverture du temps d'exécution et résolution des problèmes pour les ECS clusters Amazon - Amazon GuardDuty

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Couverture du temps d'exécution et résolution des problèmes pour les ECS clusters Amazon

La couverture d'exécution des ECS clusters Amazon inclut les tâches exécutées sur les instances de ECS conteneur Amazon AWS Fargate et les instances de conteneurs Amazon 1.

Pour un ECS cluster Amazon qui s'exécute sur Fargate, la couverture d'exécution est évaluée au niveau de la tâche. La couverture du ECS temps d'exécution des clusters inclut les tâches Fargate qui ont commencé à s'exécuter une fois que vous avez activé la surveillance du temps d'exécution et la configuration automatisée des agents pour Fargate (uniquement). ECS Par défaut, une tâche Fargate est immuable. GuardDuty ne sera pas en mesure d'installer l'agent de sécurité pour surveiller les conteneurs sur les tâches déjà en cours d'exécution. Pour inclure une telle tâche Fargate, vous devez arrêter puis recommencer la tâche. Assurez-vous de vérifier si le service associé est pris en charge.

Pour plus d'informations sur le ECS conteneur Amazon, consultez la section Création de capacités.

Consultation des statistiques de couverture

Les statistiques de couverture ECS des ressources Amazon associées à votre propre compte ou à vos comptes de membres sont le pourcentage de ECS clusters Amazon sains par rapport à tous les ECS clusters Amazon sélectionnés Région AWS. Cela inclut la couverture des ECS clusters Amazon associés aux instances Fargate et EC2 Amazon. L'équation suivante représente cela comme suit :

(Clusters sains/Tous les clusters) x 100

Considérations

  • Les statistiques de couverture du ECS cluster incluent l'état de couverture des tâches Fargate ECS ou des instances de conteneur associées à ce cluster. ECS L'état de couverture des tâches Fargate inclut les tâches en cours d'exécution ou récemment terminées.

  • Dans l'onglet Couverture d'exécution du ECS cluster, le champ Instances de conteneur couvertes indique l'état de couverture des instances de conteneur associées à votre ECS cluster Amazon.

    Si votre ECS cluster Amazon contient uniquement des tâches Fargate, le nombre apparaît comme 0/0.

  • Si votre ECS cluster Amazon est associé à une EC2 instance Amazon qui ne dispose pas d'un agent de sécurité, le ECS cluster Amazon aura également un statut de couverture défaillant.

    Pour identifier et résoudre le problème de couverture de l'EC2instance Amazon associée, consultez la section relative Résolution des problèmes de couverture du EC2 temps d'exécution d'Amazon aux EC2 instances Amazon.

Choisissez l'une des méthodes d'accès pour consulter les statistiques de couverture de vos comptes.

Console
  • Connectez-vous à la GuardDuty console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/guardduty/.

  • Dans le volet de navigation, choisissez Runtime Monitoring.

  • Choisissez l'onglet Runtime coverage.

  • Dans l'onglet Couverture d'exécution des ECS clusters, vous pouvez consulter les statistiques de couverture agrégées en fonction de l'état de couverture de chaque ECS cluster Amazon disponible dans le tableau de liste des clusters.

    • Vous pouvez filtrer le tableau de liste des clusters selon les colonnes suivantes :

      • ID de compte

      • Nom du cluster

      • Type de gestion des agents

      • État de couverture

  • Si l'état de couverture de l'un de vos ECS clusters Amazon est considéré comme insalubre, la colonne Problème inclut des informations supplémentaires sur la raison de ce statut insalubre.

    Si vos ECS clusters Amazon sont associés à une EC2 instance Amazon, accédez à l'onglet Couverture du EC2 temps d'exécution de l'instance et filtrez par le champ Nom du cluster pour afficher le problème associé.

API/CLI
  • Exécutez-le ListCoverageAPIavec votre propre identifiant de détecteur valide, votre région actuelle et votre point de terminaison de service. Vous pouvez filtrer et trier la liste des instances à l'aide de cette méthodeAPI.

    • Vous pouvez modifier l'exemple de filter-criteria à l'aide de l'une des options suivantes pour CriterionKey :

      • ACCOUNT_ID

      • ECS_CLUSTER_NAME

      • COVERAGE_STATUS

      • MANAGEMENT_TYPE

    • Vous pouvez modifier l'exemple de AttributeName dans sort-criteria à l'aide des options suivantes :

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • ISSUE

      • ECS_CLUSTER_NAME

      • UPDATED_AT

        Le champ est mis à jour uniquement lorsqu'une nouvelle tâche est créée dans le ECS cluster Amazon associé ou en cas de modification du statut de couverture correspondant.

    • Vous pouvez modifier le max-results (jusqu'à 50).

    • Pour trouver les paramètres detectorId correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la https://console.aws.amazon.com/guardduty/console ou exécutez le 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
  • Exécutez le GetCoverageStatisticsAPIpour récupérer les statistiques agrégées de couverture en fonction dustatisticsType.

    • Vous pouvez modifier l'exemple de statisticsType sur l'une des options suivantes :

      • COUNT_BY_COVERAGE_STATUS— Représente les statistiques de couverture pour les ECS clusters agrégées par statut de couverture.

      • COUNT_BY_RESOURCE_TYPE— Statistiques de couverture agrégées en fonction du type de AWS ressource figurant dans la liste.

      • Vous pouvez modifier l'exemple de filter-criteria dans la commande. Vous pouvez utiliser les options suivantes pour CriterionKey :

        • ACCOUNT_ID

        • ECS_CLUSTER_NAME

        • COVERAGE_STATUS

        • MANAGEMENT_TYPE

        • INSTANCE_ID

    • Pour trouver les paramètres detectorId correspondant à votre compte et à votre région actuelle, consultez la page Paramètres de la https://console.aws.amazon.com/guardduty/console ou exécutez le 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"}}] }'

Pour plus d'informations sur les problèmes de couverture, consultezRésolution des problèmes de couverture du temps d'exécution d'Amazon ECS -Fargate.

Modification de l'état de couverture avec EventBridge notifications

L'état de couverture de votre ECS cluster Amazon peut apparaître comme étant insalubre. Pour savoir quand l'état de couverture change, nous vous recommandons de le surveiller régulièrement et de résoudre les problèmes s'il devient insalubre. Vous pouvez également créer une EventBridge règle Amazon pour recevoir une notification lorsque le statut de couverture passe de Malsain à Sain ou autre. Par défaut, il le GuardDuty publie dans le EventBridge bus pour votre compte.

Exemple de schéma de notification

Dans une EventBridge règle, vous pouvez utiliser les exemples d'événements et de modèles d'événements prédéfinis pour recevoir une notification de l'état de couverture. Pour plus d'informations sur la création d'une EventBridge règle, consultez la section Créer une règle dans le guide de EventBridge l'utilisateur Amazon.

En outre, vous pouvez créer un modèle d'événement personnalisé à l'aide de l'exemple de schéma de notification suivant. Assurez-vous de remplacer les valeurs de votre compte. Pour être averti lorsque le statut de couverture de votre ECS cluster Amazon passe de Healthy àUnhealthy, le detail-type GuardDuty Runtime Protection Unhealthy. Pour être averti lorsque le statut de couverture passe de Unhealthy àHealthy, remplacez la valeur de detail-type par GuardDuty Runtime Protection Healthy.

{ "version": "0", "id": "event ID", "detail-type": "GuardDuty Runtime Protection Unhealthy", "source": "aws.guardduty", "account": "Compte AWS ID", "time": "event timestamp (string)", "region": "Région 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" } }

Résolution des problèmes de couverture du temps d'exécution d'Amazon ECS -Fargate

Si l'état de couverture de votre ECS cluster Amazon n'est pas satisfaisant, vous pouvez en connaître la raison dans la colonne Problème.

Le tableau suivant fournit les étapes de résolution recommandées pour les problèmes liés à Fargate (ECSAmazon uniquement). Pour plus d'informations sur les problèmes de couverture des EC2 instances Amazon, consultez Résolution des problèmes de couverture du EC2 temps d'exécution d'Amazon la section relative aux EC2 instances Amazon.

Type de problème Informations supplémentaires Étapes de dépannage recommandées

L'agent ne fait pas de rapport

L'agent ne présente pas de rapports pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Vérifiez que le VPC point de terminaison pour la tâche de votre ECS cluster Amazon est correctement configuré. Pour de plus amples informations, veuillez consulter Validation de la configuration des VPC terminaux.

Si votre organisation dispose d'une politique de contrôle des services (SCP), vérifiez que la limite des autorisations ne restreint pas les guardduty:SendSecurityTelemetry autorisations. Pour de plus amples informations, veuillez consulter Validation de la politique de contrôle des services de votre organisation.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

Consultez les détails du VPC problème dans les informations supplémentaires.

L'agent est sorti

ExitCode: EXIT_CODE pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Consultez les détails du problème dans les informations supplémentaires.

Motif : REASON pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

ExitCode: EXIT_CODE avec raison : »EXIT_CODE'pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

L'agent est sorti : Raison CannotPullContainerError : le manifeste de l'image d'extraction a été réessayé...

Le rôle d'exécution des tâches doit disposer des autorisations Amazon Elastic Container Registry (AmazonECR) suivantes :

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

Pour de plus amples informations, veuillez consulter Fournir ECR les autorisations et les détails du sous-réseau.

Après avoir ajouté les ECR autorisations Amazon, vous devez redémarrer la tâche.

Si le problème persiste, consultezMon AWS Step Functions flux de travail échoue de façon inattendue.

VPCÉchec de la création du terminal

L'activation du DNS mode privé nécessite enableDnsSupport à la fois enableDnsHostnames VPC des attributs définis sur true vpcId (Service :ECS, code d'état 400, numéro de demande : a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Assurez-vous que les VPC attributs suivants sont définis sur trueenableDnsSupport etenableDnsHostnames. Pour plus d'informations, consultez DNSles attributs dans votre VPC.

Si vous utilisez VPC la console Amazon https://console.aws.amazon.com/vpc/pour créer AmazonVPC, assurez-vous de sélectionner à la fois Activer les DNS noms d'hôte et Activer la DNS résolution. Pour plus d'informations, consultez VPCla section Options de configuration.

Agent non provisionné

Invocation non prise en charge par SERVICE for task (s) dans TaskDefinition - 'TASK_DEFINITION'

Cette tâche a été invoquée par une personne SERVICE qui n'est pas prise en charge.

CPUArchitecture non prise en charge 'TYPE'pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Cette tâche est exécutée sur une CPU architecture non prise en charge. Pour plus d'informations sur les CPU architectures prises en charge, consultezValidation des exigences architecturales.

TaskExecutionRoleabsent de TaskDefinition - 'TASK_DEFINITION'

Le rôle d'exécution de la ECS tâche est absent. Pour plus d'informations sur la fourniture du rôle d'exécution des tâches et des autorisations requises, consultezFournir ECR les autorisations et les détails du sous-réseau.

Configuration réseau « CONFIGURATION_DETAILS » manquante pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Des problèmes de configuration réseau peuvent survenir en raison d'une VPC configuration manquante ou de sous-réseaux manquants ou vides.

Vérifiez que la configuration de votre réseau est correcte. Pour de plus amples informations, veuillez consulter Fournir ECR les autorisations et les détails du sous-réseau.

Pour plus d'informations, consultez les paramètres de définition des ECS tâches Amazon dans le manuel Amazon Elastic Container Service Developer Guide.

Autres

Problème non identifié, pour les tâches dans TaskDefinition - 'TASK_DEFINITION'

Utilisez les questions suivantes pour identifier la cause première du problème :

  • La tâche a-t-elle démarré avant que vous n'activiez le Runtime Monitoring ?

    Sur AmazonECS, les tâches sont immuables. Pour évaluer le comportement d'exécution d'une tâche Fargate en cours d'exécution, assurez-vous que la surveillance du temps d'exécution est déjà activée, puis redémarrez la tâche GuardDuty pour ajouter le sidecar du conteneur.

  • Cette tâche fait-elle partie d'un déploiement de service qui a débuté avant que vous n'activiez le Runtime Monitoring ?

    Dans l'affirmative, vous pouvez redémarrer le service ou le mettre à jour forceNewDeployment en suivant les étapes décrites dans Mettre à jour un service.

    Vous pouvez également utiliser UpdateServiceou AWS CLI.

  • La tâche a-t-elle été lancée après avoir exclu le ECS cluster de la surveillance du temps d'exécution ?

    Lorsque vous modifiez la GuardDuty balise prédéfinie de GuardDutyManaged - true à GuardDutyManaged -false, il ne GuardDuty recevra pas les événements d'exécution pour le ECS cluster.

  • Votre service contient-il une tâche dont l'ancien format est taskArn ?

    GuardDuty Runtime Monitoring ne prend pas en charge la couverture des tâches dont l'ancien format esttaskArn.

    Pour plus d'informations sur Amazon Resource Names (ARNs) pour les ECS ressources Amazon, consultez Amazon Resource Names (ARNs) et IDs.