Conexión a una instancia de RDS for PostgreSQL a través de JDBC
Aunque el certificado SSL es opcional si elige conectarse a una base de datos a través de la conectividad de bases de datos Java (JDBC), descargue un certificado SSL para cifrar las conexiones por seguridad.
Prerrequisitos
Usted está familiarizado con:
- Conceptos básicos de computación.
- Java.
- JDBC.
Obtención y uso de JDBC
- Descargar el controlador de JDBC dirección de https://jdbc.postgresql.org/download/
- API de JDBC: https://jdbc.postgresql.org/documentation/
Conexión con el certificado SSL
Descargue el certificado SSL y verifique el certificado antes de conectarse a las bases de datos.
En el área DB Information de la página Basic Information, haga clic en en el campo SSL para descargar el certificado raíz o el paquete de certificados.
- Conéctese a la instancia de base de datos de RDS for PostgreSQL a través de JDBC.
jdbc:postgresql://<instance_ip>:<instance_port>/<database_name>?sslmode=verify-ca&sslrootcert=<ca.pem>
Tabla 1 Descripción de parámetro Parámetro
Descripción
<instance_ip>
Si intenta obtener acceso a la instancia de base de datos RDS a través de un ECS, establezca instance_ip en la dirección IP flotante que se muestra en la página Basic Information de la instancia de base de datos a la que desea conectarse.
Si intenta acceder a la instancia de base de datos RDS a través de una EIP, establezca instance_ip en la EIP que se ha enlazado a la instancia de base de datos.
<instance_port>
Introduzca el puerto de la base de datos que se muestra en la página Basic Information. Valor predeterminado 5432
<database_name>
Introduzca el nombre de la base de datos a la que desea conectarse. Valor predeterminado: postgres
sslmode
Ingrese al modo de conexión SSL.
verify-ca: Quiero que mis datos estén cifrados y acepto la sobrecarga. Quiero estar seguro de que me conecto a un servidor en el que confío.
Para obtener más información sobre otras opciones, consulte https://jdbc.postgresql.org/documentation/use/#connection-parameters/.
sslrootcert
Ruta del certificado de CA para la conexión SSL. Para obtener más información, consulte https://jdbc.postgresql.org/documentation/use/#connection-parameters/.
Ejemplo de script en Java:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class MyConnTest { final public static void main(String[] args) { Connection conn = null; // set sslmode here. // with ssl certificate and path. String url = "jdbc:postgresql://192.168.0.225:5432/my_db_test?sslmode=verify-ca&sslrootcert=/home/Ruby/ca.pem"; try { Class.forName("org.postgresql.Driver"); conn = DriverManager.getConnection(url, "root", "password"); System.out.println("Database connected"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500"); while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("Test failed"); } finally { // release resource .... } } }
Conexión sin el certificado SSL
No es necesario descargar el certificado SSL porque no se requiere la verificación del certificado en el servidor.
- Conéctese a la instancia de base de datos de RDS for PostgreSQL a través de JDBC.
jdbc:postgresql://<instance_ip>:<instance_port>/<database_name>?sslmode=disable
Tabla 2 Descripción de parámetro Parámetro
Descripción
<instance_ip>
Si intenta obtener acceso a la instancia de base de datos RDS a través de un ECS, establezca instance_ip en la dirección IP flotante que se muestra en la página Basic Information de la instancia de base de datos a la que desea conectarse.
Si intenta acceder a la instancia de base de datos RDS a través de una EIP, establezca instance_ip en la EIP que se ha enlazado a la instancia de base de datos.
<instance_port>
Introduzca el puerto de la base de datos que se muestra en la página Basic Information. Valor predeterminado 5432
<database_name>
Introduzca el nombre de la base de datos a la que desea conectarse. Valor predeterminado: postgres
sslmode
Ingrese al modo de conexión SSL.
disable: No me importa la seguridad y no quiero pagar la sobrecarga de encriptación.
Para obtener más información sobre otras opciones, consulte https://jdbc.postgresql.org/documentation/use/#connection-parameters/.
Ejemplo de script en Java:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class MyConnTest { final public static void main(String[] args) { Connection conn = null; // set sslmode here. // no ssl certificate, so do not specify path. String url = "jdbc:postgresql://192.168.0.225:5432/my_db_test?sslmode=disable"; try { Class.forName("org.postgresql.Driver"); conn = DriverManager.getConnection(url, "root", "password"); System.out.println("Database connected"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM mytable WHERE columnfoo = 500"); while (rs.next()) { System.out.println(rs.getString(1)); } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); System.out.println("Test failed"); } finally { // release resource .... } } }