QuickStart: Eine Java-Anwendung auf Elastic Beanstalk bereitstellen - AWS Elastic Beanstalk

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

QuickStart: Eine Java-Anwendung auf Elastic Beanstalk bereitstellen

Dieses QuickStart Tutorial führt Sie durch den Prozess der Erstellung einer Java-Anwendung und deren Bereitstellung auf einem AWS Elastic Beanstalk Umgebung.

Anmerkung

Dieses QuickStart Tutorial dient Demonstrationszwecken. Verwenden Sie die in diesem Tutorial erstellte Anwendung nicht für Produktionsdatenverkehr.

Ihre AWS Konto

Wenn Sie noch kein AWS Kunde, Sie müssen einen erstellen AWS Konto. Wenn Sie sich registrieren, erhalten Sie Zugriff auf Elastic Beanstalk und andere AWS Dienste, die Sie benötigen.

Wenn Sie bereits eine haben AWS Konto, zu dem Sie weitermachen könnenVoraussetzungen.

Melde dich an für ein AWS-Konto

Wenn Sie kein haben AWS-Konto, führen Sie die folgenden Schritte aus, um einen zu erstellen.

Um sich für eine anzumelden AWS-Konto
  1. Öffnen Sie https://portal.aws.amazon.com/billing/die Anmeldung.

  2. Folgen Sie den Online-Anweisungen.

    Bei der Anmeldung müssen Sie auch einen Telefonanruf entgegennehmen und einen Verifizierungscode über die Telefontasten eingeben.

    Wenn Sie sich für eine anmelden AWS-Konto, ein Root-Benutzer des AWS-Kontoswird erstellt. Der Root-Benutzer hat Zugriff auf alle AWS-Services und Ressourcen im Konto. Als bewährte Sicherheitsmethode weisen Sie einem Administratorbenutzer Administratorzugriff zu und verwenden Sie nur den Root-Benutzer, um Aufgaben auszuführen, die Root-Benutzerzugriff erfordern.

AWS sendet Ihnen nach Abschluss des Anmeldevorgangs eine Bestätigungs-E-Mail. Du kannst jederzeit deine aktuellen Kontoaktivitäten einsehen und dein Konto verwalten, indem du zu https://aws.amazon.com/gehst und Mein Konto auswählst.

Erstellen eines Benutzers mit Administratorzugriff

Nachdem Sie sich für einen angemeldet haben AWS-Konto, sichern Sie sich Ihre Root-Benutzer des AWS-Kontos, aktivieren AWS IAM Identity Center, und erstellen Sie einen Administratorbenutzer, sodass Sie den Root-Benutzer nicht für alltägliche Aufgaben verwenden.

Sichern Sie Ihre Root-Benutzer des AWS-Kontos
  1. Melde dich an bei AWS Management Consoleals Kontoinhaber wählen Sie Root-Benutzer und geben Sie Ihren AWS-Konto E-Mail-Adresse. Geben Sie auf der nächsten Seite Ihr Passwort ein.

    Hilfe bei der Anmeldung mit dem Root-Benutzer finden Sie unter Als Root-Benutzer anmelden im AWS-Anmeldung Benutzerleitfaden.

  2. Aktivieren Sie die Multi-Faktor-Authentifizierung (MFA) für Ihren Root-Benutzer.

    Anweisungen finden Sie unter Aktivieren Sie ein virtuelles MFA Gerät für AWS-Konto Root-Benutzer (Konsole) im IAMBenutzerhandbuch.

Erstellen eines Benutzers mit Administratorzugriff
  1. Aktivieren Sie IAM Identity Center.

    Anweisungen finden Sie unter Aktivieren AWS IAM Identity Center in der AWS IAM Identity Center Benutzerleitfaden.

  2. Gewähren Sie einem Benutzer in IAM Identity Center Administratorzugriff.

    Für ein Tutorial zur Verwendung des IAM-Identity-Center-Verzeichnis als Identitätsquelle finden Sie unter Benutzerzugriff mit der Standardeinstellung konfigurieren IAM-Identity-Center-Verzeichnis in der AWS IAM Identity Center Benutzerleitfaden.

Anmelden als Administratorbenutzer
  • Um sich mit Ihrem IAM Identity Center-Benutzer anzumelden, verwenden Sie die Anmeldung, URL die an Ihre E-Mail-Adresse gesendet wurde, als Sie den IAM Identity Center-Benutzer erstellt haben.

    Hilfe bei der Anmeldung mit einem IAM Identity Center-Benutzer finden Sie unter Anmelden bei AWS Zugriffsportal im AWS-Anmeldung Benutzerleitfaden.

Weiteren Benutzern Zugriff zuweisen
  1. Erstellen Sie in IAM Identity Center einen Berechtigungssatz, der der bewährten Methode zur Anwendung von Berechtigungen mit den geringsten Rechten folgt.

    Anweisungen finden Sie unter Einen Berechtigungssatz erstellen in der AWS IAM Identity Center Benutzerleitfaden.

  2. Weisen Sie Benutzer einer Gruppe zu und weisen Sie der Gruppe dann Single Sign-On-Zugriff zu.

    Anweisungen finden Sie unter Gruppen hinzufügen im AWS IAM Identity Center Benutzerleitfaden.

Voraussetzungen

Um die Verfahren in diesem Leitfaden zu befolgen, benötigen Sie ein Befehlszeilen-Terminal oder eine Shell für die Ausführung der Befehle. Befehle werden ggf. in Auflistungen mit einem vorangestellten Eingabeaufforderungssymbol ($) und dem Namen des aktuellen Verzeichnisses angezeigt.

~/eb-project$ this is a command this is output

In Linux und macOS können Sie Ihren bevorzugten Shell- und Paket-Manager verwenden. Unter Windows können Sie das Windows-Subsystem für Linux installieren, um eine Windows-integrierte Version von Ubuntu und Bash zu erhalten.

EB CLI

In diesem Tutorial wird das Elastic Beanstalk Command Line Interface (EBCLI) verwendet. Einzelheiten zur Installation und Konfiguration des EB finden Sie CLI unter Installieren Sie die Elastic Beanstalk Beanstalk-Befehlszeilenschnittstelle und. Konfigurieren der EB CLI

Java und Maven

Wenn Sie Amazon Corretto nicht auf Ihrem lokalen Computer installiert haben, können Sie es installieren, indem Sie den Installationsanweisungen im Amazon Corretto-Benutzerhandbuch folgen.

Überprüfen Sie Ihre Java-Installation, indem Sie den folgenden Befehl ausführen.

~$ java -version

Dieses Tutorial verwendet Maven. Folgen Sie den Download - und Installationsanweisungen auf der Apache Maven Project-Website. Weitere Informationen zu Maven finden Sie im Maven Users Center auf der Apache Maven Project-Website.

Überprüfen Sie Ihre Maven-Installation, indem Sie den folgenden Befehl ausführen.

~$ mvn -v

Schritt 1: Erstellen Sie eine Java-Anwendung

Erstellen Sie ein Projektverzeichnis.

~$ mkdir eb-java ~$ cd eb-java

Erstellen Sie anschließend eine Anwendung, die Sie mit Elastic Beanstalk bereitstellen. Wir werden einen „Hello World“ RESTful -Webservice erstellen.

In diesem Beispiel wird das Spring Boot-Framework verwendet. Diese Anwendung öffnet einen Listener auf Port 5000. Elastic Beanstalk leitet Anfragen standardmäßig an Port 5000 an Ihre Anwendung weiter.

Erstellen Sie die folgenden Dateien:

Diese Datei erstellt eine einfache Spring Boot-Anwendung.

Beispiel ~/eb-java/src/main/java/com/example/Application.java
package com.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

Diese Datei erstellt ein Mapping, das eine Zeichenfolge zurückgibt, die wir hier definieren.

Beispiel ~/eb-java/src/main/java/com/example/Controller.java
package com.example; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class Controller { @GetMapping("/") public String index() { return "Hello Elastic Beanstalk!"; } }

Diese Datei definiert die Maven-Projektkonfiguration.

Beispiel ~/eb-java/pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.3</version> </parent> <groupId>com.example</groupId> <artifactId>BeanstalkJavaExample</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>21</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

Diese Eigenschaftendatei überschreibt den Standardport 5000. Dies ist der Standardport, an den Elastic Beanstalk Traffic für Java-Anwendungen sendet.

Beispiel ~/eb-java/application.properties
server.port=5000

Schritt 2: Führen Sie Ihre Anwendung lokal aus

Package Sie Ihre Anwendung mit dem folgenden Befehl:

~/eb-java$ mvn clean package

Führen Sie Ihre Anwendung lokal mit dem folgenden Befehl aus:

~/eb-java$ java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar

Während die Anwendung ausgeführt wird, navigieren Sie http://127.0.0.1:5000/ in Ihrem Browser zu. Du solltest den Text „Hello Elastic Beanstalk!“ sehen.

Schritt 3: Stellen Sie Ihre Java-Anwendung mit dem EB bereit CLI

Bevor wir Ihre Java-Anwendung auf Elastic Beanstalk bereitstellen, löschen wir die Build-Anwendung aus Ihrem Verzeichnis und erstellen ein Buildfile und ein Procfile, um zu kontrollieren, wie die Anwendung in Ihrer Elastic Beanstalk Beanstalk-Umgebung erstellt und ausgeführt wird.

Um die Anwendungsbereitstellung vorzubereiten und zu konfigurieren
  1. Reinigen Sie die erstellte Anwendung.

    ~/eb-java$ mvn clean
  2. Erstellen Sie Ihr Buildfile.

    Beispiel ~/eb-java/Buildfile
    build: mvn clean package

    Dies Buildfile gibt den Befehl an, mit dem Ihre Anwendung erstellt wurde. Wenn Sie a Buildfile für eine Java-Anwendung nicht angeben, versucht Elastic Beanstalk nicht, Ihre Anwendung zu erstellen.

  3. Erstellen Sie Ihr Procfile.

    Beispiel ~/eb-java/Procfile
    web: java -jar target/BeanstalkJavaExample-1.0-SNAPSHOT.jar

    Dies Procfile gibt den Befehl an, mit dem Ihre Anwendung ausgeführt wird. Wenn Sie a Procfile für eine Java-Anwendung nicht angeben, geht Elastic Beanstalk davon aus, dass sich eine JAR Datei im Stammverzeichnis Ihres Quellpakets befindet, und versucht, sie mit dem java -jar Befehl auszuführen.

Nachdem Sie nun die Konfigurationsdateien zum Erstellen und Starten Ihrer Anwendung eingerichtet haben, können Sie sie bereitstellen.

Um eine Umgebung zu erstellen und Ihre Java-Anwendung bereitzustellen
  1. Initialisieren Sie Ihr CLI EB-Repository mit dem eb init Befehl.

    ~/eb-java eb init -p corretto java-tutorial --region us-east-2 Application java-tutorial has been created.

    Dieser Befehl erstellt eine Anwendung mit dem Namen java-tutorial und konfiguriert Ihr lokales Repository so, dass Umgebungen mit der neuesten Version der Java-Plattform erstellt werden.

  2. (Optional) Führen Sie den eb init Vorgang erneut aus, um ein Standardschlüsselpaar zu konfigurieren, mit dem Sie eine Verbindung SSH zu der EC2 Instance herstellen können, auf der Ihre Anwendung ausgeführt wird.

    ~/eb-java$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]

    Wählen Sie ein Schlüsselpaar aus (sofern vorhanden) oder befolgen Sie die Anweisungen, um ein Schlüsselpaar zu erstellen. Falls keine Anweisungen angezeigt werden oder Sie die Einstellungen später ändern möchten, führen Sie eb init -i aus.

  3. Verwenden Sie eb create, um eine Umgebung zu erstellen und die Anwendung darin bereitzustellen. Elastic Beanstalk erstellt automatisch eine Zip-Datei für Ihre Anwendung und startet sie auf Port 5000.

    ~/eb-java$ eb create java-env

    Es dauert etwa fünf Minuten, bis Elastic Beanstalk Ihre Umgebung erstellt hat.

Schritt 4: Führen Sie Ihre Anwendung auf Elastic Beanstalk aus

Wenn der Prozess zur Erstellung Ihrer Umgebung abgeschlossen ist, öffnen Sie Ihre Website mit. eb open

~/eb-java eb open

Herzlichen Glückwunsch! Sie haben eine Java-Anwendung mit Elastic Beanstalk bereitgestellt! Es wird ein Browserfenster mit dem für die Anwendung erstellten Domainnamen geöffnet.

Schritt 5: Bereinigen

Sie können Ihre Umgebung beenden, wenn Sie mit der Arbeit an Ihrer Anwendung fertig sind. Elastic Beanstalk beendet alle AWS Ressourcen, die mit Ihrer Umgebung verknüpft sind.

Um Ihre Elastic Beanstalk Beanstalk-Umgebung mit dem EB zu beenden, CLI führen Sie den folgenden Befehl aus.

~/eb-java$ eb terminate

AWS Ressourcen für Ihre Anwendung

Sie haben gerade eine Einzelinstanzanwendung erstellt. Es dient als einfache Beispielanwendung mit einer einzigen EC2 Instanz, sodass kein Lastenausgleich oder auto Skalierung erforderlich sind. Für Einzelinstanzanwendungen erstellt Elastic Beanstalk Folgendes: AWS Ressourcen:

  • EC2Instanz — Eine EC2 virtuelle Maschine von Amazon, die so konfiguriert ist, dass sie Web-Apps auf der von Ihnen ausgewählten Plattform ausführt.

    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-Sicherheitsgruppe — Eine EC2 Amazon-Sicherheitsgruppe, die so konfiguriert ist, dass sie eingehenden Datenverkehr auf Port 80 zulässt. Diese Ressource ermöglicht es dem HTTP Datenverkehr vom Load Balancer, die EC2 Instance zu erreichen, auf der Ihre Web-App ausgeführt wird. 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.

  • CloudWatch Amazon-Alarme — Zwei CloudWatch Alarme, die die Auslastung der 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 sind in einer Vorlage definiert, die Sie in der Datei einsehen können AWS CloudFormation Konsole.

  • Domainname — Ein Domainname, der in der folgenden Form an Ihre Web-App weitergeleitet wird subdomain.region.elasticbeanstalk.com.

Elastic Beanstalk verwaltet all diese Ressourcen. Wenn Sie die Umgebung beenden, werden alle darin enthaltenen Ressourcen von Elastic Beanstalk beendet.

Nächste Schritte

Nachdem Sie eine Umgebung erstellt haben, in der eine Anwendung ausgeführt wird, können Sie jederzeit eine neue Version der Anwendung oder eine andere Anwendung bereitstellen. Die Bereitstellung einer neuen Anwendungsversion ist sehr schnell, da dafür keine Bereitstellung oder Neustarts von Instances erforderlich sind. EC2 Sie können Ihre neue Umgebung auch mit der Elastic Beanstalk Beanstalk-Konsole erkunden. Ausführliche Schritte finden Sie unter Erkunden Sie Ihre Umgebung im Kapitel Erste Schritte dieses Handbuchs.

Probieren Sie weitere Tutorials aus

Wenn Sie andere Tutorials mit anderen Beispielanwendungen ausprobieren möchten, finden Sie weitere Informationen unterBeispielanwendungen und Tutorials.

Wenn Sie eine oder zwei Beispielanwendungen bereitgestellt haben und bereit sind, Java-Anwendungen lokal zu entwickeln und auszuführen, finden Sie weitere Informationen unterEinrichten der Java-Entwicklungsumgebung.

Bereitstellung mit der Elastic Beanstalk Beanstalk-Konsole

Sie können die Beispielanwendung auch mit der Elastic Beanstalk Beanstalk-Konsole starten. Ausführliche Schritte finden Sie unter Erstellen einer Beispielanwendung im Kapitel Erste Schritte dieses Handbuchs.