Como resolvo erros de detecção de desvios no CloudFormation com minha regra “cloudformation-stack-drift-detection-check” gerenciada pela AWS para o AWS Config?
Quero resolver erros de detecção de desvios no AWS CloudFormation com minha regra gerenciada da AWS cloudformation-stack-drift-detection-check para o AWS Config.
Breve descrição
Você pode receber os seguintes erros mesmo que o status de desvio da sua pilha seja exibido como IN_SYNC no console do CloudFormation:
- "O AWS CloudFormation falhou em detectar desvios, adotando como padrão NON_COMPLIANT. Reavalie a regra e tente novamente. Se o problema persistir, entre em contato com o suporte do AWS CloudFormation."
- "Sua operação de detecção de desvio de pilha para a pilha específica falhou. Verifique suas permissões de função existentes do AWS CloudFormation e adicione as permissões ausentes."
Dependendo do erro que você receber, escolha uma das seguintes opções:
- Se você receber o erro NON-COMPLIANT, conclua as etapas na seção Atualizar suas regras do AWS Config.
- Se você receber o erro de permissões, conclua as etapas da seção Definir as permissões corretas.
Observação: a regra gerenciada da AWS cloudformation-stack-drift-detection-check verifica a detecção de desvios nas pilhas do CloudFormation usando a API DetectStackDrift. Essa regra tem um tipo de gatilho de alteração periódica e de configuração. Você receberá uma mensagem de erro se a detecção de desvio falhar.
Resolução
Atualizar suas regras do AWS Config
Você pode receber uma mensagem de erro NON_COMPLIANT no console do AWS Config pelos seguintes motivos:
- Os recursos de sua pilha do CloudFormation não oferecem suporte à detecção de desvios. Você recebe um erro na forma de anotação no recurso NON_COMPLIANT para sua regra do AWS Config. Por exemplo, você recebe um erro “A detecção de deriva não é suportada pelo ResourceType” no log do AWS CloudTrail.
- Sua regra do AWS Config depende da disponibilidade de DetectStackDrift. Você recebe um erro de controle de utilização ou “Taxa excedida” porque o AWS Config padroniza a regra como NON_COMPLIANT quando o controle de utilização ocorre.
Para resolver o erro resultante da falta de suporte para detecção de desvio:
Ignore a pilha do CloudFormation no status NON_COMPLIANT. Nesse cenário, o erro é um falso positivo. Para mais informações, consulte Avaliar seus recursos.
-ou-
Crie uma regra personalizada do AWS Config que inclua uma provisão para excluir suas pilhas das avaliações. Para exemplos de regras do AWS Config, consulte AWS Config Rules Repository e RDKLib.
Para resolver o erro resultante da disponibilidade de DetectStackDrift:
1. Avalie sua regra do AWS Config novamente.
Observação: por exemplo, você pode anexar permissões confiáveis config.amazonaws.com e permissões de política ReadOnlyAccess (AWS Managed) ao Amazon Resource Name (ARN) da função, que é fornecido no parâmetro obrigatório da regra CloudFormationRolearn. Para mais informações, consulte Considerações ao detectar desvios.
2. Execute a detecção de desvios em suas pilhas do CloudFormation.
3. Execute a avaliação por meio de sua regra do AWS Config.
Definir as permissões corretas
Você recebe um erro de permissão quando a função AWS Identity and Access Management (IAM) para o parâmetro exigido cloudformationRoleArn não tem a API DetectStackDrift, a API DetectStackResourceDrift ou outras permissões de serviço necessárias.
Para resolver esse erro, edite a política de confiança para sua função do IAM. Você deve anexar as permissões config.amazonaws.com e ReadOnlyAccess (AWS Managed) para cloudformationRoleArn.
Informações relacionadas
Workshop do CloudFormation: laboratório de detecção de desvio
Conteúdo relevante
- AWS OFICIALAtualizada há 10 meses
- AWS OFICIALAtualizada há 3 meses
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há um ano