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?

3 minuto de leitura
0

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


AWS OFICIAL
AWS OFICIALAtualizada há 3 anos