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.