Referenzbereitstellung

Blue-Green Deployment in AWS

AWS Elastic Beanstalk-Umgebungen mithilfe von AWS CodePipeline bereitstellen

Dieser Quick Start stellt mithilfe von AWS CodePipeline automatisch eine Blue-Green-Architektur in AWS bereit. Er erstellt eine Continuous Integration/Continuous Deployment (CI/CD)-Pipeline in rund 15 Minuten.

Wenn eine Anwendung in einer AWS Elastic Beanstalk-Umgebung entwickelt und bereitgestellt wird, erhöht die Verwendung von zwei separaten, aber identischen Umgebungen – blau und grün – die Verfügbarkeit und verringert das Risiko. In dieser Quick Start-Architektur ist die blaue Umgebung die Produktionsumgebung, die normalerweise den Live-Datenverkehr verarbeitet. Die CI/CD-Pipeline-Architektur erstellt einen Klon (grün) der aktiven Elastic Beanstalk-Umgebung (blau). Die Pipeline vertauscht dann die URLs zwischen den beiden Umgebungen.

Während CodePipeline Anwendungs-Code in der ursprünglichen Umgebung bereitstellt und Tests und Wartung stattfinden, verarbeitet die temporäre Klonumgebung den Live-Datenverkehr. Wenn die Bereitstellung der blauen Umgebung erfolgreich war und der Code geprüft und die Code-Tests abgeschlossen wurden, tauscht die Pipeline erneut die URLs zwischen den grünen und blauen Umgebungen. Die blaue Umgebung stellt ab dem Zeitpunkt wieder den Live-Datenverkehr bereit und die Pipeline beendet die grüne Umgebung.

 

 

Dieser Quick Start wurde entwickelt von
AWS-Lösungsarchitekten.

 

  •  Ihre Möglichkeiten
  • Verwenden Sie diesen Quick Start, um die folgende Umgebung für Blue-Green-Deployment in AWS bereitzustellen und zu konfigurieren:

    • Eine Pipeline, die aktiviert wird, wenn ein Amazon S3-Bucket mit einer neuen Version des Anwendungspakets hochgeladen wird, das für die AWS Elastic Beanstalk-Umgebung bereitgestellt wird.
    • AWS Lambda-Funktionen erstellen einen Klon der blauen Umgebung in Form der grünen Umgebung, tauschen die URLs und beenden die grüne Umgebung, wenn die blaue Umgebung vollständig bereitgestellt und getestet wurde.
    • AWS CodeBuild-Projekte führen den ersten URL-Tausch zwischen der blauen und grünen Umgebung durch und testen die Bereitstellung der blauen Umgebung.
    • Wenn keine bestehende Elastic Beanstalk-Umgebung und keine dazugehörige Anwendung bereitgestellt wird, erstellt der Quick Start eine Beispielumgebung.
    • AWS IAM-Rollen für die Lambda-Funktionen, CodeBuild-Projekte, CodePipeline und Servicerolle für die Elastic Beanstalk-Beispielumgebung.
    • Verschiedene Amazon S3-Buckets für den CodePipeline Artifact Store, Lambda-Funktionskomponenten und CodeBuild-Komponenten. Sie können einen optionalen S3-Bucket zur Speicherung des ZIP-Pakets erhalten, der Anwendungscode für die Bereitstellung von Elastic Beanstalk enthält.
  •  Bereitstellungsanleitung
  • Zum Aufbau einer Blue-Green-Architektur in AWS befolgen Sie bitte die Anweisungen im Bereitstellungshandbuch. Der Bereitstellungsprozess, der etwa 15 Minuten dauert, umfasst die folgenden Schritte:

    1. Überprüfen Sie die Voraussetzungen.
    2. Wenn Sie noch keinen AWS-Account haben, registrieren Sie sich bitte unter https://aws.amazon.com.
    3. (Optional) Erstellen Sie eine Notiz für eine bestehende Elastic Beanstalk-Umgebung und -Anwendung. Sie können diesen Schritt überspringen, wenn Sie eine Beispielumgebung und -Anwendung starten möchten.
    4. Starten Sie den Quick Start und passen Sie Ihre Einstellungen an.
    5. (Optional) Wenn Git to S3-Integration aktiviert ist, konfigurieren Sie das Git-Repository.
    6. Testen Sie die Bereitstellung.

    Amazon kann Informationen zur Benutzerbereitstellung an den AWS-Partner weitergeben, der mit AWS an dieser Lösung zusammengearbeitet hat.  

  •  Kosten und Lizenzen
  • Die Kosten der zur Ausführung dieser Quick-Start-Referenzinstallation erforderlichen AWS-Dienste sind allein von Ihnen zu tragen. Durch die Verwendung von Quick Start entstehen keine zusätzlichen Kosten.

    Dieser Quick Start startet eine Pipeline, die zwecks kosteneffizienter Bereitstellungen mit den Lambda-Funktionen, AWS CodeBuild, Amazon Simple Notification Service (SNS) und Elastic Beanstalk interagiert. Optional können Sie mit diesem Quick Start den Git Webhooks mit AWS Services Quick Start aktivieren, um das Git-Repository mit Amazon S3 zu verknüpfen. Git to Amazon S3 stellt zum Downloaden, Komprimieren und Bereitstellen von Code für Amazon S3 einen Amazon API Gateway-Endpunkt und Lambda-Funktionen zur Verfügung.

    Für AWS CodePipeline entstehen Kosten für jede aktive Pipeline. Siehe AWS CodePipeline-Preise. Für AWS CodeBuild und Amazon SNS gelten nutzungsabhängige Preise. Für Einzelheiten siehe AWS CodeBuild und Amazon SNS. Abhängig von der Konfiguration stellt der Git Webhooks mit AWS Services Quick Start möglicherweise einen AWS Key Management Service (AWS KMS)-Schlüssel bereit. Preise finden Sie unter AWS Key Management Service-Preise. Die Kosten für API Gateway, Amazon S3 und Lambda hängen davon ab, wie häufig Code ins Repository eingespielt wird. Jedes Einspielen löst eine Anfrage an die Lambda-Ausführung im API-Gateway aus. Einzelheiten dazu finden auf der Seite mit den Preisen für API Gateway, Amazon S3 und Lambda.