Menghubungkan ke cluster Aurora DSQL dengan konektor JDBC - Amazon Aurora DSQL

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menghubungkan ke cluster Aurora DSQL dengan konektor JDBC

Konektor Aurora DSQL untuk JDBC dirancang sebagai plugin otentikasi yang memperluas fungsionalitas driver PostgreSQL JDBC untuk memungkinkan aplikasi mengautentikasi dengan Aurora DSQL menggunakan kredensil IAM. Konektor tidak terhubung langsung ke database, tetapi menyediakan otentikasi IAM yang mulus di atas driver PostgreSQL JDBC yang mendasarinya.

Konektor Aurora DSQL untuk JDBC dibangun untuk bekerja dengan Driver PostgreSQL JDBC dan menyediakan integrasi tanpa batas dengan persyaratan otentikasi IAM Aurora DSQL.

Dalam hubungannya dengan PostgreSQL JDBC Driver, Aurora DSQL Connector untuk JDBC memungkinkan otentikasi berbasis IAM untuk Aurora DSQL. Ini memperkenalkan integrasi mendalam dengan layanan AWS otentikasi seperti AWS Identity and Access Management(IAM).

Tentang konektor

Aurora DSQL adalah layanan database SQL terdistribusi yang menyediakan ketersediaan dan skalabilitas tinggi untuk aplikasi yang kompatibel dengan PostgreSQL. Aurora DSQL memerlukan otentikasi berbasis IAM dengan token terbatas waktu yang tidak didukung oleh driver JDBC yang ada secara native.

Ide utama di balik Konektor Aurora DSQL untuk JDBC adalah menambahkan lapisan otentikasi di atas driver PostgreSQL JDBC yang menangani pembuatan token IAM, memungkinkan pengguna untuk terhubung ke Aurora DSQL tanpa mengubah alur kerja JDBC yang ada.

Apa itu Autentikasi Aurora DSQL?

Dalam Aurora DSQL, otentikasi melibatkan:

  • Otentikasi IAM: Semua koneksi menggunakan otentikasi berbasis IAM dengan token terbatas waktu

  • Pembuatan Token: Token otentikasi dihasilkan menggunakan AWS kredensil dan memiliki masa pakai yang dapat dikonfigurasi

Konektor Aurora DSQL untuk JDBC dirancang untuk memahami persyaratan ini dan secara otomatis menghasilkan token otentikasi IAM saat membuat koneksi.

Manfaat Konektor Aurora DSQL untuk JDBC

Meskipun Aurora DSQL menyediakan antarmuka yang kompatibel dengan PostgreSQL, driver PostgreSQL yang ada saat ini tidak mendukung persyaratan otentikasi IAM Aurora DSQL. Konektor Aurora DSQL untuk JDBC memungkinkan pelanggan untuk terus menggunakan alur kerja PostgreSQL yang ada sambil mengaktifkan otentikasi IAM melalui:

  • Pembuatan Token Otomatis: Token IAM dihasilkan secara otomatis menggunakan kredensil AWS

  • Integrasi Seamless: Bekerja dengan pola koneksi JDBC yang ada

  • AWS Credentials Support: Mendukung berbagai penyedia AWS kredensi (default, berbasis profil, dll.)

Menggunakan Konektor Aurora DSQL untuk JDBC dengan penyatuan koneksi

Konektor Aurora DSQL untuk JDBC bekerja dengan pustaka penyatuan koneksi seperti HiKaricp. Konektor menangani pembuatan token IAM selama pembentukan koneksi, memungkinkan kumpulan koneksi beroperasi secara normal.

Fitur utama

Pembuatan Token Otomatis

Token IAM dihasilkan secara otomatis menggunakan AWS kredensil.

Integrasi yang mulus

Bekerja dengan pola koneksi JDBC yang ada tanpa memerlukan perubahan alur kerja.

AWS Credentials Support

Mendukung berbagai penyedia AWS kredensi (default, berbasis profil, dll.).

Kompatibilitas Pengumpulan Koneksi

Bekerja mulus dengan pustaka penyatuan koneksi seperti HikariCP.

Prasyarat

Sebelum Anda mulai, pastikan Anda telah menyelesaikan prasyarat berikut:

  • Membuat cluster di Aurora DSQL.

  • Menginstal Java Development Kit (JDK). Pastikan Anda memiliki versi 17 atau lebih tinggi.

  • Siapkan izin IAM yang sesuai untuk memungkinkan aplikasi Anda terhubung ke Aurora DSQL.

  • AWS kredensil dikonfigurasi (via AWS CLI, variabel lingkungan, atau peran IAM).

Menggunakan Konektor Aurora DSQL untuk JDBC

Untuk menggunakan Konektor Aurora DSQL untuk JDBC di aplikasi Java Anda, ikuti langkah-langkah berikut:

  1. Tambahkan dependensi berikut ke proyek Maven Anda:

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

    Untuk proyek Gradle, tambahkan dependensi ini:

    implementation("software.amazon.dsql:aurora-dsql-jdbc-connector:1.0.0")
  2. Buat koneksi dasar ke cluster Aurora DSQL Anda menggunakan format konektor 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(); } } }

Properti konfigurasi

Konektor Aurora DSQL untuk JDBC mendukung properti koneksi berikut:

user

Menentukan pengguna untuk koneksi dan metode pembuatan token yang digunakan. Contoh: admin

token-duration-secs

Durasi dalam hitungan detik untuk validitas token. Untuk informasi selengkapnya tentang batas token, lihat Membuat token otentikasi di Amazon Aurora DSQL.

profile

Digunakan untuk membuat instance ProfileCredentialsProvider untuk pembuatan token dengan nama profil yang disediakan.

region

AWS wilayah untuk koneksi Aurora DSQL. Ini opsional. Ketika disediakan, itu akan mengganti wilayah yang diekstrak dari URL.

basis data

Nama database untuk terhubung ke. Default-nya adalah postgres.

Pencatatan log

Aktifkan pencatatan untuk memecahkan masalah apa pun yang mungkin Anda alami saat menggunakan konektor Aurora DSQL JDBC.

Konektor menggunakan sistem logging bawaan (java.util.logging) dari Java. Anda dapat mengonfigurasi level logging dengan membuat logging.properties file:

# 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

Contoh

Untuk contoh dan kasus penggunaan yang lebih komprehensif, lihat Konektor Aurora DSQL untuk repositori JDBC