Questão de prática de CLF-C02
Uma empresa gerencia uma aplicação web que consiste em instâncias do Amazon EC2, um banco de dados do Amazon RDS e um bucket do Amazon S3. A equipe implanta a aplicação em ambientes separados de desenvolvimento, teste e produção. Atualmente, a equipe configura manualmente cada ambiente, o que levou a desvios de configuração e erros de implantação. A empresa deseja definir toda a infraestrutura como código, armazenar a definição em um sistema de controle de versão e implantá-la de forma consistente em todos os ambientes com um único modelo. Qual serviço da AWS a empresa deve usar para atender a esses requisitos?
Resposta correta
Explicação
O AWS CloudFormation é a escolha correta porque permite definir toda a sua infraestrutura — incluindo instâncias do EC2, bancos de dados do RDS e buckets do S3 — como código em um modelo JSON ou YAML. Esse modelo pode ser armazenado em um sistema de controle de versão e implantado de forma consistente em ambientes de desenvolvimento, teste e produção usando um único modelo, eliminando o desvio de configuração e os erros manuais.
Para se aprofundar
O AWS CloudFormation é o serviço nativo de infraestrutura como código (IaC) da AWS. Você descreve recursos, como instâncias do EC2, bancos de dados do RDS, buckets do S3, grupos de segurança e funções do IAM, em um modelo JSON or YAML, e o CloudFormation os cria, atualiza e exclui juntos como uma pilha (stack), calculando a ordem correta a partir das dependências. Um modelo pode ser usado para desenvolvimento, teste e produção adicionando parâmetros, por exemplo, o tamanho da instância ou o nome do ambiente, e mapeamentos ou condições para valores que diferem. Como o modelo é um arquivo de texto, ele fica no Git como o código da aplicação, de modo que cada alteração é revisada e versionada. Os conjuntos de alterações (change sets) pré-visualizam o que uma atualização fará antes de ser executada, a detecção de desvios (drift detection) relata recursos alterados manualmente fora do CloudFormation, que é exatamente o problema descrito, e uma atualização com falha é revertida automaticamente. O StackSets implanta o mesmo modelo em várias contas e regiões. O AWS CDK permite que os desenvolvedores escrevam CloudFormation em linguagens de programação como Python ou TypeScript. Os distratores resolvem problemas diferentes. O AWS Elastic Beanstalk implanta e executa aplicações web em uma plataforma gerenciada, criando parte da infraestrutura para você, mas não é uma maneira geral de definir toda a infraestrutura como código. O AWS OpsWorks fornecia Chef e Puppet gerenciados para gerenciamento de configuração e atingiu o fim da vida útil. O AWS CodeDeploy automatiza a implantação de código de aplicação em EC2, Lambda, ECS ou servidores locais; ele não cria infraestrutura. No exame Cloud Practitioner, termos como 'infraestrutura como código', 'modelos', 'ambientes repetíveis' ou 'provisionar recursos de forma consistente' apontam para o CloudFormation.
Sobre estas questões de prática
Esta é uma das questões de prática originais de CLF-C02 da Courseiva, escrita para o aprendizado e nunca copiada de provas reais nem de dumps.
Traduzida do original em inglês com IA e conferida quanto ao sentido. Códigos de exame, comandos e nomes de produtos são mantidos como aparecem na prova.