Cobertura de tempo de execução e solução de problemas para ECS clusters da Amazon - Amazon GuardDuty

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Cobertura de tempo de execução e solução de problemas para ECS clusters da Amazon

A cobertura de tempo de execução dos ECS clusters da Amazon inclui as tarefas em execução AWS Fargate e as instâncias de ECS contêineres da Amazon 1.

Para um ECS cluster da Amazon executado no Fargate, a cobertura do tempo de execução é avaliada no nível da tarefa. A cobertura de tempo de execução do ECS cluster inclui as tarefas do Fargate que começaram a ser executadas depois que você ativou o Runtime Monitoring e a configuração automatizada do agente para o Fargate (somente). ECS Por padrão, uma tarefa do Fargate é imutável. GuardDuty não será possível instalar o agente de segurança para monitorar contêineres em tarefas já em execução. Para incluir essa tarefa do Fargate, você deve parar e iniciar a tarefa novamente. Certifique-se de verificar se o serviço associado é compatível.

Para obter informações sobre o ECS contêiner da Amazon, consulte Criação de capacidade.

Análise de estatísticas de cobertura

As estatísticas de cobertura dos ECS recursos da Amazon associados à sua própria conta ou às suas contas membros são a porcentagem dos ECS clusters saudáveis da Amazon em relação a todos os ECS clusters da Amazon selecionados Região da AWS. Isso inclui a cobertura para ECS clusters da Amazon associados às instâncias Fargate e AmazonEC2. A seguinte equação representa isso como:

(Clusters íntegros/todos os clusters)*100

Considerações

  • As estatísticas de cobertura do ECS cluster incluem o status da cobertura das tarefas do Fargate ou das instâncias de ECS contêiner associadas a esse ECS cluster. O status de cobertura das tarefas do Fargate inclui tarefas que estão em execução ou que terminaram de ser executadas recentemente.

  • Na guia Cobertura de tempo de execução de ECS clusters, o campo Container instances covered indica o status da cobertura das instâncias de contêiner associadas ao seu ECS cluster Amazon.

    Se o seu ECS cluster da Amazon contiver somente tarefas do Fargate, a contagem aparecerá como 0/0.

  • Se o seu ECS cluster da Amazon estiver associado a uma EC2 instância da Amazon que não tem um agente de segurança, o ECS cluster da Amazon também terá um status de cobertura insalubre.

    Para identificar e solucionar o problema de cobertura da EC2 instância associada da Amazon, consulte Solução de problemas de cobertura EC2 de tempo de execução da Amazon EC2 Instâncias da Amazon.

Selecione um dos métodos de acesso para revisar as estatísticas de cobertura de suas contas.

Console
  • Faça login no AWS Management Console e abra o GuardDuty console em https://console.aws.amazon.com/guardduty/.

  • No painel de navegação, escolha Runtime Monitoring.

  • Escolha a guia Cobertura de tempo de execução.

  • Na guia de cobertura de tempo de execução de ECS clusters, você pode visualizar as estatísticas de cobertura agregadas pelo status de cobertura de cada ECS cluster da Amazon que está disponível na tabela da lista de clusters.

    • Você pode filtrar a tabela da lista de clusters pelas seguintes colunas:

      • ID da conta

      • Nome do cluster

      • Tipo de gerenciamento de agentes

      • Status da cobertura

  • Se algum dos seus ECS clusters da Amazon tiver o status de Cobertura como Insalubre, a coluna Problema incluirá informações adicionais sobre o motivo do status Insalubre.

    Se seus ECS clusters da Amazon estiverem associados a uma EC2 instância da Amazon, navegue até a guia de cobertura de tempo de execução da EC2 instância e filtre pelo campo Nome do cluster para visualizar o problema associado.

API/CLI
  • Execute o ListCoverageAPIcom seu próprio ID de detector válido, região atual e ponto final de serviço. Você pode filtrar e classificar a lista de instâncias usando issoAPI.

    • Você pode alterar o filter-criteria de exemplo com uma das seguintes opções para CriterionKey:

      • ACCOUNT_ID

      • ECS_CLUSTER_NAME

      • COVERAGE_STATUS

      • MANAGEMENT_TYPE

    • Você pode alterar o AttributeName de exemplo em sort-criteria com uma das seguintes opções:

      • ACCOUNT_ID

      • COVERAGE_STATUS

      • ISSUE

      • ECS_CLUSTER_NAME

      • UPDATED_AT

        O campo é atualizado somente quando uma nova tarefa é criada no ECS cluster da Amazon associado ou há uma alteração no status de cobertura correspondente.

    • Você pode alterar o max-results (até 50).

    • Para encontrar o detectorId para sua conta e região atual, consulte a página de configurações no https://console.aws.amazon.com/guardduty/console ou execute o 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
  • Execute o GetCoverageStatisticsAPIpara recuperar as estatísticas agregadas de cobertura com base no. statisticsType

    • Você pode alterar o statisticsType de exemplo com uma das seguintes opções:

      • COUNT_BY_COVERAGE_STATUS— Representa estatísticas de cobertura para ECS clusters agregadas por status de cobertura.

      • COUNT_BY_RESOURCE_TYPE— Estatísticas de cobertura agregadas com base no tipo de AWS recurso na lista.

      • Você pode alterar o filter-criteria de exemplo no comando. É possível usar as seguintes opções para CriterionKey:

        • ACCOUNT_ID

        • ECS_CLUSTER_NAME

        • COVERAGE_STATUS

        • MANAGEMENT_TYPE

        • INSTANCE_ID

    • Para encontrar o detectorId para sua conta e região atual, consulte a página de configurações no https://console.aws.amazon.com/guardduty/console ou execute o 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 obter mais informações sobre problemas de cobertura, consulteSolução de problemas de cobertura ECS de tempo de execução do Amazon -Fargate.

Alteração do status da cobertura com EventBridge notificações

O status da cobertura do seu ECS cluster da Amazon pode aparecer como Insalubre. Para saber quando o status da cobertura muda, recomendamos que você monitore o status da cobertura periodicamente e solucione problemas se o status ficar insalubre. Como alternativa, você pode criar uma EventBridge regra da Amazon para receber uma notificação quando o status da cobertura mudar de Insalubre para Saudável ou não. Por padrão, GuardDuty publica isso no EventBridge barramento da sua conta.

Exemplo de esquema de notificação

Em uma EventBridge regra, você pode usar os exemplos de eventos e padrões de eventos predefinidos para receber a notificação do status da cobertura. Para obter mais informações sobre a criação de uma EventBridge regra, consulte Criar regra no Guia EventBridge do usuário da Amazon.

Além disso, você pode criar um padrão de evento personalizado usando o exemplo de esquema de notificação a seguir. Substitua os valores da sua conta. Para ser notificado quando o status da cobertura do seu ECS cluster Amazon mudar de Healthy paraUnhealthy, o detail-type deve ser GuardDuty Runtime Protection Unhealthy. Para ser notificado quando o status da cobertura mudar de Unhealthy paraHealthy, substitua o valor de detail-type por GuardDuty Runtime Protection Healthy.

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

Solução de problemas de cobertura ECS de tempo de execução do Amazon -Fargate

Se o status da cobertura do seu ECS cluster da Amazon for insalubre, você poderá ver o motivo na coluna Problema.

A tabela a seguir fornece as etapas de solução de problemas recomendadas para problemas do Fargate (ECSsomente na Amazon). Para obter informações sobre problemas de cobertura de EC2 instâncias da Amazon, consulte Solução de problemas de cobertura EC2 de tempo de execução da Amazon EC2 Instâncias da Amazon.

Tipo de problema Informações adicionais Etapas para solução de problemas

Agente que não está reportando

O agente não está reportando tarefas em TaskDefinition - 'TASK_DEFINITION'

Valide se o VPC endpoint da tarefa do seu ECS cluster Amazon está configurado corretamente. Para obter mais informações, consulte Validando a configuração do VPC endpoint.

Se sua organização tiver uma política de controle de serviços (SCP), confirme se o limite de permissões não está restringindo a permissão. guardduty:SendSecurityTelemetry Para obter mais informações, consulte Validando a política de controle de serviços da sua organização.

VPC_ISSUE; for task in TaskDefinition - 'TASK_DEFINITION'

Veja os detalhes do VPC problema nas informações extras.

O agente saiu

ExitCode: EXIT_CODE para tarefas em TaskDefinition - 'TASK_DEFINITION'

Veja os detalhes do problema nas informações extras.

Motivo: REASON para tarefas em TaskDefinition - 'TASK_DEFINITION'

ExitCode: EXIT_CODE com razão: 'EXIT_CODE'para tarefas em TaskDefinition - 'TASK_DEFINITION'

O agente saiu: Motivo:CannotPullContainerError: o manifesto de pull image foi tentado novamente...

A função de execução da tarefa deve ter as seguintes permissões do Amazon Elastic Container Registry (AmazonECR):

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

Para obter mais informações, consulte Forneça ECR permissões e detalhes da sub-rede.

Depois de adicionar as ECR permissões da Amazon, você deve reiniciar a tarefa.

Se o problema persistir, consulteMeu AWS Step Functions fluxo de trabalho está falhando inesperadamente.

VPCFalha na criação do endpoint

Habilitar o privado DNS requer ambos enableDnsSupport e enableDnsHostnames VPC os atributos definidos como true para vpcId (Serviço:ECS, Código de status: 400, ID da solicitação: a1b2c3d4-5678-90ab-cdef-EXAMPLE11111).

Certifique-se de que os VPC atributos a seguir estejam definidos como trueenableDnsSupport enableDnsHostnames e. Para obter mais informações, consulte DNSatributos em seu VPC.

Se você estiver usando o Amazon VPC Console em https://console.aws.amazon.com/vpc/para criar o AmazonVPC, certifique-se de selecionar Habilitar DNS nomes de host e Ativar DNS resolução. Para obter mais informações, consulte VPCas opções de configuração.

Agente não provisionado

Invocação não suportada por SERVICE para tarefa (s) em TaskDefinition - 'TASK_DEFINITION'

Essa tarefa foi invocada por um SERVICE que não é suportado.

CPUArquitetura não suportada 'TYPE'para a (s) tarefa (s) em TaskDefinition - 'TASK_DEFINITION'

Essa tarefa está sendo executada em uma CPU arquitetura sem suporte. Para obter informações sobre CPU arquiteturas suportadas, consulteValidação dos requisitos de arquitetura.

TaskExecutionRoleausente de TaskDefinition - 'TASK_DEFINITION'

A função de execução da ECS tarefa está ausente. Para obter informações sobre como fornecer a função de execução de tarefas e as permissões necessárias, consulteForneça ECR permissões e detalhes da sub-rede.

Falta a configuração de rede 'CONFIGURATION_DETAILS' para a (s) tarefa (s) em TaskDefinition - 'TASK_DEFINITION'

Problemas de configuração de rede podem aparecer devido à falta de VPC configuração ou sub-redes ausentes ou vazias.

Valide se sua configuração de rede está correta. Para obter mais informações, consulte Forneça ECR permissões e detalhes da sub-rede.

Para obter mais informações, consulte os parâmetros de definição de ECS tarefas da Amazon no Amazon Elastic Container Service Developer Guide.

Outros

Problema não identificado, para tarefas em TaskDefinition - 'TASK_DEFINITION'

Use as perguntas a seguir para identificar a causa raiz do problema:

  • A tarefa foi iniciada antes de você ativar o Runtime Monitoring?

    Na AmazonECS, as tarefas são imutáveis. Para avaliar o comportamento em tempo de execução de uma tarefa do Fargate em execução, verifique se o Runtime Monitoring já está ativado e reinicie a tarefa para adicionar o GuardDuty sidecar do contêiner.

  • Essa tarefa faz parte de uma implantação de serviço que começou antes de você ativar o Runtime Monitoring?

    Se sim, você pode reiniciar o serviço ou atualizá-lo forceNewDeployment usando as etapas em Atualizar um serviço.

    Você também pode usar UpdateServiceou AWS CLI.

  • A tarefa foi iniciada depois de excluir o ECS cluster do Runtime Monitoring?

    Quando você altera a GuardDuty tag predefinida de GuardDutyManaged - true para GuardDutyManaged -false, não GuardDuty receberá os eventos de tempo de execução do ECS cluster.

  • Seu serviço contém uma tarefa que tem um formato antigo detaskArn?

    GuardDuty O Runtime Monitoring não oferece suporte à cobertura de tarefas que têm o formato antigo detaskArn.

    Para obter informações sobre Amazon Resource Names (ARNs) para ECS recursos da Amazon, consulte Amazon Resource Names (ARNs) IDs e.