Ein DevOps-Ingenieur hat eine CloudFormation-Vorlage bereitgestellt, die eine Webanwendung startet (ALB, Zielgruppe, Startvorlage mit Amazon Linux 2 AMI, Auto Scaling-Gruppe, Sicherheitsgruppe und eine RDS MySQL-Datenbank). Die Benutzerdaten der Startvorlage führen ein Skript aus, um die Anwendung zu installieren und zu starten. Nach der Aktualisierung der Benutzerdaten auf eine neue Anwendungsversion und der erneuten Bereitstellung über die CI/CD-Pipeline schlagen die ALB-Zustandsprüfungen fehl, und alle Ziele werden als fehlerhaft angezeigt. Der CloudFormation-Stack zeigt UPDATE_COMPLETE an, aber ein EC2-Instanzprotokoll zeigt, dass Apache aufgrund eines Konfigurationsfehlers nicht gestartet werden konnte. Wie kann der Ingenieur CloudFormation dazu bringen, die Bereitstellung fehlschlagen zu lassen, wenn das Benutzerdaten-Skript nicht erfolgreich abgeschlossen wird?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Verwenden Sie den cfn-signal-Helfer, um Erfolgs- oder Fehlersignale an CloudFormation zu senden. Fügen Sie die Update-Richtlinie WaitOnResourceSignals der Ressource in der CloudFormation-Vorlage hinzu und konfigurieren Sie ein entsprechendes Timeout für die Update-Richtlinie..
Warum dies die Antwort ist
Die Verwendung von cfn-signal in den Benutzerdaten der EC2-Instanz und die Konfiguration der WaitOnResourceSignals-Update-Richtlinie in der CloudFormation-Vorlage ist die korrekte Methode, um CloudFormation über den Erfolg oder Misserfolg des Startskripts zu informieren. Wenn das Skript fehlschlägt, sendet cfn-signal ein Fehlersignal, und CloudFormation rollt die Bereitstellung zurück. Die Option mit dem CloudWatch-Alarm für UnhealthyHostCount ist reaktiv und würde erst ausgelöst, nachdem die Instanzen gestartet und als fehlerhaft erkannt wurden, was nicht verhindert, dass CloudFormation den Stack als UPDATECOMPLETE markiert. Auto Scaling-Lebenszyklus-Hooks sind für die Steuerung des Lebenszyklus von Instanzen gedacht, nicht direkt für die Validierung von Benutzerdaten-Skripten und die Signalisierung an CloudFormation über den Bereitstellungsstatus. Das Streamen von Cloud-init-Protokollen mit dem CloudWatch-Agenten und einer Lambda-Funktion ist eine komplexere Lösung, die zwar möglich wäre, aber nicht die direkte und vorgesehene Methode ist, um CloudFormation über den Erfolg von Benutzerdaten-Skripten zu informieren.
Bestehen Sie Ihre Prüfung – ohne endlose Antwortsuche
Erhalten Sie jede verifizierte Frage und Erklärung für diese Prüfung an einem Ort und sparen Sie Stunden der Vorbereitung. Über 1.000 Zertifizierungen · Über 20 Sprachen · Kostenloser Start.
Bestehen Sie Ihre Prüfung schneller → Keine Karte erforderlich