Ein Unternehmen verwendet AWS CodePipeline mit AWS CodeDeploy, um eine Anwendung mithilfe von Blue/Green-Deployments in Amazon ECS bereitzustellen. Das Team muss Testskripte in der grünen Umgebung ausführen (Tests sind innerhalb von 5 Minuten abgeschlossen), bevor der Datenverkehr umgeschaltet wird. Wenn Tests fehlschlagen, muss das Deployment zurückgesetzt werden. Welcher Ansatz erfüllt diese Anforderung?
Wählen Sie eine Antwort
Tippen Sie auf eine Option, um Ihre Antwort zu überprüfen.
Richtige Antwort: Fügen Sie der CodeDeploy AppSpec-Datei Hooks hinzu und verwenden Sie das Lifecycle-Ereignis AfterAllowTestTraffic, um eine AWS Lambda-Funktion aufzurufen, die die Testskripte ausführt; wenn die Lambda-Funktion mit einem Fehler beendet wird, führt CodeDeploy ein Rollback durch..
Warum dies die Antwort ist
Die korrekte Option nutzt den AfterAllowTestTraffic-Hook in der CodeDeploy AppSpec-Datei, der speziell für die Ausführung von Tests in der grünen Umgebung entwickelt wurde, bevor der gesamte Datenverkehr umgeschaltet wird. Wenn die aufgerufene Lambda-Funktion, die die Testskripte ausführt, fehlschlägt (z.B. durch einen Fehler beendet wird), erkennt CodeDeploy dies automatisch und führt ein Rollback der Bereitstellung durch. Dies erfüllt die Anforderung, Tests in der grünen Umgebung durchzuführen und bei Fehlschlag ein Rollback auszulösen, ohne manuelle Eingriffe oder zusätzliche CodePipeline-Phasen für die Rollback-Logik. Die anderen Optionen sind weniger geeignet: Das Hinzufügen einer separaten CodeBuild- oder Lambda-Phase in CodePipeline zwischen Quell- und Bereitstellungsphase würde die Tests vor der Bereitstellung in der grünen Umgebung ausführen, nicht danach, wenn die neue Version bereits bereitgestellt ist und Test-Traffic empfangen kann. Außerdem müsste die Logik zum Stoppen der Bereitstellung manuell implementiert werden. Der AfterAllowTraffic-Hook würde die Tests erst ausführen, nachdem der gesamte Produktionsdatenverkehr auf die neue Version umgeschaltet wurde, was zu einer Unterbrechung führen könnte, wenn die Tests fehlschlagen.
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