Verbindung zu Aurora DSQL-Clustern mit einem JDBC-Konnektor herstellen - Amazon Aurora DSQL

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.

Verbindung zu Aurora DSQL-Clustern mit einem JDBC-Konnektor herstellen

Der Aurora DSQL Connector für JDBC ist als Authentifizierungs-Plugin konzipiert, das die Funktionalität des PostgreSQL-JDBC-Treibers erweitert, sodass Anwendungen mithilfe von IAM-Anmeldeinformationen bei Aurora DSQL authentifizieren können. Der Konnektor stellt keine direkte Verbindung zur Datenbank her, bietet jedoch eine nahtlose IAM-Authentifizierung zusätzlich zu dem in PostgreSQL zugrunde liegenden JDBC-Treiber.

Der Aurora DSQL Connector für JDBC wurde für die Zusammenarbeit mit dem PostgreSQL JDBC-Treiber entwickelt und bietet eine nahtlose Integration mit den IAM-Authentifizierungsanforderungen von Aurora DSQL.

In Verbindung mit dem PostgreSQL JDBC-Treiber ermöglicht der Aurora DSQL Connector for JDBC die IAM-basierte Authentifizierung für Aurora DSQL. Er ermöglicht eine tiefe Integration mit Authentifizierungsdiensten wie (IAM). AWS AWS Identity and Access Management

Über den Konnektor

Aurora DSQL ist ein verteilter SQL-Datenbankservice, der hohe Verfügbarkeit und Skalierbarkeit für PostgreSQL-kompatible Anwendungen bietet. Aurora DSQL erfordert eine IAM-basierte Authentifizierung mit zeitlich begrenzten Tokens, die vorhandene JDBC-Treiber nicht nativ unterstützen.

Die Hauptidee hinter dem Aurora DSQL Connector for JDBC besteht darin, dem PostgreSQL-JDBC-Treiber eine Authentifizierungsebene hinzuzufügen, die die IAM-Token-Generierung übernimmt, sodass Benutzer eine Verbindung zu Aurora DSQL herstellen können, ohne ihre bestehenden JDBC-Workflows zu ändern.

Was ist Aurora DSQL-Authentifizierung?

In Aurora DSQL umfasst die Authentifizierung:

  • IAM-Authentifizierung: alle Verbindungen verwenden eine IAM-basierte Authentifizierung mit zeitlich begrenzten Token

  • Token-Generierung: Authentifizierungstoken werden mithilfe von Anmeldeinformationen generiert und haben eine konfigurierbare Lebensdauer AWS

Der Aurora DSQL Connector für JDBC wurde entwickelt, um diese Anforderungen zu verstehen und beim Verbindungsaufbau automatisch IAM-Authentifizierungstoken zu generieren.

Vorteile des Aurora DSQL Connectors für JDBC

Aurora DSQL bietet zwar eine PostgreSQL-kompatible Schnittstelle, jedoch unterstützen vorhandene PostgreSQL-Treiber derzeit nicht die IAM-Authentifizierungsanforderungen von Aurora DSQL. Der Aurora DSQL Connector für JDBC ermöglicht es Kunden, ihre bestehenden PostgreSQL-Workflows weiterhin zu verwenden und gleichzeitig die IAM-Authentifizierung zu aktivieren durch:

  • Automatische Token-Generierung: IAM-Token werden automatisch mithilfe von Anmeldeinformationen generiert AWS

  • Nahtlose Integration: kompatibel mit vorhandenen JDBC-Verbindungsmustern

  • AWS Support für Anmeldeinformationen: Unterstützt verschiedene Anbieter von AWS Anmeldeinformationen (Standard, profilbasiert usw.)

Verwenden des Aurora DSQL Connectors für JDBC mit Verbindungspooling

Der Aurora DSQL Connector für JDBC funktioniert mit Connection Pooling-Bibliotheken wie HikariCP. Der Konnektor übernimmt die Generierung von IAM-Tokens während des Verbindungsaufbaus, sodass die Verbindungspools normal funktionieren können.

Schlüssel-Features

Automatische Tokengenerierung

IAM-Token werden automatisch mithilfe von Anmeldeinformationen generiert. AWS

Nahtlose Integration

Funktioniert mit vorhandenen JDBC-Verbindungsmustern, ohne dass Änderungen im Workflow erforderlich werden.

AWS Support von Anmeldedaten

Unterstützt verschiedene Anbieter von AWS Anmeldeinformationen (standardmäßig, profilbasiert usw.).

Kompatibilität für Verbindungspooling

Nahtlos kompatibel mit Verbindungspooling-Bibliotheken wie HikarICP.

Voraussetzungen

Prüfen Sie bevor Sie beginnen ob die folgenden Voraussetzungen erfüllt sind:

  • In Aurora DSQL wurde ein Cluster erstellt.

  • Die Java Development Kits (JDK) wurden installiert. Stellen Sie sicher, dass Sie Version 17 oder höher verwenden.

  • Richten Sie die entsprechenden IAM-Berechtigungen ein, damit Ihre Anwendung eine Verbindung zu Aurora DSQL herstellen kann.

  • AWS konfigurierte Anmeldeinformationen (über AWS CLI Umgebungsvariablen oder IAM-Rollen).

Verwenden des Aurora DSQL Connectors für JDBC

Gehen Sie wie folgt vor, um den Aurora DSQL Connector für JDBC in Ihrer Java-Anwendung zu verwenden:

  1. Fügen Sie Ihrem Projekt die folgenden Abhängigkeiten in Ihrem Maven-Projekt hinzu:

    <dependencies> <!-- Aurora DSQL Connector for JDBC --> <dependency> <groupId>software.amazon.dsql</groupId> <artifactId>aurora-dsql-jdbc-connector</artifactId> <version>1.0.0</version> </dependency> </dependencies>

    Fügen Sie für Gradle-Projekte diese Abhängigkeit hinzu:

    implementation("software.amazon.dsql:aurora-dsql-jdbc-connector:1.0.0")
  2. Erstellen Sie eine grundlegende Verbindung zu Ihrem Aurora DSQL-Cluster mithilfe des AWS DSQL PostgreSQL-Connector-Formats:

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DsqlJdbcConnectorExample { public static void main(String[] args) { // Using AWS DSQL PostgreSQL Connector prefix String jdbcUrl = "jdbc:aws-dsql:postgresql://your-cluster.dsql.us-east-1.on.aws/postgres?user=admin"; try (Connection connection = DriverManager.getConnection(jdbcUrl)) { // Use the connection try (Statement statement = connection.createStatement()) { // Create a table statement.execute("CREATE TABLE IF NOT EXISTS test_table (id UUID PRIMARY KEY DEFAULT gen_random_uuid(), name VARCHAR(100))"); // Insert data statement.execute("INSERT INTO test_table (name) VALUES ('Test Name')"); // Query data try (ResultSet resultSet = statement.executeQuery("SELECT * FROM test_table")) { while (resultSet.next()) { System.out.println("ID: " + resultSet.getInt("id") + ", Name: " + resultSet.getString("name")); } } } } catch (SQLException e) { e.printStackTrace(); } } }

Konfigurationseigenschaften

Der Aurora DSQL Connector für JDBC unterstützt die folgenden Verbindungseigenschaften:

user

Ermittelt den Benutzer für die Verbindung und die verwendete Methode zur Tokengenerierung. Beispiel: admin

token-duration-secs

Gültigkeitsdauer des Tokens in Sekunden. Weitere Informationen zu Token-Limits finden Sie unter Generieren eines Authentifizierungstokens in Amazon Aurora DSQL.

Profil

Wird für die Instanziierung einer ProfileCredentialsProvider For-Token-Generierung mit dem angegebenen Profilnamen verwendet.

Region

AWS Region für Aurora DSQL-Verbindungen. Es ist optional. Falls angegeben, überschreibt dies die aus der URL extrahierte Region.

Datenbank

Der Name der Datenbank, mit der eine Verbindung hergestellt werden soll. Der Standardwert ist postgres.

Protokollierung

Aktivieren Sie die Protokollierung, um Probleme zu beheben, die bei der Verwendung des JDBC-Konnektors für Aurora DSQL auftreten könnten.

Der Konnektor verwendet das integrierte Java-Protokollierungssystem (java.util.logging). Sie können die Protokollierungsebenen konfigurieren, indem Sie eine logging.properties-Datei erstellen:

# Set root logger level to INFO for clean output .level = INFO # Show Aurora DSQL Connector for JDBC FINE logs for detailed debugging software.amazon.dsql.level = FINE # Console handler configuration handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter # Detailed formatter pattern with timestamp and logger name java.util.logging.SimpleFormatter.format = %1$tH:%1$tM:%1$tS.%1$tL [%4$s] %3$s - %5$s%n

Beispiele

Umfassendere Beispiele und Anwendungsfälle finden Sie im Aurora DSQL Connector for JDBC-Repository