Solução de problemas de monitoramento de runtime
Talvez seja necessário solucionar problemas ou verificar se o monitoramento de runtime está habilitado e em execução nas tarefas e nos contêineres.
Tópicos
Como posso saber se o monitoramento de runtime está ativo na minha conta?
Como posso saber se o monitoramento de runtime está ativo em um cluster?
O que acontece quando não há perfil de execução de tarefas para uma tarefa em execução no cluster?
Como posso saber se tenho as permissões corretas para marcar clusters no monitoramento de runtime?
Como posso saber se o monitoramento de runtime está ativo na minha conta?
No console do Amazon ECS, as informações estão na página Configurações da conta.
Você também pode executar list-account-settings
com a opção effective-settings
.
aws ecs list-account-settings --effective-settings
Saída
A configuração com nome definido como guardDutyActivate
e valor definido como on
indica que a conta está configurada. Você deve verificar com o administrador do GuardDuty se o gerenciamento é automático ou manual.
{
"setting": {
"name": "guardDutyActivate",
"value": "enabled",
"principalArn": "arn:aws:iam::123456789012:root",
"type": "aws-managed"
}
}
Como posso saber se o monitoramento de runtime está ativo em um cluster?
Você pode revisar as estatísticas de cobertura no console do GuardDuty. Isso inclui informações para os recursos do Amazon ECS associados à sua própria conta ou às contas-membro e a porcentagem de clusters íntegros dentre todos os clusters na Região da AWS selecionada. Isso inclui a cobertura para os clusters que usam os tipos de inicialização do Fargate e do EC2. Para obter mais informações, consulte Reviewing coverage statistics no Amazon GuardDuty User Guide.
Como posso saber se o agente de segurança do GuardDuty está sendo executado em uma tarefa do Fargate?
O agente de segurança do GuardDuty é executado como contêiner auxiliar em tarefas do Fargate.
No console do Amazon ECS, o auxiliar é exibido em Contêineres na página Detalhes da tarefa.
Você pode executar describe-tasks
e procurar o contêiner com um nome definido como aws-gd-agent
e lastStatus definido como RUNNING
.
O exemplo a seguir mostra a saída do cluster padrão para a tarefa 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
Saída
O contêiner denominado gd-agent
está no 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"
}
]
Como posso saber se o agente de segurança do GuardDuty está sendo executado em uma instância de contêiner do EC2?
Execute o seguinte comando para visualizar o status:
sudo systemctl status amazon-guardduty-agent
O arquivo de log está no seguinte local:
/var/log/amzn-guardduty-agent
O que acontece quando não há perfil de execução de tarefas para uma tarefa em execução no cluster?
Para tarefas do Fargate, a tarefa começa sem o contêiner auxiliar do agente de segurança do GuardDuty. O painel do GuardDuty mostrará que a tarefa está sem proteção no painel de estatísticas de cobertura.
Como posso saber se tenho as permissões corretas para marcar clusters no monitoramento de runtime?
Para marcar um cluster, você deve ter a ação ecs:TagResource
para CreateCluster
e UpdateCluster
.
Veja a seguir um trecho de um exemplo de política.
{ "Statement": [ { "Effect": "Allow", "Action": [ "ecs:TagResource" ], "Resource": "*", "Condition": { "StringEquals": { "ecs:CreateAction" : "CreateCluster", "ecs:CreateAction" : "UpdateCluster", } } } ] }
O que acontece quando não há conexão com o Amazon ECR?
Para tarefas do Fargate, a tarefa começa sem o contêiner auxiliar do agente de segurança do GuardDuty. O painel do GuardDuty mostrará que a tarefa está sem proteção no painel de estatísticas de cobertura.
Como soluciono erros de falta de memória nas tarefas do Fargate depois de habilitar o monitoramento de runtime?
O agente de segurança do GuardDuty é um processo leve. No entanto, o processo ainda consome recursos de acordo com o tamanho da workload. Recomendamos usar ferramentas de rastreamento de recursos de contêineres, como o Amazon CloudWatch Container Insights, para preparar as implantações do GuardDuty no cluster. Essas ferramentas ajudam você a descobrir o perfil de consumo do agente de segurança do GuardDuty para as aplicações. Em seguida, você pode ajustar o tamanho da tarefa do Fargate, se necessário, para evitar possíveis condições de falta de memória.