Minha regra do AWS Config não funciona e eu quero solucionar esse problema.
Resolução
Observação: se você receber mensagens de erro ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Sua regra gerenciada do AWS Config pode não funcionar devido a problemas de permissões, escopo de recursos ou itens de alteração de configuração. Use a solução de problemas a seguir para resolver esses problemas.
Analise seu gravador de configuração
Verifique se seu gravador de configuração está registrando todos os tipos de recursos que sua regra exige, por exemplo, AWS::EC2::Instance.
Atualize a opção Compatibilidade da sua regra
No console do AWS Config, a opção Compatibilidade da sua regra pode exibir Nenhum resultado relatado ou Nenhum recurso dentro do escopo. Para obter os resultados da avaliação, talvez seja necessário atualizar a regra, alterar seu escopo ou adicionar recursos. Para obter mais informações sobre como resolver esse problema, consulte Adição de regras (console).
Analise suas avaliações
Se o AWS Config não relatar um tempo de avaliação e exibir Falha nas avaliações, verifique se há erros na chamada de API PutEvaluations nos logs do AWS CloudTrail.
Analise seu histórico de eventos
No CloudTrail, é possível analisar seu histórico de eventos para eventos do AWS Config. Filtre config.amazonaws.com na Origem do evento e pesquise os erros "Access denied" nos resultados do log filtrado. Em seguida, analise os erros para obter detalhes sobre o problema.
Também é possível analisar os gatilhos de avaliação periódicos no Histórico de eventos. Para resolver esses problemas, certifique-se de que o recurso possa acessar as APIs de serviço relevantes.
Analise seus itens de configuração
Analise sua configuração de recursos e linha do tempo de compatibilidade. Certifique-se de que o item de configuração do seu recurso reflita corretamente as alterações nas regras do AWS Config com um gatilho baseado em alteração de configuração.
Atualize suas permissões de perfil de gravador
Certifique-se de que o perfil de gravador tenha as permissões corretas do AWS Identity and Access Management (AWS IAM). Essas permissões usam a API PutEvaluations para descrever a configuração do recurso e a compatibilidade de publicação.
Analise o status de avaliação da sua regra
Para ver o status da sua regra, execute o seguinte comando describe-config-rule-evaluation-status e analise o valor de LastErrorMessage:
aws configservice describe-config-rule-evaluation-status --config-rule-names ConfigRuleName --region RegionID
Observação: substitua ConfigRuleName pelo nome da sua regra do AWS Config e RegionID pela sua região da AWS.
Solucione problemas de regras personalizadas do AWS Config
Nas regras personalizadas do AWS Config, o AWS Config deve ter as permissões corretas para invocar a função do AWS Lambda. Se você não tiver as permissões corretas, receberá a seguinte mensagem de erro:
"Unable to execute lambda function"
Veja a seguir um exemplo de política de recursos da função do Lambda:
{
"Version": "2012-10-17",
"Id": "default",
"Statement": [
{
"Sid": "allow_config",
"Effect": "Allow",
"Principal": {
"Service": "config.amazonaws.com"
},
"Action": "lambda:InvokeFunction",
"Resource": "lambda-function-arn",
"Condition": {
"StringEquals": {
"AWS:SourceAccount": "AWS-accountID"
}
}
}
]
}
Para obter mais informações sobre o erro, consulte os eventos PutEvaluations em seus logs que têm um valor de Nome de usuário que corresponda ao nome da função do Lambda. Em seguida, analise errorMessage para obter detalhes.
Se você não autorizou o perfil de serviço da função do Lambda a realizar config:PutEvaluations, execute o seguinte comando add-permission:
aws lambda add-permission --function-name function_name --region RegionID --statement-id allow_config --action lambda:InvokeFunction --principal config.amazonaws.com --source-account AWS-accountID
Observação: substitua function_name pelo nome da sua função do Lambda, RegionID pela substitua região e AWS-accountID pelo ID da sua conta da AWS.
Se as permissões do perfil estiverem corretas, analise o código da função do Lambda para ver se há exceções geradas. Para obter mais detalhes, analise os logs no grupo de logs do Amazon CloudWatch /aws/lambda/FunctionName associado à função do Lambda.
Observação: para gerar mais logs de depuração, adicione uma declaração print ao código do Lambda.
Informações relacionadas
Por que não consigo criar ou excluir regras de configuração para AWS Organizations no AWS Config?