O Dominio 2 do DOP-C02, Gerenciamento de Configuracao e IaC, representa 17% do peso do exame. Vai muito alem de conhecer a sintaxe do CloudFormation: avalia sua capacidade de implantar infraestrutura de forma consistente em centenas de contas, corrigir automaticamente milhares de servidores e se recuperar quando ocorre desvio de configuracao. Este post cobre os padroes-chave que aparecem repetidamente nos cenarios do exame DOP-C02.
Padroes Avancados de CloudFormation
AutoScalingRollingUpdate — Substituicao de Instancias sem Tempo de Inatividade
Ao implantar uma nova AMI em um Auto Scaling Group, a abordagem mais segura e usar o atributo UpdatePolicy do CloudFormation para controlar como as instancias sao substituidas.
Resumo dos parametros-chave:
| Parametro | Proposito | |-----------|----------| | MaxBatchSize | Maximo de instancias substituidas simultaneamente | | MinInstancesInService | Minimo de instancias saudaveis durante a substituicao | | WaitOnResourceSignals | Aguardar cfn-signal antes de prosseguir para o proximo lote | | PauseTime | Tempo de espera entre lotes |
AutoScalingReplacingUpdate substitui todo o ASG por um novo, o que significa que ambos existem simultaneamente e o custo dobra durante a transicao. Quando e necessaria uma substituicao gradual e controlada, sempre escolha AutoScalingRollingUpdate.
Gerenciamento de Dependencias entre Stacks — Cross-Stack Export/Import vs Nested Stacks
Como separar e gerenciar VPC, grupos de seguranca e camadas de aplicacao em uma arquitetura multi-camadas e um topico recorrente no DOP-C02.
Padrao Cross-Stack Export/Import: Os stacks de rede, seguranca e aplicacao funcionam como stacks CloudFormation independentes A secao Outputs do stack de rede define um Export Name; o stack da aplicacao o referencia via Fn::ImportValue Cada stack e implantado de forma independente, ideal quando as camadas tem ciclos de lancamento diferentes
Padrao Nested Stack: O stack pai declara os stacks filhos como recursos Atualizar o stack pai aciona a reimplantacao de todos os stacks aninhados Alta reutilizabilidade de recursos, mas nao suporta cronogramas de implantacao independentes
Lembre-se da restricao de acoplamento forte: enquanto outro stack referencia um Export, voce nao pode excluir o stack exportador nem renomear seu Export.
!Cross-Stack Export/Import vs Nested Stacks
Politicas de Protecao de Dados no CloudFormation
Quando stacks contendo instancias RDS ou volumes EBS sao atualizados ou excluidos, duas politicas devem ser configuradas juntas para evitar perda de dados.
| Politica | Ativacao | Comportamento | |---------|---------|--------------| | DeletionPolicy: Snapshot | Exclusao do stack | Cria snapshot automatico antes de excluir o recurso | | UpdateReplacePolicy: Snapshot | Recurso substituido durante atualizacao | Cria snapshot antes da substituicao |
Configurar apenas DeletionPolicy deixa voce exposto quando uma atualizacao do stack causa a substituicao de um recurso. Ambas as politicas sao necessarias para cobrir todos os cenarios de perda de dados.
Recuperacao de UPDATE_ROLLBACK_FAILED
Quando uma atualizacao de stack falha e fica presa no estado UPDATE_ROLLBACK_FAILED, a causa mais comum e que um recurso foi modificado ou excluido fora do CloudFormation, tornando impossivel reverter ao estado original.
Solucao oficial: Use a API ContinueUpdateRollback com o parametro ResourcesToSkip para ignorar o recurso problematico e deixar o restante do rollback ser concluido. O recurso ignorado e marcado como desviado e deve ser corrigido separadamente usando Drift Detection.
Custom Resources do CloudFormation — Automatizacao Alem do Suporte Nativo
Para operacoes que os tipos de recursos nativos do CloudFormation nao suportam, como esvaziar um bucket S3 nao vazio, chamar APIs externas ou criar um Active Directory Connector, use um Custom Resource respaldado por Lambda.
Como funciona: O CloudFormation invoca Lambda com um objeto de evento contendo um ResponseURL (uma URL S3 pre-assinada) Lambda deve enviar uma resposta SUCCESS ou FAILED ao ResponseURL apos a conclusao Se cfn-response nunca for enviado, o CloudFormation aguarda ate uma hora antes de falhar por timeout
O erro mais comum e omitir a chamada cfn-response em um bloco try/except. Se Lambda executa com sucesso mas o stack CloudFormation expira, um cfn-response ausente e quase sempre o culpado.
AWS CDK e CDK Pipelines
Relacao do CDK com o CloudFormation
O AWS CDK permite definir infraestrutura usando TypeScript, Python, Java ou C#. Executar cdk synth produz um template CloudFormation. Como os stacks gerados pelo CDK sao implantados via CloudFormation, eles herdam todas as suas capacidades: deteccao de desvio, change sets e rollback automatico.
Vantagens-chave do CDK: Use condicionais, loops e funcoes para expressar padroes de infraestrutura complexos de forma concisa Os Constructs L2 e L3 incorporam melhores praticas Verificacao de tipos e intellisense da IDE reduzem erros
CDK Pipelines — Definindo Pipelines como Codigo
CDK Pipelines e um Construct L3 que define CodePipeline como codigo CDK. Como o proprio pipeline e implantado como um stack CloudFormation, qualquer alteracao manual no console e detectada como desvio e restaurada automaticamente.
Gerenciar o pipeline como IaC garante prevencao de desvio, capacidade de reaprovisionar um pipeline identico a qualquer momento e rollback automatico em caso de falha de implantacao.
Sincronizacao Automatica do Service Catalog + CodePipeline
Quando uma equipe de plataforma distribui templates CloudFormation aprovados para unidades de negocio, atualizar manualmente o Service Catalog sempre que um template muda gera omissoes e atrasos. O CodePipeline tem uma acao de implantacao nativa do Service Catalog sem necessidade de Lambda. Quando um commit chega ao CodeCommit, o pipeline atualiza automaticamente a versao do produto do Service Catalog.
Governanca Multi-Conta com AWS Organizations
Componentes Principais do Organizations
Empresas que gerenciam dezenas ou centenas de contas AWS usam Organizations e Control Tower juntos para governanca.
| Componente | Funcao | |-----------|--------| | Management Account | Raiz da organizacao, aplica SCPs de nivel superior | | Organizational Unit (OU) | Agrupa contas, SCPs aplicadas no nivel da OU | | Service Control Policy (SCP) | Define o limite maximo de permissoes para IAM | | Control Tower | Automacao de landing zone, provisionamento de contas, guardrails |
As SCPs nao substituem as politicas IAM. Uma acao requer que tanto a SCP quanto a politica IAM a permitam. As SCPs apenas definem o limite superior das permissoes possiveis.
CloudFormation StackSets — Implantacao Multi-Conta e Multi-Regiao
StackSets implanta um unico template CloudFormation em multiplas contas e regioes simultaneamente.
No modo SERVICE_MANAGED com auto-deployment habilitado, os stacks sao implantados automaticamente em novas contas quando adicionadas a uma OU. Este e o padrao de "incorporacao automatica de contas" que aparece frequentemente no DOP-C02.
Controles de concorrencia de implantacao: MaxConcurrentPercentage: percentual de contas para implantar simultaneamente FailureTolerancePercentage: percentual de contas que podem falhar antes de interromper a operacao
Integracao de GuardDuty e Config com Organizations
GuardDuty Organizations: Habilitar GuardDuty na conta de gerenciamento ou em uma conta de administrador delegado agrega as descobertas de ameacas de todas as contas membro centralmente Com auto-enable, o GuardDuty e ativado automaticamente em novas contas
Regras Config do Organizations: Implantar um Config Conformance Pack no nivel do Organizations aplica as mesmas regras de conformidade a todas as contas Um Aggregator centraliza o status de conformidade de todas as contas e regioes em uma unica visualizacao
Padrao de Roles IAM entre Contas
Quando uma conta CI/CD central implanta em contas de desenvolvimento, staging e producao, a delegacao de roles entre contas e a abordagem padrao.
Criar CrossAccountDeployRole em cada conta destino com uma politica de confianca referenciando o ID da conta CI/CD CodePipeline/CodeBuild na conta CI/CD chama STS AssumeRole para obter o role da conta destino Implantar CloudFormation usando as credenciais temporarias do role assumido
Este padrao implementa implantacao multi-conta com privilegios minimos e sem credenciais de longa duracao.
Automacao em Larga Escala com AWS Systems Manager
Patch Manager — Politicas de Patches por Ambiente
Aplicar automaticamente diferentes baselines de patches a diferentes ambientes para centenas de instancias EC2 e um cenario recorrente no DOP-C02.
Fluxo de configuracao:
Padrao de separacao por ambiente:
| Ambiente | Patch Baseline | Tag do Patch Group | |---------|---------------|-------------------| | Producao | Apenas classificacao SECURITY | Patch Group: prod | | Staging | SECURITY (pre-validacao) | Patch Group: staging | | Desenvolvimento | ALL | Patch Group: dev |
Definir a concorrencia do Rate Control (por exemplo, 10%) limita quantas instancias sao corrigidas simultaneamente, evitando que centenas de instancias sejam reiniciadas ao mesmo tempo e causem uma interrupcao do servico.