Eine statische Website wird in einem S3-Bucket gehostet und über CloudFormation bereitgestellt. Das Template erstellt den S3-Bucket und eine benutzerdefinierte Ressource, die Website-Inhalte aus einer Quelle in den Bucket kopiert. Das Team muss den Stack löschen und neu erstellen, um die Website zu verschieben, aber CloudFormation kann den Stack nicht sauber löschen. Was ist die wahrscheinlichste Ursache, und wie sollte der Ingenieur dies für aktuelle und zukünftige Website-Versionen verhindern?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Das Löschen ist fehlgeschlagen, weil der S3-Bucket nicht leer ist. Aktualisieren Sie die Lambda-Funktion, die die benutzerdefinierte Ressource unterstützt, um den Bucket rekursiv zu leeren, wenn RequestType Delete ist..
Warum dies die Antwort ist
Wenn ein S3-Bucket nicht leer ist, kann CloudFormation ihn standardmäßig nicht löschen, was zu einem Stack-Löschfehler führt. Da die benutzerdefinierte Ressource Website-Inhalte in den Bucket kopiert, ist der Bucket beim Löschen des Stacks nicht leer. Die Lambda-Funktion, die die benutzerdefinierte Ressource unterstützt, muss so aktualisiert werden, dass sie den S3-Bucket leert, wenn der RequestType Delete ist, bevor CloudFormation versucht, den Bucket zu löschen. Die Option, die WebsiteConfiguration zu entfernen, ist falsch, da dies nicht direkt das Löschen des Buckets verhindert. Das Hinzufügen einer DeletionPolicy zur benutzerdefinierten Ressource ist irrelevant, da das Problem beim S3-Bucket liegt. Eine DeletionPolicy von Empty für den S3-Bucket existiert nicht; die verfügbaren Optionen sind Retain oder Delete.
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