Schritt 1: Erstellen einer Beispielanwendung - AWS Elastic Beanstalk

Schritt 1: Erstellen einer Beispielanwendung

In diesem Schritt erstellen Sie eine neue Anwendung, die auf einer bereits bestehenden Beispielanwendung basiert. Elastic Beanstalk unterstützt Plattformen für verschiedene Programmiersprachen, Anwendungsserver und Docker-Container. Sie wählen eine Plattform aus, wenn Sie die Anwendung erstellen.

Erstellen einer Anwendung und einer Umgebung

Um Ihre Beispielanwendung zu erstellen, verwenden Sie den Konsolenassistenten Create application (Eine Anwendung erstellen). Er erstellt eine Elastic Beanstalk-Anwendung und startet eine Umgebung darin. Eine Umgebung ist die Sammlung von AWS-Ressourcen, die für die Ausführung Ihres Anwendungscodes erforderlich sind.

So erstellen Sie eine Beispielanwendung
  1. In der Elastic-Beanstalk-Konsole öffnen.

  2. Wählen Sie Create application aus.

  3. Geben Sie für Application name (Anwendungsname) den Text getting-started-app ein.

  4. Fügen Sie optional Anwendungs-Tags hinzu.

  5. Wählen Sie für Platform (Plattform) eine Plattform aus.

  6. Wählen Sie Next (Weiter).

  7. Die Seite Servicezugriff konfigurieren wird angezeigt.

  8. Wählen Sie Vorhandene Servicerolle verwenden für Servicerolle aus.

  9. Als Nächstes konzentrieren wir uns auf die Dropdown-Liste mit den EC2-Instance-Profilen. Die in dieser Dropdown-Liste angezeigten Werte können variieren, je nachdem, ob Ihr Konto zuvor eine neue Umgebung erstellt hat.

    Wählen Sie basierend auf den in Ihrer Liste angezeigten Werten einen der folgenden aus.

    • Wenn aws-elasticbeanstalk-ec2-role in der Dropdown-Liste angezeigt wird, wählen Sie es aus der Dropdown-Liste des EC2-Instance-Profils aus.

    • Wenn ein anderer Wert in der Liste angezeigt wird und es sich um das standardmäßige EC2-Instance-Profil für Ihre Umgebungen handelt, wählen Sie ihn aus der Dropdown-Liste des EC2-Instance-Profils aus.

    • Wenn in der Dropdown-Liste des EC2-Instance-Profils keine Werte zur Auswahl angezeigt werden, erweitern Sie das folgende Verfahren, Erstellen einer IAM-Rolle für das EC2-Instance-Profil.

      Gehen Sie wie unter Erstellen einer IAM-Rolle für das EC2-Instance-Profil beschrieben vor, um eine IAM-Rolle zu erstellen, die Sie anschließend für das EC2-Instance-Profil auswählen können. Kehren Sie anschließend zu diesem Schritt zurück.

      Nachdem Sie nun eine IAM-Rolle erstellt und die Liste aktualisiert haben, wird sie als Auswahl in der Dropdown-Liste angezeigt. Wählen Sie die IAM-Rolle, die Sie gerade erstellt haben, aus der Dropdown-Liste des EC2-Instance-Profils aus.

  10. Wählen Sie auf der Seite Configure service access (Servicezugriff konfigurieren) die Option Skip to Review (Zur Überprüfung springen).

    Dadurch werden die optionalen Schritte übersprungen.

  11. Auf der Seite Review (Überprüfung) wird eine Zusammenfassung all Ihrer Auswahlmöglichkeiten angezeigt.

    Wählen Sie unten auf der Seite Submit (Absenden) aus.


              Konfigurieren Sie den Service-Zugriff
So erstellen Sie eine IAM-Rolle für das EC2-Instance-Profil
  1. Wählen Sie Berechtigungsdetails anzeigen. Dies wird in der Dropdown-Liste des EC2-Instance-Profils angezeigt.

    Ein Dialogfeld mit dem Titel Instance-Profilberechtigungen anzeigen wird angezeigt. In diesem Dialogfeld werden die verwalteten Profile aufgeführt, die Sie an das neue EC2-Instance-Profil anhängen müssen, das Sie erstellen. Es enthält auch einen Link zum Starten der IAM-Konsole.

  2. Wählen Sie den Link zur IAM-Konsole, der oben im Fenster angezeigt wird.

  3. Wählen Sie im Navigationsbereich der IAM-Konsole Roles (Rollen) aus.

  4. Wählen Sie Create role (Rolle erstellen) aus.

  5. Wählen Sie unter Typ der vertrauenswürdigen Entität die Option AWS-Service aus.

  6. Wählen Sie unter Use case (Anwendungsfall) die Option EC2 aus.

  7. Wählen Sie Next (Weiter).

  8. Fügen Sie die entsprechenden verwalteten Richtlinien an. Scrollen Sie im Dialogfeld Instance-Profilberechtigungen anzeigen, um die verwalteten Richtlinien zu sehen. Die Richtlinien sind auch hier aufgeführt:

    • AWSElasticBeanstalkWebTier

    • AWSElasticBeanstalkWorkerTier

    • AWSElasticBeanstalkMulticontainerDocker

  9. Wählen Sie Next (Weiter).

  10. Geben Sie einen Namen für die Rolle ein.

  11. (Optional) Fügen Sie der Rolle Tags hinzu.

  12. Wählen Sie Create role (Rolle erstellen) aus.

  13. Kehren Sie zum geöffnete Elastic-Beanstalk-Konsolenfenster zurück.

  14. Schließen Sie das Dialogfeld Instance-Profilberechtigungen anzeigen.

    Wichtig

    Schließen Sie nicht die Browserseite, auf der die Elastic-Beanstalk-Konsole angezeigt wird.

  15. Wählen Sie 
          refresh icon
        (Aktualisieren) neben der Dropdownliste für das EC2-Instance-Profil aus.

    Dadurch wird die Dropdown-Liste aktualisiert, sodass die gerade erstellte Rolle in der Dropdown-Liste angezeigt wird.

Elastic-Beanstalk-Workflow

Zum Bereitstellen und Ausführen einer Beispielanwendung mit AWS-Ressourcen führt Elastic Beanstalk die folgenden Aktionen aus. Die Fertigstellung dauert etwa fünf Minuten.

  1. Erstellt eine Elastic Beanstalk-Anwendung namens getting-started-app.

  2. Eine Umgebung mit dem Namen GettingStartedApp-env mit diesen AWS-Ressourcen wird gestartet:

    • Eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance (virtuelle Maschine)

    • Eine Amazon EC2-Sicherheitsgruppe

    • Ein Amazon Simple Storage Service (Amazon S3)-Bucket

    • Amazon CloudWatch-Alarme

    • Ein AWS CloudFormation-Stack

    • Ein Domainname

    Weitere Informationen zu diesen AWS-Ressourcen finden Sie unter Für die Beispielanwendung erstellte AWS-Ressourcen.

  3. Erstellt eine neue Anwendungsversion mit dem Namen Beispielanwendung. Dies ist die standardmäßige Elastic Beanstalk-Beispielanwendungsdatei.

  4. Stellt den Code für die Beispielanwendung in der GettingStartedApp-env--Umgebung bereit.

Während der Umgebungserstellung werden von der Konsole Fortschritte erfasst und Ereignisse angezeigt.


                Elastic Beanstalk-Konsole mit den Ereignissen, die beim Erstellen einer Umgebung auftreten

Wenn alle Ressourcen gestartet werden und die EC2-Instances, auf denen die Anwendung ausgeführt wird, die Zustandsprüfungen bestehen, ändert sich der Zustand der Umgebung in Ok. Sie können jetzt die Website Ihrer Webanwendung verwenden.

Für die Beispielanwendung erstellte AWS-Ressourcen

Wenn Sie die Beispielanwendung erstellen, erstellt Elastic Beanstalk die folgenden AWS-Ressourcen:

  • EC2 instance (EC2-Instance) – Eine virtuelle Amazon EC2-Maschine zum Ausführen von Webanwendungen auf der von Ihnen ausgewählten Plattform.

    Jede Plattform führt eine andere Gruppe von Software, Konfigurationsdateien und Skripts zur Unterstützung einer bestimmten Sprachversion, eines Framework, Webcontainers oder einer Kombination daraus aus. Die meisten Plattformen verwenden entweder Apache oder nginx als Reverse-Proxy, der Web-Datenverkehr vor Ihrer Web-App verarbeitet, Anforderungen an sie weiterleitet, statische Komponenten verarbeitet und Zugriffs- und Fehlerprotokolle generiert.

  • Instance security group (Instance-Sicherheitsgruppe) – Eine Amazon EC2-Sicherheitsgruppe, die so konfiguriert ist, dass eingehender Datenverkehr auf Port 80 zugelassen wird. Mit dieser Ressource kann HTTP-Datenverkehr vom Load Balancer die EC2-Instance mit Ihrer Web-App erreichen. Standardmäßig ist Datenverkehr ist auf anderen Ports nicht zulässig.

  • Amazon S3-Bucket – Ein Speicherort für Ihren Quellcode, Protokolle und andere Artefakte, die bei der Verwendung von Elastic Beanstalk erstellt werden.

  • Amazon CloudWatch alarms (Amazon CloudWatch-Alarme) – Zwei CloudWatch-Alarme, die die Verarbeitungslast auf den Instances in Ihrer Umgebung überwachen und ausgelöst werden, wenn die Last zu hoch oder zu niedrig ist. Wenn ein Alarm ausgelöst wird, wird Ihre Auto Scaling-Gruppe nach oben oder nach unten skaliert.

  • AWS CloudFormation-Stack – Elastic Beanstalk verwendet AWS CloudFormation, um die Ressourcen in Ihrer Umgebung zu starten und Konfigurationsänderungen zu verbreiten. Die Ressourcen werden in einer Vorlage definiert, die Sie in der AWS CloudFormation-Konsole anzeigen können.

  • Domainname – Ein Domainname, der auf Ihre Web-App in der Form subdomain.region.elasticbeanstalk.com weiterleitet.

    Anmerkung

    Um die Sicherheit Ihrer Elastic-Beanstalk-Anwendungen zu erhöhen, ist die Domain elasticbeanstalk.com in der Public Suffix List (PSL) registriert. Aus Sicherheitsgründen empfehlen wir Ihnen, Cookies mit einem __Host--Präfix zu verwenden, falls Sie jemals sensible Cookies im Standard-Domainnamen für Ihre Elastic-Beanstalk-Anwendungen einrichten müssen. Diese Vorgehensweise hilft Ihnen dabei, Ihre Domain vor CSRF-Versuchen (Cross-Site Request Forgery Attempts, Anforderungsfälschung zwischen Websites) zu schützen. Weitere Informationen finden Sie auf der Set-Cookie-Seite im Mozilla Developer Network.