Ein CloudFormation-Template erstellt eine EC2-Instance (mit Benutzerdaten zur Installation einer Anwendung) und einen S3-Bucket, der von der Anwendung zum Bereitstellen statischer Seiten verwendet wird. Alle Ressourcen müssen entfernt werden, wenn der Stack gelöscht wird, aber die Stack-Löschung schlägt fehl, weil der S3-Bucket nicht entfernt wird. Was ist der effizienteste Weg, um sicherzustellen, dass alle Stack-Ressourcen fehlerfrei gelöscht werden?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Fügen Sie eine benutzerdefinierte Ressource hinzu, die von einer AWS Lambda-Funktion (mit einer IAM-Rolle) unterstützt wird und vom S3-Bucket abhängt. Lassen Sie den Lambda-Handler alle Objekte aus dem Bucket löschen, wenn RequestType Delete ist..
Warum dies die Antwort ist
Die korrekte Option ist, eine benutzerdefinierte Ressource mit einer Lambda-Funktion zu verwenden. CloudFormation kann einen S3-Bucket nicht löschen, wenn er nicht leer ist. Das DeletionPolicy-Attribut mit dem Wert Delete funktioniert nur für leere Buckets. Eine Lambda-Funktion, die durch eine benutzerdefinierte Ressource ausgelöst wird, kann so konfiguriert werden, dass sie den Bucket leert, bevor CloudFormation versucht, ihn zu löschen. Dies stellt sicher, dass der Bucket erfolgreich entfernt wird. Das manuelle Leeren und Löschen ist keine automatisierte Lösung und widerspricht dem IaC-Prinzip. OpsWorks Stacks ist eine unnötig komplexe Lösung für dieses spezifische Problem und würde eine komplette Umstrukturierung erfordern.
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