Pular para o conteúdo principal

Quiz de Validação - MÓDULO 15

Este quiz de 30 questões permite validar seus conhecimentos sobre CloudFormation e Infrastructure as Code.


Questão 1​

O que é Infrastructure as Code (IaC)?

A) Código que é executado na infraestrutura
B) Gerenciamento da infraestrutura por meio de arquivos de configuração declarativos
C) Uma linguagem de programação
D) Um serviço AWS

Ver resposta

Resposta: B

IaC consiste em definir e gerenciar a infraestrutura por meio de arquivos de código/configuração em vez de manualmente. Vantagens: reprodutibilidade, versionamento, automação, consistência, documentação viva.


Questão 2​

O que é AWS CloudFormation?

A) Um serviço de meteorologia
B) O serviço AWS de Infrastructure as Code para provisionar recursos via templates
C) Um serviço de armazenamento
D) Um Load Balancer

Ver resposta

Resposta: B

CloudFormation permite definir recursos AWS em templates (YAML ou JSON). Ele cria, atualiza e exclui recursos automaticamente, gerenciando as dependências.


Questão 3​

Quais formatos de arquivo o CloudFormation suporta?

A) Apenas XML
B) JSON e YAML
C) Apenas Python
D) Terraform

Ver resposta

Resposta: B

CloudFormation suporta JSON e YAML. YAML geralmente é preferido por ser mais legível (suporta comentários, menos verboso). Ambos são equivalentes funcionalmente.


Questão 4​

O que é uma "Stack" do CloudFormation?

A) Uma pilha de servidores
B) Um conjunto de recursos AWS gerenciados como uma unidade a partir de um template
C) Um tipo de armazenamento
D) Um grupo de segurança

Ver resposta

Resposta: B

Uma Stack é uma coleção de recursos AWS criados e gerenciados juntos. Quando você cria uma stack, o CloudFormation provisiona todos os recursos definidos no template. Excluir a stack remove todos os seus recursos.


Questão 5​

Quais são as seções principais de um template CloudFormation?

A) Apenas Resources
B) Parameters, Mappings, Conditions, Resources, Outputs
C) Apenas Inputs e Outputs
D) Variables e Functions

Ver resposta

Resposta: B

Seções: AWSTemplateFormatVersion, Description, Metadata, Parameters (entradas), Mappings, Conditions, Transform, Resources (obrigatório), Outputs. Apenas Resources é obrigatória.


Questão 6​

Qual é a única seção obrigatória de um template CloudFormation?

A) Parameters
B) Resources
C) Outputs
D) Description

Ver resposta

Resposta: B

A seção Resources é a única obrigatória. Ela define os recursos AWS a serem criados (EC2, S3, VPC, etc.). Sem recursos, o template não cria nada.


Questão 7​

O que é um "Parameter" no CloudFormation?

A) Uma constante
B) Um valor fornecido no momento da criação/atualização da stack
C) Um recurso
D) Um output

Ver resposta

Resposta: B

Parameters são valores de entrada personalizáveis durante o deploy. Eles tornam os templates reutilizáveis (ex: escolher o tipo de instância, nome do ambiente). É possível definir valores padrão e restrições.


Questão 8​

Como referenciar um parâmetro em um template CloudFormation?

A) Sintaxe cifrão-chaves
B) !Ref NomeParametro
C) @Parameter
D) #Ref Parameter

Ver resposta

Resposta: B

A função intrínseca !Ref retorna o valor de um parâmetro ou o ID de um recurso. Sintaxe YAML: !Ref NomeParametro. Sintaxe JSON: Ref com NomeParametro entre aspas.


Questão 9​

O que é um "Output" no CloudFormation?

A) Um arquivo de saída
B) Um valor exportado da stack (ex: URL, ID) utilizável por outras stacks
C) Um log
D) Um erro

Ver resposta

Resposta: B

Outputs exportam valores após a criação da stack: IDs de recursos, URLs, ARNs. Podem ser exibidos no console, retornados pela API ou importados em outras stacks (cross-stack references).


Questão 10​

Como importar um valor de outra stack?

A) !Import
B) !ImportValue NomeExport
C) !CrossStack
D) Não é possível

Ver resposta

Resposta: B

!ImportValue permite importar um valor exportado por outra stack. A stack fonte deve ter um Output com Export:Name. A stack importadora usa !ImportValue NomeExport para recuperar o valor.


Questão 11​

O que faz a função !GetAtt?

A) Obter um atributo
B) Recuperar um atributo específico de um recurso (ex: ARN, DNS name)
C) Obter todos os atributos
D) Excluir um atributo

Ver resposta

Resposta: B

!GetAtt retorna um atributo específico de um recurso. Exemplo: !GetAtt MyEC2.PublicIp retorna o IP público. Cada tipo de recurso tem atributos diferentes documentados na referência do CloudFormation.


Questão 12​

O que faz a função !Sub?

A) Subtração
B) Substituição de variáveis em uma string
C) Sub-rotina
D) Subscription

Ver resposta

Resposta: B

!Sub substitui variáveis em uma string. Exemplo: !Sub com arn:aws:s3:::NomeBucket/* substitui a variável pelo valor. Suporta variáveis de template e pseudo-parâmetros.


Questão 13​

O que é um pseudo-parâmetro no CloudFormation?

A) Um parâmetro falso
B) Um parâmetro pré-definido pela AWS (ex: AWS::Region, AWS::AccountId)
C) Um parâmetro oculto
D) Um parâmetro opcional

Ver resposta

Resposta: B

Pseudo-parâmetros são fornecidos automaticamente pela AWS: AWS::Region (região atual), AWS::AccountId (ID da conta), AWS::StackName (nome da stack), AWS::StackId, AWS::NoValue.


Questão 14​

O que o CloudFormation faz se a criação de um recurso falhar?

A) Continua com os outros
B) Rollback automático - exclui os recursos criados e retorna ao estado inicial
C) Ignora o erro
D) Envia um e-mail

Ver resposta

Resposta: B

Por padrão, se um recurso falha, o CloudFormation faz rollback: exclui todos os recursos criados durante essa operação. A stack retorna ao estado anterior (ou é excluída se era uma criação).


Questão 15​

Como ver por que uma stack falhou?

A) Impossível
B) Consultar os Events da stack no console ou via CLI
C) No S3
D) Via e-mail

Ver resposta

Resposta: B

Os Events da stack mostram o status de cada recurso e as mensagens de erro. O console exibe uma linha do tempo. CLI: aws cloudformation describe-stack-events --stack-name NomeStack.


Questão 16​

O que é um Change Set?

A) Um conjunto de mudanças monetárias
B) Um preview das modificações que o CloudFormation fará em uma stack
C) Um backup
D) Um novo template

Ver resposta

Resposta: B

Um Change Set mostra as modificações que serão aplicadas antes de executá-las. Indica quais recursos serão adicionados, modificados ou excluídos. Permite validar as mudanças antes de aplicá-las.


Questão 17​

O que é "Drift Detection"?

A) Detecção de deriva
B) Detecção das diferenças entre a configuração atual e o template original
C) Detecção de movimento
D) Detecção de erros

Ver resposta

Resposta: B

Drift Detection compara o estado atual dos recursos com o que está definido no template. Detecta modificações manuais (drift) feitas fora do CloudFormation. Importante para manter a consistência da IaC.


Questão 18​

O que é um Nested Stack?

A) Uma stack oculta
B) Uma stack que inclui outras stacks como recursos
C) Uma stack excluída
D) Uma stack de teste

Ver resposta

Resposta: B

Um Nested Stack é uma stack criada como recurso (AWS::CloudFormation::Stack) dentro de outra stack. Permite decompor templates complexos em módulos reutilizáveis.


Questão 19​

O que é AWS SAM em relação ao CloudFormation?

A) Um substituto
B) Uma extensão simplificada do CloudFormation para aplicações serverless
C) Um serviço completamente diferente
D) Uma versão obsoleta

Ver resposta

Resposta: B

AWS SAM (Serverless Application Model) é uma extensão do CloudFormation que simplifica a definição de Lambda, API Gateway, DynamoDB, etc. Os templates SAM são transformados em templates CloudFormation durante o deploy.


Questão 20​

Como excluir uma stack CloudFormation?

A) Excluir o template
B) aws cloudformation delete-stack --stack-name NomeStack ou via console
C) Parar as instâncias
D) Não é possível

Ver resposta

Resposta: B

Exclua via console ou CLI: aws cloudformation delete-stack --stack-name NomeStack. O CloudFormation exclui todos os recursos da stack na ordem correta (dependências invertidas). Alguns recursos podem ter uma DeletionPolicy.


Questão 21​

O que é DeletionPolicy?

A) Uma política de demissão de funcionários
B) Uma política que determina o que acontece com um recurso quando a stack é excluída
C) Uma política de retenção de logs
D) Uma política IAM

Ver resposta

Resposta: B

DeletionPolicy define o comportamento na exclusão: Delete (exclui o recurso), Retain (mantém o recurso), Snapshot (cria um snapshot antes de excluir - para RDS, EBS). Protege contra exclusões acidentais.


Questão 22​

O que é UpdateReplacePolicy?

A) Uma política de atualização
B) Uma política que determina o que acontece com um recurso quando ele é substituído durante um update
C) Uma política de substituição de pessoal
D) Uma política de rollback

Ver resposta

Resposta: B

UpdateReplacePolicy define o comportamento quando uma atualização exige a substituição de um recurso (Recreation). Similar à DeletionPolicy, mas para updates que substituem.


Questão 23​

O que é !Condition no CloudFormation?

A) Uma condição médica
B) Lógica condicional para criar ou não recursos conforme parâmetros
C) Um erro
D) Um loop

Ver resposta

Resposta: B

Conditions permitem criar recursos condicionalmente. Exemplo: criar uma instância de banco de dados apenas se o parâmetro Environment for "Production". Usado com !If, !Equals, !And, !Or, !Not.


Questão 24​

Como testar um template CloudFormation antes do deploy?

A) Deploy em produção
B) aws cloudformation validate-template, Change Sets ou cfn-lint
C) Impossível
D) Via e-mail

Ver resposta

Resposta: B

Métodos: aws cloudformation validate-template (sintaxe), cfn-lint (linter com boas práticas), Change Sets (preview das mudanças), TaskCat (testes multi-região), deploy em uma conta de teste.


Questão 25​

O que é StackSets?

A) Conjuntos de templates
B) Deploy de uma stack em múltiplas contas e regiões simultaneamente
C) Stacks agrupadas
D) Backups de stacks

Ver resposta

Resposta: B

StackSets permite fazer deploy de uma stack CloudFormation em múltiplas contas AWS e/ou regiões com uma única operação. Ideal para configurações organizacionais (guardrails, compliance).


Questão 26​

Como impedir modificações manuais nos recursos do CloudFormation?

A) Impossível
B) Stack Policy, IAM policies restritivas, SCPs e alertas do CloudTrail
C) Excluir os usuários
D) Criptografar os recursos

Ver resposta

Resposta: B

Estratégias: Stack Policy (protege certos recursos de updates), IAM policies (restringe modificações diretas), SCPs (no nível da Organization), alertas do CloudTrail para modificações fora do CF, Drift Detection regular.


Questão 27​

O que é cfn-init?

A) A inicialização do CloudFormation
B) Um helper script para configurar instâncias EC2 na inicialização via Metadata
C) Um serviço de rede
D) Um tipo de template

Ver resposta

Resposta: B

cfn-init é um utilitário que lê as metadata AWS::CloudFormation::Init e configura a instância: instala pacotes, cria arquivos, inicia serviços. Usado com UserData e cfn-signal para sinalizar sucesso.


Questão 28​

O que é cfn-signal?

A) Um sinal de rádio
B) Um helper para sinalizar ao CloudFormation que a configuração da instância foi concluída
C) Um log
D) Um trigger

Ver resposta

Resposta: B

cfn-signal envia um sinal de sucesso ou falha ao CloudFormation. Usado com CreationPolicy ou WaitCondition para que o CloudFormation aguarde a configuração completa da instância antes de continuar.


Questão 29​

O que o LocalStack permite fazer com CloudFormation?

A) Nada
B) Testar templates CloudFormation localmente sem conta AWS
C) Deploy em produção
D) Salvar templates

Ver resposta

Resposta: B

LocalStack emula o CloudFormation localmente. Você pode testar seus templates sem conta AWS nem custos. Use: awslocal cloudformation create-stack --stack-name test --template-body file://template.yaml


Questão 30​

Qual é a melhor prática para organizar templates CloudFormation?

A) Um único arquivo enorme
B) Dividir em módulos (nested stacks), usar parâmetros, versionar com Git
C) Sem estrutura
D) Um template por recurso

Ver resposta

Resposta: B

Boas práticas: dividir em módulos lógicos (rede, compute, banco de dados), usar nested stacks ou referências cross-stack, parametrizar para reutilização, versionar no Git, nomear claramente, documentar com Description e Metadata.


Resultado​

Conte suas respostas corretas:

  • 27-30: Excelente - Você domina CloudFormation
  • 22-26: Bom - Alguns pontos para revisar
  • 17-21: Médio - Releia o curso antes do lab
  • Menos de 17: Insuficiente - Refaça o curso desde o início

Passe para o Lab CloudFormation assim que atingir pelo menos 22 respostas corretas.