Amazon DOP-C02: Infraestrutura como Código e Gerenciamento de Configuração — Guia de estudos

Faz parte do AWS DevOps Engineer Professional DOP-C02 — Guia de estudos. Pratique com respostas verificadas no centro de exames da Amazon, ou faça testes cronometrados no ExamRoll.io.

Visão Geral

A Infraestrutura como Código (IaC) e o gerenciamento de configuração na AWS fornecem provisionamento e configuração de infraestrutura e aplicações de forma repetível, auditável e governada. O CloudFormation e o AWS Cloud Development Kit (CDK) descrevem recursos de forma declarativa ou por meio de código que é sintetizado para CloudFormation. Camadas de configuração como o AWS OpsWorks e o AWS Systems Manager impõem e relatam o estado desejado em instâncias em frotas EC2 e híbridas. Segredos, parâmetros e a criação de imagens (image-baking) completam o ciclo de vida, permitindo implantações imutáveis e seguras em escala.

Stacks do CloudFormation, Controle de Mudanças e Governança

As stacks do CloudFormation são a unidade de implantação. Projete as stacks em torno dos limites de ciclo de vida e propriedade para minimizar o raio de impacto (blast radius). Use parâmetros com moderação e prefira padrões opinativos (opinionated defaults) com mapeamentos ou buscas no SSM. Exporte e importe apenas valores estáveis e compartilhados por meio de Outputs e Fn::ImportValue para evitar acoplamento forte (tight coupling).

As nested stacks (pilhas aninhadas) encapsulam componentes reutilizáveis e mantêm os templates pais pequenos. Uma stack pai pode passar parâmetros para stacks filhas e consumir seus outputs, permitindo arquiteturas modulares (por exemplo, uma nested stack de rede compartilhada consumida por uma stack de aplicação). Mantenha as nested stacks focadas em uma única responsabilidade (VPC, camada de dados, camada de aplicação) e versione-as de forma independente.

Os StackSets implantam um único template em várias contas e Regiões. Use o modelo de permissão gerenciado pelo serviço (service-managed) com o AWS Organizations para implantar automaticamente em OUs e incluir novas contas automaticamente. Configure as preferências de operação (máximo de contas/Regiões simultâneas, tolerância a falhas) para controlar o rollout. As substituições de parâmetros (parameter overrides) por conta ou Região permitem adaptar um template padrão a restrições locais. Monitore o desvio (drift) do StackSet e da instância da stack para detectar alterações fora de banda (out-of-band).

Os change sets fornecem atualizações seguras e revisáveis por humanos. Sempre use

undefined

e inspecione o impacto recurso por recurso, as substituições e a potencial perda de dados antes de usar

undefined

. Integre os change sets em pipelines automatizados para aprovações controladas (gated approvals).

A detecção de desvio (drift detection) valida se os recursos da stack correspondem ao template. Execute a detecção de desvio rotineiramente em stacks e StackSets críticos; entenda que nem todas as propriedades são avaliadas para todos os tipos de recursos (propriedades não suportadas são relatadas como “not checked”). Trate o desvio (drift) como um incidente: investigue, capture o contexto e corrija, seja por meio de uma atualização da stack ou codificando o desvio e reaplicando.

As políticas de stack (stack policies) são documentos JSON que protegem recursos críticos durante as atualizações. Negue atualizações a recursos insubstituíveis (por exemplo, bancos de dados de produção, zonas do Route 53) e use

undefined

para abrir temporariamente um caminho cirúrgico para uma alteração específica e, em seguida, restaurar a política mais restrita. Combine com a proteção contra término (termination protection) e

undefined

(Retain/Snapshot) para criar barreiras de proteção (guardrails). Para recursos com estado externo (buckets S3), planeje os comportamentos de exclusão. Se um bucket precisar ser esvaziado antes da exclusão, implemente um recurso personalizado (custom resource) para limpar os objetos na exclusão da stack.

AWS CDK e Extensibilidade do CloudFormation

O AWS CDK modela a infraestrutura em linguagens familiares (TypeScript, Python, Java, .NET, Go). Os Constructs são os blocos de construção do CDK:

undefined

) são gerados a partir da especificação do CloudFormation e mapeiam um para um com os recursos.

undefined

).

Uma aplicação CDK (CDK app) contém uma ou mais stacks. Durante o

undefined

, a aplicação resolve as buscas de contexto (context lookups) (por exemplo, IDs de VPC), renderiza os ativos (assets) e produz um template do CloudFormation. Antes de implantar, o

undefined

cria os buckets de ativos e as roles do ambiente. Use

undefined

para visualizar as alterações e, em seguida,

undefined

para enviar os templates e ativos; o CDK usa change sets internamente e mostrará e confirmará alterações sensíveis à segurança (IAM ou substituições de recursos). Aplique tags em stacks e recursos por meio de Aspects para impor o tagueamento em toda a organização. Onde as abstrações L2 não forem suficientes, use mecanismos de escape (escape hatches) (

undefined

) ou recorra aos constructs L1.

Os recursos personalizados (custom resources) do CloudFormation estendem a IaC para qualquer coisa acessível via APIs. Um recurso personalizado baseado em Lambda (Lambda-backed) recebe eventos de Create, Update e Delete com um

undefined

,

undefined

e propriedades. A função deve:

undefined

pré-assinada dentro da janela de tempo limite (timeout).

undefined

estável para rastrear atualizações e orientar a limpeza no evento de Delete.

Use IAM execution roles de privilégio mínimo para o Lambda, inclua backoff exponencial nas chamadas de API e correlacione os logs por meio do

undefined

. Para operações grandes ou de longa duração, considere o uso do Step Functions com um recurso personalizado que aguarda um token de execução. Prefira o CloudFormation Registry para provedores (providers) reutilizáveis e versionados, quando aplicável.

Segredos e Parâmetros em Infraestrutura como Código

Nunca codifique segredos diretamente (hardcode) em templates ou código. Use referências dinâmicas para resolver valores sensíveis no momento da implantação (deploy time):

Referências dinâmicas evitam que segredos sejam armazenados no template da stack ou em eventos. Não coloque segredos em Outputs ou em propriedades de recursos que o CloudFormation registra como texto plano (plaintext). Conceda à execution role do CloudFormation permissão para descriptografar ou recuperar os valores referenciados e restrinja o escopo das KMS CMKs aos principals que precisam de acesso.

O Parameter Store é ideal para configurações não secretas (feature flags, IDs de AMI, endpoints). Use parâmetros SSM versionados para criar rollbacks seguros e promoções atômicas entre ambientes. No CDK, importe valores com ssm.StringParameter.fromStringParameterName ou fromSecureStringParameterAttributes para valores seguros, e integre a leitura de parâmetros em user data ou nos bootstraps da aplicação.

O Secrets Manager é projetado para controles de ciclo de vida, rotação e auditoria. Integre a rotação com serviços compatíveis (RDS, Aurora) ou com Lambdas personalizadas. Referencie os segredos em tempo de execução (runtime) em vez de incorporá-los (baking) nas AMIs para evitar a proliferação de material obsoleto. Para workloads contêinerizadas ou serverless, injete segredos por meio de variáveis de ambiente baseadas em referências do Secrets Manager ou monte-os via segredos do ECS/TaskDefinition; rotacione com o mínimo de tempo de inatividade (downtime) usando pools de conexão com TTL curto e novas tentativas (retries).


Pipelines de CI · Todos os domínios · Monitoramento

Pratique estas questões → · Prática cronometrada no ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Passe no seu exame →

Navegar Amazon →

Related guides

Acesso completo

Uma assinatura. Todos os exames.

Todo plano desbloqueia pesquisa ilimitada de respostas, testes práticos, explicações de AI e a biblioteca completa de recursos — em mais de 20 idiomas.

Mensal
24.87
Just €0.83/day
Tudo incluído:
  • Pesquisa ilimitada de respostas
  • Testes práticos ilimitados
  • Explicações com AI
  • Biblioteca completa de recursos
  • Mais de 20 idiomas
  • Atualizações semanais de conteúdo
  • Recompensas e indicações
  • Suporte prioritário
Iniciar teste grátis

*Não é necessário cartão de crédito

Melhor custo-benefício
12 meses
179.87
Just €0.49/daySave 40%
Tudo incluído:
  • Pesquisa ilimitada de respostas
  • Testes práticos ilimitados
  • Explicações com AI
  • Biblioteca completa de recursos
  • Mais de 20 idiomas
  • Atualizações semanais de conteúdo
  • Recompensas e indicações
  • Suporte prioritário
Iniciar teste grátis

*Não é necessário cartão de crédito

✓ Plano gratuito incluído · ✓ Cancele a qualquer momento · ✓ Todos os planos desbloqueiam o produto completo