Pregunta de práctica de CLF-C02
Una empresa administra una aplicación web que consta de instancias de Amazon EC2, una base de datos de Amazon RDS y un bucket de Amazon S3. El equipo implementa la aplicación en entornos separados de desarrollo, prueba y producción. Actualmente, el equipo configura manualmente cada entorno, lo que ha provocado desviaciones de configuración y errores de implementación. La empresa desea definir toda la infraestructura como código, almacenar la definición en un sistema de control de versiones e implementarla de manera consistente en todos los entornos con una sola plantilla. ¿Qué servicio de AWS debe utilizar la empresa para cumplir con estos requisitos?
Respuesta correcta
Explicación
AWS CloudFormation es la opción correcta porque le permite definir toda su infraestructura —incluyendo instancias de EC2, bases de datos de RDS y buckets de S3— como código en una plantilla de JSON o YAML. Esta plantilla se puede almacenar en un sistema de control de versiones e implementarse de manera consistente en entornos de desarrollo, prueba y producción utilizando una sola plantilla, eliminando la desviación de configuración y los errores manuales.
Para profundizar
AWS CloudFormation es el servicio nativo de infraestructura como código (IaC) de AWS. Usted describe recursos, como instancias de EC2, bases de datos de RDS, buckets de S3, grupos de seguridad y roles de IAM, en una plantilla de JSON o YAML, y CloudFormation los crea, actualiza y elimina juntos como una pila (stack), calculando el orden correcto a partir de las dependencias. Se puede usar una plantilla para desarrollo, prueba y producción agregando parámetros, por ejemplo, el tamaño de la instancia o el nombre del entorno, y mapeos o condiciones para valores que difieren. Debido a que la plantilla es un archivo de texto, vive en Git como el código de aplicación, por lo que cada cambio se revisa y versiona. Los conjuntos de cambios (change sets) previsualizan lo que hará una actualización antes de ejecutarse, la detección de desviaciones (drift detection) informa sobre recursos cambiados manualmente fuera de CloudFormation, que es exactamente el problema descrito, y una actualización fallida se revierte automáticamente. StackSets implementa la misma plantilla en múltiples cuentas y regiones. El AWS CDK permite a los desarrolladores escribir CloudFormation en lenguajes de programación como Python o TypeScript. Los distractores resuelven diferentes problemas. AWS Elastic Beanstalk implementa y ejecuta aplicaciones web en una plataforma administrada, creando cierta infraestructura para usted, pero no es una forma general de definir toda la infraestructura como código. AWS OpsWorks proporcionaba Chef y Puppet administrados para la gestión de configuraciones y ha llegado al final de su vida útil. AWS CodeDeploy automatiza la implementación de código de aplicación en EC2, Lambda, ECS o servidores locales; no crea infraestructura. En el examen Cloud Practitioner, términos como 'infraestructura como código', 'plantillas', 'entornos repetibles' o 'aprovisionar recursos de manera consistente' apuntan a CloudFormation.
Sobre estas preguntas de práctica
Esta es una de las preguntas de práctica originales de CLF-C02 de Courseiva, escrita para aprender y nunca copiada de exámenes reales ni de dumps.
Traducida del original en inglés con IA y revisada para comprobar el sentido. Los códigos de examen, los comandos y los nombres de productos se mantienen tal como aparecen en el examen.