Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Hinzufügen einer Amazon RDS DB-Instance zu Ihrer Java Elastic Beanstalk Beanstalk-Umgebung

Fokusmodus
Hinzufügen einer Amazon RDS DB-Instance zu Ihrer Java Elastic Beanstalk Beanstalk-Umgebung - 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.

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.

Dieses Thema enthält Anweisungen zum Erstellen eines Amazon RDS mithilfe der Elastic Beanstalk Beanstalk-Konsole. Sie können eine Amazon Relational Database Service (AmazonRDS) -DB-Instance verwenden, um Daten zu speichern, die Ihre Anwendung sammelt und ändert. Die Datenbank kann Ihrer Umgebung angefügt und von Elastic Beanstalk verwaltet werden oder sie kann extern erstellt und verwaltet werden.

Wenn Sie Amazon RDS zum ersten Mal verwenden, fügen Sie mithilfe der Elastic Beanstalk Beanstalk-Konsole eine DB-Instance zu einer Testumgebung hinzu und überprüfen Sie, ob Ihre Anwendung eine Verbindung zu ihr herstellen kann.

So fügen Sie eine DB-Instance zu Ihrer Umgebung hinzu
  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Database (Datenbank) die Option Edit (Bearbeiten).

  5. Wählen Sie eine DB-Engine aus und geben Sie Benutzernamen und Passwort ein.

  6. Wählen Sie unten auf der Seite die Option Apply (Anwenden) aus, um die Änderungen zu speichern.

Das Hinzufügen einer DB-Instance dauert ca. 10 Minuten. Sobald die Umgebungsaktualisierung abgeschlossen ist, stehen der Hostname der DB-Instance und andere Verbindungsinformationen über die folgenden Umgebungseigenschaften zur Verfügung:

Eigenschaftenname Beschreibung Eigenschaftenwert

RDS_HOSTNAME

Der Hostname der DB-Instance.

Auf der RDS Amazon-Konsole auf der Registerkarte Konnektivität und Sicherheit: Endpoint.

RDS_PORT

Der Port, über den die DB-Instance Verbindungen annimmt. Die DB-Engines haben unterschiedliche Standardwerte.

Auf der RDS Amazon-Konsole auf der Registerkarte Konnektivität und Sicherheit: Port.

RDS_DB_NAME

Der Datenbanknam, ebdb.

Auf der Registerkarte Konfiguration auf der RDS Amazon-Konsole: DB-Name.

RDS_USERNAME

Der Benutzername, der für die Datenbank konfiguriert wurde.

Auf der Registerkarte Konfiguration in der RDS Amazon-Konsole: Master-Benutzername.

RDS_PASSWORD

Das Passwort, das für die Datenbank konfiguriert wurde.

In der RDS Amazon-Konsole nicht als Referenz verfügbar.

Weitere Informationen zum Konfigurieren einer internen DB-Instance finden Sie unter Hinzufügen einer Datenbank zu Ihrer Elastic Beanstalk-Umgebung. Anweisungen zum Konfigurieren einer externen Datenbank für die Verwendung mit Elastic Beanstalk finden Sie unter Elastic Beanstalk mit Amazon verwenden RDS.

Um eine Verbindung mit der Datenbank herzustellen, fügen Sie Ihrer Anwendung die entsprechende JAR Treiberdatei hinzu, laden Sie die Treiberklasse in Ihren Code und erstellen Sie ein Verbindungsobjekt mit den von Elastic Beanstalk bereitgestellten Umgebungseigenschaften.

Der Treiber wird heruntergeladen JDBC

Sie benötigen die JAR Datei des JDBC Treibers für die DB-Engine, die Sie wählen. Speichern Sie die JAR Datei in Ihrem Quellcode und nehmen Sie sie in Ihren Klassenpfad auf, wenn Sie die Klasse kompilieren, die Verbindungen zur Datenbank herstellt.

Die neuesten Treiber für Ihre DB-Engine finden Sie an den folgenden Speicherorten:

Um den JDBC Treiber zu verwenden, rufen Sie ihn auf, Class.forName() um ihn zu laden, bevor Sie die Verbindung mit DriverManager.getConnection() in Ihrem Code herstellen.

JDBCverwendet eine Verbindungszeichenfolge im folgenden Format:

jdbc:driver://hostname:port/dbName?user=userName&password=password

Sie können den Hostnamen, Port, Datenbanknamen, Benutzernamen und das Passwort von den Umgebungsvariablen abrufen, die Elastic Beanstalk für Ihre Anwendung bereitstellt. Der Treibername ist spezifisch für Ihren Datenbanktyp und Ihre Treiberversion. Es folgen Beispiele für Treibernamen:

  • mysqlfür mein SQL

  • postgresqlfür Postgre SQL

  • oracle:thin for Oracle Thin

  • oracle:ocifür Oracle OCI

  • oracle:oci8für Oracle OCI 8

  • oracle:kprbfür Oracle KPRB

  • sqlserverfür SQL Server

Verbinden mit einer Datenbank (Java SE-Plattformen)

In einer Java SE-Umgebung verwenden Sie System.getenv(), um die Verbindungsvariablen aus der Umgebung zu lesen. Der folgende Beispielcode zeigt eine Klasse, die eine Verbindung zu einer SQL Postgre-Datenbank herstellt.

private static Connection getRemoteConnection() { if (System.getenv("RDS_HOSTNAME") != null) { try { Class.forName("org.postgresql.Driver"); String dbName = System.getenv("RDS_DB_NAME"); String userName = System.getenv("RDS_USERNAME"); String password = System.getenv("RDS_PASSWORD"); String hostname = System.getenv("RDS_HOSTNAME"); String port = System.getenv("RDS_PORT"); String jdbcUrl = "jdbc:postgresql://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password; logger.trace("Getting remote connection with connection string from environment variables."); Connection con = DriverManager.getConnection(jdbcUrl); logger.info("Remote connection successful."); return con; } catch (ClassNotFoundException e) { logger.warn(e.toString());} catch (SQLException e) { logger.warn(e.toString());} } return null; }

Verbinden mit einer Datenbank (Tomcat-Plattformen)

In einer Tomcat-Umgebung werden Umgebungseigenschaften als Systemeigenschaften bereitgestellt, die mit zugreifbar sin System.getProperty().

Der folgende Beispielcode zeigt eine Klasse, die eine Verbindung zu einer Postgre-Datenbank herstellt. SQL

private static Connection getRemoteConnection() { if (System.getProperty("RDS_HOSTNAME") != null) { try { Class.forName("org.postgresql.Driver"); String dbName = System.getProperty("RDS_DB_NAME"); String userName = System.getProperty("RDS_USERNAME"); String password = System.getProperty("RDS_PASSWORD"); String hostname = System.getProperty("RDS_HOSTNAME"); String port = System.getProperty("RDS_PORT"); String jdbcUrl = "jdbc:postgresql://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password; logger.trace("Getting remote connection with connection string from environment variables."); Connection con = DriverManager.getConnection(jdbcUrl); logger.info("Remote connection successful."); return con; } catch (ClassNotFoundException e) { logger.warn(e.toString());} catch (SQLException e) { logger.warn(e.toString());} } return null; }

Wenn Sie Probleme haben, eine Verbindung herzustellen oder SQL Anweisungen auszuführen, versuchen Sie, den folgenden Code in einer JSP Datei zu platzieren. Dieser Code stellt eine Verbindung zu einer DB-Instance her, erstellt eine Tabelle und schreibt in sie.

<%@ page import="java.sql.*" %> <% // Read RDS connection information from the environment String dbName = System.getProperty("RDS_DB_NAME"); String userName = System.getProperty("RDS_USERNAME"); String password = System.getProperty("RDS_PASSWORD"); String hostname = System.getProperty("RDS_HOSTNAME"); String port = System.getProperty("RDS_PORT"); String jdbcUrl = "jdbc:mysql://" + hostname + ":" + port + "/" + dbName + "?user=" + userName + "&password=" + password; // Load the JDBC driver try { System.out.println("Loading driver..."); Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver loaded!"); } catch (ClassNotFoundException e) { throw new RuntimeException("Cannot find the driver in the classpath!", e); } Connection conn = null; Statement setupStatement = null; Statement readStatement = null; ResultSet resultSet = null; String results = ""; int numresults = 0; String statement = null; try { // Create connection to RDS DB instance conn = DriverManager.getConnection(jdbcUrl); // Create a table and write two rows setupStatement = conn.createStatement(); String createTable = "CREATE TABLE Beanstalk (Resource char(50));"; String insertRow1 = "INSERT INTO Beanstalk (Resource) VALUES ('EC2 Instance');"; String insertRow2 = "INSERT INTO Beanstalk (Resource) VALUES ('RDS Instance');"; setupStatement.addBatch(createTable); setupStatement.addBatch(insertRow1); setupStatement.addBatch(insertRow2); setupStatement.executeBatch(); setupStatement.close(); } catch (SQLException ex) { // Handle any errors System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } finally { System.out.println("Closing the connection."); if (conn != null) try { conn.close(); } catch (SQLException ignore) {} } try { conn = DriverManager.getConnection(jdbcUrl); readStatement = conn.createStatement(); resultSet = readStatement.executeQuery("SELECT Resource FROM Beanstalk;"); resultSet.first(); results = resultSet.getString("Resource"); resultSet.next(); results += ", " + resultSet.getString("Resource"); resultSet.close(); readStatement.close(); conn.close(); } catch (SQLException ex) { // Handle any errors System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } finally { System.out.println("Closing the connection."); if (conn != null) try { conn.close(); } catch (SQLException ignore) {} } %>

Um die Ergebnisse anzuzeigen, fügen Sie den folgenden Code in den HTML Hauptteil der JSP Datei ein.

<p>Established connection to RDS. Read first two rows: <%= results %></p>

Fehlerbehebung bei Datenbankverbindungen

Wenn Sie auf Probleme mit der Verbindung zu einer Datenbank über Ihre Anwendung stoßen, überprüfen Sie das Web-Container-Protokoll und die Datenbank.

Überprüfen von Protokollen

Sie können alle Protokolle aus Ihrer Elastic Beanstalk-Umgebung in Eclipse anzeigen. Wenn die AWS Explorer-Ansicht nicht geöffnet ist, klicken Sie auf den Pfeil neben dem orangefarbenen AWS Symbol in der Werkzeugleiste und wählen Sie dann AWS Explorer-Ansicht anzeigen. Erweitern Sie AWS Elastic Beanstalk und Ihren Umgebungsnamen und öffnen Sie dann das Kontextmenü (rechte Maustaste) für den Server. Wählen Sie „Im WTP Server-Editor öffnen“.

Wählen Sie die Registerkarte Log der Server-Ansicht, um die aggregierten Protokolle aus Ihrer Umgebung zu sehen. Um die neuesten Protokolle zu öffnen, wählen Sie die Schaltfläche Refresh oben rechts auf der Seite.

Scrollen Sie nach unten, um die Tomcat-Protokolle in zu suche /var/log/tomcat7/catalina.out. Wenn Sie die Webseite aus unserem oben stehenden Beispiel mehrmals geladen haben, sehen Sie möglicherweise Folgendes:

------------------------------------- /var/log/tomcat7/catalina.out ------------------------------------- INFO: Server startup in 9285 ms Loading driver... Driver loaded! SQLException: Table 'Beanstalk' already exists SQLState: 42S01 VendorError: 1050 Closing the connection. Closing the connection.

Alle Informationen, die die Webanwendung an die Standardausgabe sendet, wird im Web-Container-Protokoll angezeigt. Im vorherigen Beispiel versucht die Anwendung, die Tabelle jedes Mal zu erstellen, wenn die Seite geladen wird. Dies führt dazu, dass bei jedem Seitenladevorgang nach der ersten eine SQL Ausnahme auftritt.

Beispielsweise ist die vorhergehende akzeptabel. Aber in tatsächlichen Anwendungen behalten Sie Ihre Datenbankdefinitionen in Schemaobjekten, führen Transaktionen in Modellklassen durch und koordinieren Anforderungen mit Controller-Servlets.

Herstellen einer Verbindung mit einer RDS-DB-Instance

Mithilfe der My SQL Client-Anwendung können Sie eine direkte Verbindung zur RDS DB-Instance in Ihrer Elastic Beanstalk Beanstalk-Umgebung herstellen.

Öffnen Sie zunächst die Sicherheitsgruppe für Ihre RDS DB-Instance, um den Datenverkehr von Ihrem Computer zuzulassen.

  1. Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole und wählen Sie in der Liste Regionen Ihre aus. AWS-Region

  2. Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.

    Anmerkung

    Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.

  3. Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.

  4. Wählen Sie in der Konfigurationskategorie Database (Datenbank) die Option Edit (Bearbeiten) aus.

  5. Wählen Sie neben Endpoint den Link zur RDS Amazon-Konsole aus.

  6. Wählen Sie auf der Seite mit den Instanzdetails im RDSDashboard unter Sicherheit und Netzwerk neben Sicherheitsgruppen die Sicherheitsgruppe aus, die mit rds- beginnt.

    Anmerkung

    Die Datenbank kann über mehrere Einträge mit der Bezeichnung Security Groups verfügen. Verwenden Sie die erste Option, die mit awseb beginnt, nur, wenn Sie ein älteres Konto haben, das nicht über eine standardmäßige Amazon Virtual Private Cloud (AmazonVPC) verfügt.

  7. Rufen Sie in Security group details die Registerkarte Inbound auf und klicken Sie auf Edit.

  8. Fügen Sie eine Regel für My SQL (Port 3306) hinzu, die Datenverkehr von Ihrer im Format angegebenen IP-Adresse zulässt. CIDR

  9. Wählen Sie Save aus. Die Änderungen werden sofort wirksam.

Kehren Sie zu den Elastic Beanstalk-Konfigurationsdetails für Ihre Umgebung zurück und beachten Sie den Endpunkt. Sie verwenden den Domainnamen, um eine Verbindung mit der RDS DB-Instance herzustellen.

Installieren Sie My SQL Client und stellen Sie eine Verbindung zur Datenbank auf Port 3306 her. Installieren Sie My SQL Workbench unter Windows von der Seite Meine SQL Startseite aus und folgen Sie den Anweisungen.

Installieren Sie unter Linux My SQL Client mithilfe des Paketmanagers für Ihre Distribution. Das folgende Beispiel funktioniert auf Ubuntu und anderen Debian-Derivaten.

// Install MySQL client $ sudo apt-get install mysql-client-5.5 ... // Connect to database $ mysql -h aas839jo2vwhwb.cnubrrfwfka8.us-west-2.rds.amazonaws.com -u username -ppassword ebdb Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 117 Server version: 5.5.40-log Source distribution ...

Nachdem Sie die Verbindung hergestellt haben, können Sie SQL Befehle ausführen, um den Status der Datenbank, ob Ihre Tabellen und Zeilen erstellt wurden und weitere Informationen zu erhalten.

mysql> SELECT Resource from Beanstalk; +--------------+ | Resource | +--------------+ | EC2 Instance | | RDS Instance | +--------------+ 2 rows in set (0.01 sec)
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.