Configure a detecção de CloudFormation desvios em uma organização multirregional e com várias contas - Recomendações da AWS

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á.

Configure a detecção de CloudFormation desvios em uma organização multirregional e com várias contas

Ram Kandaswamy, Amazon Web Services

Resumo

Os usuários do Amazon Web Services (AWS) geralmente procuram uma maneira eficiente de detectar incompatibilidades na configuração de recursos, incluindo a variação nas AWS CloudFormation pilhas, e corrigi-las o mais rápido possível. Esse é especialmente o caso quando AWS Control Tower é usado.

Esse padrão fornece uma solução prescritiva que resolve o problema de forma eficiente usando alterações consolidadas na configuração de recursos e agindo de acordo com essas alterações para gerar resultados. A solução foi projetada para cenários em que há várias CloudFormation pilhas criadas em mais de uma Região da AWS, ou em mais de uma conta, ou uma combinação de ambas. Os objetivos da solução são os seguintes:

  • Simplifique o processo de detecção de desvios

  • Configurar notificação e alerta

  • Configurar relatórios consolidados

Pré-requisitos e limitações

Pré-requisitos

  • AWS Config ativado em todas as regiões e contas que devem ser monitoradas

Limitações

  • O relatório gerado é compatível apenas com os formatos de saída de valores separados por vírgula (CSV) e JSON.

Arquitetura

O diagrama a seguir mostra a AWS Organizations configuração com várias contas. AWS Config as regras se comunicam entre as contas.  

Processo em cinco etapas para monitorar pilhas em duas contas do AWS Organizations.

O fluxo de trabalho inclui as seguintes etapas:

  1. A AWS Config regra detecta desvios.

  2. Os resultados da detecção de desvios encontrados em outras contas são enviados para a conta gerencial.

  3. A CloudWatch regra da Amazon chama uma AWS Lambda função.

  4. A função Lambda consulta a AWS Config regra para obter resultados agregados.

  5. A função do Lambda notifica o Amazon Simple Notification Service (Amazon SNS), que envia um e-mail informando sobre o desvio.

Automação e escala

A solução apresentada aqui pode ser dimensionada para regiões e contas adicionais.

Ferramentas

Serviços da AWS

  • AWS Configfornece uma visão detalhada da configuração dos AWS recursos em seu Conta da AWS. Isso inclui como os recursos estão relacionados um com o outro e como eles foram configurados no passado, de modo que você possa ver como os relacionamentos e as configurações foram alterados ao longo do tempo.

  • CloudWatchA Amazon ajuda você a monitorar as métricas dos seus AWS recursos e dos aplicativos em que você executa AWS em tempo real.

  • O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado.

  • O Amazon Simple Notification Service (Amazon SNS) ajuda você a coordenar e gerenciar a troca de mensagens entre publicadores e clientes, incluindo servidores web e endereços de e-mail.

Épicos

TarefaDescriptionHabilidades necessárias

Crie o agregador.

  1. Faça login no Console de gerenciamento da AWS e abra o AWS Config console em https://console.aws.amazon.com/config.

  2. Crie um agregador na conta gerencial.

  3. Certifique-se de que a replicação de dados esteja ativada para que AWS Config possa buscar dados das contas de origem.

  4. Selecione todas as regiões e contas aplicáveis. É possível selecionar contas com base no AWS Organizations. Recomendamos essa abordagem porque novas contas na organização passam a fazer parte do agregador automaticamente.

Arquiteto de nuvem

Crie uma regra AWS gerenciada.

Adicione a regra cloudformation-stack-drift-detection-check AWS gerenciada. A regra precisa de um valor de parâmetro: cloudformationArn.

Insira o nome do recurso da Amazon (ARN) do perfil do IAM que tem permissões para detectar desvio de pilha. A função deve ter uma política de confiança que AWS Config permita assumir a função.

Arquiteto de nuvem

Crie a seção de consulta avançada do agregador.

Para buscar pilhas derivadas de várias fontes, crie a seguinte consulta:

SELECT resourceId, configuration.driftInformation.stackDriftStatus WHERE resourceType = 'AWS::CloudFormation::Stack' AND configuration.driftInformation.stackDriftStatus IN ('DRIFTED')
Arquiteto de nuvem, desenvolvedor

Automatize a execução da consulta e publique.

  1. Crie uma função do Lambda usando o código fornecido em anexo. O Lambda publicará os resultados em um tópico do SNS fornecido como variável de ambiente na função do Lambda.

  2. Para receber alertas, crie uma assinatura de e-mail para o tópico do SNS.

Arquiteto de nuvem, desenvolvedor

Crie uma CloudWatch regra.

Crie uma CloudWatch regra baseada em agendamento para chamar a função Lambda, que é responsável pelos alertas.

Arquiteto de nuvem

Recursos relacionados

Recursos

Mais informações

Considerações

Recomendamos usar a solução apresentada nesse padrão em vez de usar soluções personalizadas que envolvam chamadas de API em intervalos específicos para iniciar a detecção de desvios em cada pilha ou conjunto de CloudFormation pilhas. As soluções personalizadas que usam chamadas de API em intervalos específicos podem gerar um grande número de chamadas e afetar a performance. Devido ao número de chamadas de API, pode ocorrer controle de utilização. Outro problema potencial é um atraso na detecção se as alterações de recursos forem identificadas com base somente no cronograma.

Como os conjuntos de pilhas são constituídos por pilhas, você pode usar esta solução. Os detalhes da instância de pilhas também estão disponíveis como parte da solução.

Anexos

Para acessar o conteúdo adicional associado a este documento, descompacte o seguinte arquivo: attachment.zip