Un ingeniero de DevOps implementó una plantilla de CloudFormation que lanza una aplicación web (ALB, grupo de destino, plantilla de lanzamiento usando Amazon Linux 2 AMI, grupo de Auto Scaling, grupo de seguridad y una base de datos RDS MySQL). Los datos de usuario de la plantilla de lanzamiento ejecutan un script para instalar e iniciar la aplicación. Después de actualizar los datos de usuario a una nueva versión de la aplicación y volver a implementar a través del pipeline de CI/CD, las comprobaciones de estado del ALB fallan y todos los destinos muestran un estado no saludable. La pila de CloudFormation muestra UPDATE_COMPLETE, pero un registro de instancia EC2 muestra que Apache no se pudo iniciar debido a un error de configuración. ¿Cómo puede el ingeniero hacer que CloudFormation falle la implementación si el script de datos de usuario no se completa correctamente?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Utilice el asistente cfn-signal para enviar señales de éxito o fallo a CloudFormation. Agregue la política de actualización WaitOnResourceSignals al recurso en la plantilla de CloudFormation y configure un tiempo de espera apropiado para la política de actualización..
Por qué esta es la respuesta
La opción correcta es usar cfn-signal porque permite que el script de datos de usuario de la instancia EC2 informe directamente a CloudFormation sobre el éxito o fracaso de su ejecución. Al combinar esto con la política de actualización WaitOnResourceSignals en el recurso de CloudFormation, la pila esperará la señal antes de declararse UPDATECOMPLETE. Si el script falla (como en el caso de Apache), cfn-signal enviará una señal de fallo, haciendo que la actualización de CloudFormation falle y revierta, evitando así un estado inconsistente. Las otras opciones son incorrectas porque: Una alarma de CloudWatch en UnhealthyHostCount detectaría el problema, pero no puede hacer que CloudFormation falle la implementación directamente; solo notificaría. Un Auto Scaling lifecycle hook podría notificar, pero no tiene la capacidad de hacer que CloudFormation falle la actualización de la pila basándose en el resultado del script de datos de usuario. Transmitir registros a CloudWatch y usar Lambda para llamar a SignalResource es una solución excesivamente compleja y reactiva. cfn-signal es la herramienta diseñada específicamente para este propósito durante la creación o actualización de recursos.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta