Connessione ai cluster Aurora DSQL con un connettore JDBC - Amazon Aurora DSQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Connessione ai cluster Aurora DSQL con un connettore JDBC

L'Aurora DSQL Connector per JDBC è progettato come un plug-in di autenticazione che estende la funzionalità del driver JDBC PostgreSQL per consentire alle applicazioni di autenticarsi con Aurora DSQL utilizzando le credenziali IAM. Il connettore non si connette direttamente al database, ma fornisce un’autenticazione IAM senza semplificata in aggiunta al driver JDBC PostgreSQL sottostante.

Il connettore Aurora DSQL per JDBC è progettato per funzionare con il driver JDBC PostgreSQL e offre una perfetta integrazione con i requisiti di autenticazione IAM di Aurora DSQL.

Oltre al driver JDBC PostgreSQL, il connettore Aurora DSQL per JDBC consente l'autenticazione basata su IAM per Aurora DSQL. Introduce una profonda integrazione con servizi di autenticazione come (IAM). AWS AWS Identity and Access Management

Informazioni sul connettore

Aurora DSQL è un servizio di database SQL distribuito che offre disponibilità e scalabilità elevate per applicazioni compatibili con PostgreSQL. Aurora DSQL richiede l’autenticazione basata su IAM con token a tempo limitato che i driver JDBC esistenti non supportano nativamente.

L'idea principale alla base di Aurora DSQL Connector per JDBC è aggiungere un livello di autenticazione al driver JDBC PostgreSQL che gestisce la generazione di token IAM, permettendo agli utenti di connettersi ad Aurora DSQL senza modificare i flussi di lavoro JDBC esistenti.

Che cos’è l’autenticazione di Aurora DSQL?

In Aurora DSQL, l’autenticazione prevede:

  • Autenticazione IAM: tutte le connessioni utilizzano l’autenticazione basata su IAM con token a tempo limitato

  • Generazione di token: AWS i token di autenticazione vengono generati utilizzando credenziali e hanno una durata configurabile

Il connettore Aurora DSQL per JDBC è progettato per comprendere questi requisiti e generare automaticamente token di autenticazione IAM quando si stabiliscono connessioni.

Vantaggi del connettore Aurora DSQL per JDBC

Sebbene Aurora DSQL fornisca un’interfaccia compatibile con PostgreSQL, i driver PostgreSQL esistenti attualmente non supportano i requisiti di autenticazione IAM di Aurora DSQL. L'Aurora DSQL Connector per JDBC consente ai clienti di continuare a utilizzare i flussi di lavoro PostgreSQL esistenti abilitando al contempo l'autenticazione IAM tramite:

  • Generazione automatica di token: i token IAM vengono generati automaticamente utilizzando le credenziali AWS

  • Integrazione perfetta: funziona con i modelli di connessione JDBC esistenti

  • AWS Supporto credenziali: supporta vari provider di AWS credenziali (predefiniti, basati sul profilo, ecc.)

Utilizzo del connettore Aurora DSQL per JDBC con pool di connessioni

Il connettore Aurora DSQL per JDBC funziona con librerie di connection pooling come HikariCP. Il connettore gestisce la generazione di token IAM durante la creazione della connessione, consentendo ai pool di connessioni di funzionare normalmente.

Funzionalità principali

Generazione automatica di token

I token IAM vengono generati automaticamente utilizzando le credenziali. AWS

Integrazione perfetta

Funziona con gli schemi di connessione JDBC esistenti senza richiedere modifiche al flusso di lavoro.

AWS Supporto per le credenziali

Supporta vari provider di AWS credenziali (predefiniti, basati sul profilo, ecc.).

Compatibilità della gestione di pool di connessioni

Funziona perfettamente con le librerie di gestione dei pool di connessioni come HikariCP.

Prerequisiti

Prima di cominciare, assicurarsi che i seguenti requisiti preliminari siano soddisfatti:

  • Creazione di un cluster in Aurora DSQL.

  • Installazione di Java Development Kit (JDK). Verifica della disponibilità della versione 17 o superiore.

  • Configurazione delle autorizzazioni IAM appropriate per consentire all’applicazione di connettersi ad Aurora DSQL.

  • AWS credenziali configurate (tramite AWS CLI variabili di ambiente o ruoli IAM).

Utilizzo del connettore Aurora DSQL per JDBC

Per utilizzare il connettore Aurora DSQL per JDBC nella tua applicazione Java, procedi nel seguente modo:

  1. Aggiungere la seguente dipendenza Maven al progetto:

    <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>

    Per i progetti Gradle, aggiungere questa dipendenza:

    implementation("software.amazon.dsql:aurora-dsql-jdbc-connector:1.0.0")
  2. Crea una connessione di base al tuo cluster Aurora DSQL utilizzando il formato del connettore DSQL AWS PostgreSQL:

    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(); } } }

Proprietà della configurazione

Il connettore Aurora DSQL per JDBC supporta le seguenti proprietà di connessione:

user

Determina l’utente per la connessione e il metodo di generazione del token utilizzato. Ad esempio: admin

token-duration-secs

Durata in secondi della validità del token. Per maggiori informazioni sui limiti dei token, consulta Generazione di un token di autenticazione in Amazon Aurora DSQL.

profile

Utilizzato per creare un'istanza di una generazione di token ProfileCredentialsProvider for con il nome di profilo fornito.

region

AWS regione per le connessioni Aurora DSQL. Facoltativo. Se fornita, sostituirà la Regione estratta dall’URL.

database

Il nome del database a cui connettersi. Il valore predefinito è “postgres”.

Registrazione dei log

Abilita la registrazione per risolvere eventuali problemi che si potrebbero riscontrare durante l’utilizzo del connettore JDBC di Aurora DSQL.

Il connettore utilizza il sistema di registrazione dei log integrato (java.util.logging) di Java. È possibile configurare i livelli di registrazione creando un file logging.properties:

# 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

Esempi

Per esempi e casi d'uso più completi, consulta l'archivio Aurora DSQL Connector for JDBC