Saltar al contenido principal

Quiz de Validación - MÓDULO 15

Este quiz de 30 preguntas le permite validar sus conocimientos sobre CloudFormation y la Infraestructura como Código.


Pregunta 1​

¿Qué es la Infraestructura como Código (IaC)?

A) Código que se ejecuta en la infraestructura
B) La gestión de la infraestructura mediante archivos de configuración declarativos
C) Un lenguaje de programación
D) Un servicio de AWS

Ver la respuesta

Respuesta: B

La IaC consiste en definir y gestionar la infraestructura mediante archivos de código/configuración en lugar de hacerlo manualmente. Ventajas: reproducibilidad, versionado, automatización, coherencia, documentación viva.


Pregunta 2​

¿Qué es AWS CloudFormation?

A) Un servicio meteorológico
B) El servicio de AWS de Infraestructura como Código para aprovisionar recursos mediante plantillas
C) Un servicio de almacenamiento
D) Un Load Balancer

Ver la respuesta

Respuesta: B

CloudFormation permite definir recursos de AWS en plantillas (YAML o JSON). Crea, actualiza y elimina los recursos automáticamente gestionando las dependencias.


Pregunta 3​

¿Qué formatos de archivo soporta CloudFormation?

A) Solo XML
B) JSON y YAML
C) Solo Python
D) Terraform

Ver la respuesta

Respuesta: B

CloudFormation soporta JSON y YAML. Generalmente se prefiere YAML porque es más legible (soporta comentarios, menos verboso). Ambos son equivalentes funcionalmente.


Pregunta 4​

¿Qué es un "Stack" de CloudFormation?

A) Una pila de servidores
B) Un conjunto de recursos de AWS gestionados como una unidad a partir de una plantilla
C) Un tipo de almacenamiento
D) Un grupo de seguridad

Ver la respuesta

Respuesta: B

Un Stack es una colección de recursos de AWS creados y gestionados juntos. Cuando crea un stack, CloudFormation aprovisiona todos los recursos definidos en la plantilla. Eliminar el stack elimina todos sus recursos.


Pregunta 5​

¿Cuáles son las secciones principales de una plantilla de CloudFormation?

A) Solo Resources
B) Parameters, Mappings, Conditions, Resources, Outputs
C) Solo Inputs y Outputs
D) Variables y Functions

Ver la respuesta

Respuesta: B

Secciones: AWSTemplateFormatVersion, Description, Metadata, Parameters (entradas), Mappings, Conditions, Transform, Resources (obligatoria), Outputs. Solo Resources es obligatoria.


Pregunta 6​

¿Cuál es la única sección obligatoria de una plantilla de CloudFormation?

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

Ver la respuesta

Respuesta: B

La sección Resources es la única obligatoria. Define los recursos de AWS a crear (EC2, S3, VPC, etc.). Sin recursos, la plantilla no crea nada.


Pregunta 7​

¿Qué es un "Parameter" en CloudFormation?

A) Una constante
B) Un valor proporcionado al momento de la creación/actualización del stack
C) Un recurso
D) Un output

Ver la respuesta

Respuesta: B

Los Parameters son valores de entrada personalizables durante el despliegue. Hacen que las plantillas sean reutilizables (ej: elegir el tipo de instancia, el nombre del entorno). Se pueden definir valores por defecto y restricciones.


Pregunta 8​

¿Cómo referenciar un parámetro en una plantilla de CloudFormation?

A) La sintaxis dólar-llaves
B) !Ref NombreParametro
C) @Parameter
D) #Ref Parameter

Ver la respuesta

Respuesta: B

La función intrínseca !Ref devuelve el valor de un parámetro o el ID de un recurso. Sintaxis YAML: !Ref NombreParametro. Sintaxis JSON: Ref con NombreParametro entre comillas.


Pregunta 9​

¿Qué es un "Output" en CloudFormation?

A) Un archivo de salida
B) Un valor exportado del stack (ej: URL, ID) utilizable por otros stacks
C) Un log
D) Un error

Ver la respuesta

Respuesta: B

Los Outputs exportan valores después de la creación del stack: IDs de recursos, URLs, ARNs. Pueden mostrarse en la consola, ser devueltos por la API, o importados en otros stacks (referencias entre stacks).


Pregunta 10​

¿Cómo importar un valor de otro stack?

A) !Import
B) !ImportValue NombreExport
C) !CrossStack
D) No es posible

Ver la respuesta

Respuesta: B

!ImportValue permite importar un valor exportado por otro stack. El stack fuente debe tener un Output con Export:Name. El stack importador utiliza !ImportValue NombreExport para recuperar el valor.


Pregunta 11​

¿Qué es la función !GetAtt?

A) Obtener un atributo
B) Recuperar un atributo específico de un recurso (ej: ARN, nombre DNS)
C) Obtener todos los atributos
D) Eliminar un atributo

Ver la respuesta

Respuesta: B

!GetAtt devuelve un atributo específico de un recurso. Ejemplo: !GetAtt MyEC2.PublicIp devuelve la IP pública. Cada tipo de recurso tiene diferentes atributos documentados en la referencia de CloudFormation.


Pregunta 12​

¿Qué hace la función !Sub?

A) Sustracción
B) Sustitución de variables en una cadena de caracteres
C) Subrutina
D) Suscripción

Ver la respuesta

Respuesta: B

!Sub sustituye variables en una cadena. Ejemplo: !Sub con arn:aws:s3:::NombreBucket/* reemplaza la variable por el valor. Soporta variables de plantilla y pseudo-parámetros.


Pregunta 13​

¿Qué es un pseudo-parámetro en CloudFormation?

A) Un parámetro falso
B) Un parámetro predefinido por AWS (ej: AWS::Region, AWS::AccountId)
C) Un parámetro oculto
D) Un parámetro opcional

Ver la respuesta

Respuesta: B

Los pseudo-parámetros son proporcionados automáticamente por AWS: AWS::Region (región actual), AWS::AccountId (ID de la cuenta), AWS::StackName (nombre del stack), AWS::StackId, AWS::NoValue.


Pregunta 14​

¿Qué hace CloudFormation si la creación de un recurso falla?

A) Continúa con los demás
B) Rollback automático: elimina los recursos creados y vuelve al estado inicial
C) Ignora el error
D) Envía un correo electrónico

Ver la respuesta

Respuesta: B

Por defecto, si un recurso falla, CloudFormation realiza un rollback: elimina todos los recursos creados durante esa operación. El stack vuelve a su estado anterior (o se elimina si era una creación).


Pregunta 15​

¿Cómo ver por qué un stack falló?

A) Imposible
B) Consultar los Events del stack en la consola o vía CLI
C) En S3
D) Por correo electrónico

Ver la respuesta

Respuesta: B

Los Events del stack muestran el estado de cada recurso y los mensajes de error. La consola muestra una línea de tiempo. CLI: aws cloudformation describe-stack-events --stack-name NombreStack.


Pregunta 16​

¿Qué es un Change Set?

A) Un conjunto de cambios monetarios
B) Una vista previa de las modificaciones que CloudFormation aplicará a un stack
C) Un backup
D) Una nueva plantilla

Ver la respuesta

Respuesta: B

Un Change Set muestra las modificaciones que se aplicarán antes de ejecutarlas. Indica qué recursos serán añadidos, modificados o eliminados. Permite validar los cambios antes de aplicarlos.


Pregunta 17​

¿Qué es "Drift Detection"?

A) Detección de deriva
B) Detección de diferencias entre la configuración actual y la plantilla original
C) Detección de movimiento
D) Detección de errores

Ver la respuesta

Respuesta: B

Drift Detection compara el estado actual de los recursos con lo que está definido en la plantilla. Detecta modificaciones manuales (drift) hechas fuera de CloudFormation. Importante para mantener la coherencia de IaC.


Pregunta 18​

¿Qué es un Nested Stack?

A) Un stack oculto
B) Un stack que incluye otros stacks como recursos
C) Un stack eliminado
D) Un stack de prueba

Ver la respuesta

Respuesta: B

Un Nested Stack es un stack creado como recurso (AWS::CloudFormation::Stack) dentro de otro stack. Permite descomponer plantillas complejas en módulos reutilizables.


Pregunta 19​

¿Qué es AWS SAM respecto a CloudFormation?

A) Un reemplazo
B) Una extensión de CloudFormation simplificada para aplicaciones serverless
C) Un servicio completamente diferente
D) Una versión obsoleta

Ver la respuesta

Respuesta: B

AWS SAM (Serverless Application Model) es una extensión de CloudFormation que simplifica la definición de Lambda, API Gateway, DynamoDB, etc. Las plantillas SAM se transforman en plantillas de CloudFormation durante el despliegue.


Pregunta 20​

¿Cómo eliminar un stack de CloudFormation?

A) Eliminar la plantilla
B) aws cloudformation delete-stack --stack-name NombreStack o vía consola
C) Detener las instancias
D) No es posible

Ver la respuesta

Respuesta: B

Elimine vía consola o CLI: aws cloudformation delete-stack --stack-name NombreStack. CloudFormation elimina todos los recursos del stack en el orden correcto (dependencias inversas). Algunos recursos pueden tener una DeletionPolicy.


Pregunta 21​

¿Qué es DeletionPolicy?

A) Una política de despido de empleados
B) Una política que determina qué sucede con un recurso cuando se elimina el stack
C) Una política de retención de logs
D) Una política IAM

Ver la respuesta

Respuesta: B

DeletionPolicy define el comportamiento al eliminar: Delete (elimina el recurso), Retain (conserva el recurso), Snapshot (crea un snapshot antes de eliminar - para RDS, EBS). Protege contra eliminaciones accidentales.


Pregunta 22​

¿Qué es UpdateReplacePolicy?

A) Una política de actualización
B) Una política que determina qué sucede con un recurso cuando es reemplazado durante una actualización
C) Una política de reemplazo de personal
D) Una política de rollback

Ver la respuesta

Respuesta: B

UpdateReplacePolicy define el comportamiento cuando una actualización requiere el reemplazo de un recurso (Recreation). Similar a DeletionPolicy pero para actualizaciones que reemplazan.


Pregunta 23​

¿Qué es !Condition en CloudFormation?

A) Una condición médica
B) Lógica condicional para crear o no recursos según parámetros
C) Un error
D) Un bucle

Ver la respuesta

Respuesta: B

Las Conditions permiten crear recursos condicionalmente. Ejemplo: crear una instancia de base de datos solo si el parámetro Environment es "Production". Se utiliza con !If, !Equals, !And, !Or, !Not.


Pregunta 24​

¿Cómo probar una plantilla de CloudFormation antes del despliegue?

A) Desplegar en producción
B) aws cloudformation validate-template, Change Sets, o cfn-lint
C) Imposible
D) Por correo electrónico

Ver la respuesta

Respuesta: B

Métodos: aws cloudformation validate-template (sintaxis), cfn-lint (linter con buenas prácticas), Change Sets (vista previa de cambios), TaskCat (pruebas multi-región), despliegue en una cuenta de pruebas.


Pregunta 25​

¿Qué es StackSets?

A) Conjuntos de plantillas
B) Desplegar un stack en varias cuentas y regiones simultáneamente
C) Stacks agrupados
D) Backups de stacks

Ver la respuesta

Respuesta: B

StackSets permite desplegar un stack de CloudFormation en varias cuentas de AWS y/o regiones con una sola operación. Ideal para configuraciones organizacionales (guardrails, compliance).


Pregunta 26​

¿Cómo evitar modificaciones manuales en los recursos de CloudFormation?

A) Imposible
B) Stack Policy, políticas IAM restrictivas, SCPs y alertas de CloudTrail
C) Eliminar los usuarios
D) Cifrar los recursos

Ver la respuesta

Respuesta: B

Estrategias: Stack Policy (protege ciertos recursos de actualizaciones), políticas IAM (restringir modificaciones directas), SCPs (a nivel de Organization), alertas de CloudTrail para modificaciones no-CF, Drift Detection regular.


Pregunta 27​

¿Qué es cfn-init?

A) La inicialización de CloudFormation
B) Un helper script para configurar instancias EC2 al arranque mediante Metadata
C) Un servicio de red
D) Un tipo de plantilla

Ver la respuesta

Respuesta: B

cfn-init es una utilidad que lee los metadata AWS::CloudFormation::Init y configura la instancia: instala paquetes, crea archivos, inicia servicios. Se utiliza con UserData y cfn-signal para señalar el éxito.


Pregunta 28​

¿Qué es cfn-signal?

A) Una señal de radio
B) Un helper para señalar a CloudFormation que la configuración de la instancia ha finalizado
C) Un log
D) Un trigger

Ver la respuesta

Respuesta: B

cfn-signal envía una señal de éxito o fallo a CloudFormation. Se utiliza con CreationPolicy o WaitCondition para que CloudFormation espere a que la instancia esté completamente configurada antes de continuar.


Pregunta 29​

¿Qué permite hacer LocalStack con CloudFormation?

A) Nada
B) Probar las plantillas de CloudFormation localmente sin cuenta de AWS
C) Desplegar en producción
D) Guardar las plantillas

Ver la respuesta

Respuesta: B

LocalStack emula CloudFormation localmente. Puede probar sus plantillas sin cuenta de AWS ni costos. Utilice: awslocal cloudformation create-stack --stack-name test --template-body file://template.yaml


Pregunta 30​

¿Cuál es la mejor práctica para organizar las plantillas de CloudFormation?

A) Un solo archivo enorme
B) Descomponer en módulos (nested stacks), usar parámetros, versionar con Git
C) Sin estructura
D) Una plantilla por recurso

Ver la respuesta

Respuesta: B

Buenas prácticas: descomponer en módulos lógicos (red, compute, BDD), usar nested stacks o referencias entre stacks, parametrizar para reutilización, versionar en Git, nombrar claramente, documentar con Description y Metadata.


Resultado​

Cuente sus respuestas correctas:

  • 27-30: Excelente - Usted domina CloudFormation
  • 22-26: Bien - Algunos puntos a repasar
  • 17-21: Medio - Repase el curso antes del laboratorio
  • Menos de 17: Insuficiente - Repita el curso desde el principio

Pase al Lab CloudFormation una vez que haya alcanzado al menos 22 respuestas correctas.