Conexión a una instancia de base de datos de Amazon RDS - Amazon Relational Database Service

Conexión a una instancia de base de datos de Amazon RDS

Antes de conectarse a una instancia de base de datos, debe crear la instancia de base de datos. Para obtener más información, consulte Creación de una instancia de base de datos de Amazon RDS. Después de que Amazon RDS aprovisione su instancia de base de datos, use cualquier utilidad o aplicación cliente estándar para que su motor de base de datos se conectarse a la instancia de base de datos. En la cadena de conexión, especifique la dirección DNS del punto de conexión de la instancia de base de datos como parámetro del host. Asimismo, especifique el número de puerto del punto de enlace de la instancia de base de datos como el parámetro del puerto.

Búsqueda de la información de conexión para una instancia de base de datos Amazon RDS

La información de conexión de una instancia de base de datos incluye su punto de enlace, puerto y un usuario de base de datos válido, como el usuario maestro. Por ejemplo, para una instancia de base de datos MySQL, supongamos que el valor del punto de enlace es mydb.123456789012.us-east-1.rds.amazonaws.com. En este caso, el valor del puerto es 3306 y el usuario de la base de datos es admin. Dada esta información, se especifican los siguientes valores en una cadena de conexión:

  • Para nombre de host o host o nombre DNS, especifique mydb.123456789012.us-east-1.rds.amazonaws.com.

  • Para el puerto, especifique 3306.

  • Para el usuario, especifique admin.

El punto de enlace es único para cada instancia de base de datos y los valores del puerto y del usuario pueden variar. La siguiente lista muestra el puerto más común para cada motor de base de datos:

  • Db2 – 50 000

  • MariaDB – 3306

  • Microsoft SQL Server – 1433

  • MySQL – 3306

  • Oracle – 1521

  • PostgreSQL – 5432

Para conectarse a una instancia de base de datos, utilice cualquier cliente para un motor de base de datos. Por ejemplo, puede usar la utilidad mysql para conectarse a una instancia de base de datos MariaDB o MySQL. Puede utilizar Microsoft SQL Server Management Studio para conectarse a una instancia de base de datos de SQL Server. Puede utilizar Oracle SQL Developer para conectarse a una instancia de base de datos de Oracle. De igual forma, puede usar una instancia local de la utilidad de línea de comandos psql para conectarse a una instancia de base de datos PostgreSQL.

Para buscar la información de conexión para una instancia de base de datos, use la AWS Management Console También puede utilizar el comando describe-db-instances de AWS Command Line Interface (AWS CLI) o la operación de la API DescribeDBInstances de RDS.

Para buscar la información de conexión para una instancia de base de datos en AWS Management Console
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) para ver una lista de las instancias de base de datos.

  3. Elija el nombre de la instancia de base de datos para ver sus detalles.

  4. En la pestaña Connectivity & security (Conectividad y seguridad), copie el punto de enlace. También anote el número de puerto. Necesita el punto de enlace y el número de puerto para conectarse a la instancia de base de datos.

    
                            El punto de enlace y el puerto de una instancia de base de datos
  5. Si necesita encontrar el nombre de usuario maestro, elija la ficha Configuration (Configuración) y vea el valor de Master username (Nombre de usuario maestro) .

Para buscar la información de conexión de una instancia de base de datos mediante AWS CLI, llame al comando describe-db-instances. En la llamada, consulte el ID de instancia de base de datos, el punto de enlace, el puerto y el nombre de usuario maestro.

Para Linux, macOS, o Unix:

aws rds describe-db-instances \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

En Windows:

aws rds describe-db-instances ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

El resultado debería ser similar al siguiente.

[ [ "mydb", "mydb.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "myoracledb", "myoracledb.123456789012.us-east-1.rds.amazonaws.com", 1521, "dbadmin" ], [ "mypostgresqldb", "mypostgresqldb.123456789012.us-east-1.rds.amazonaws.com", 5432, "postgresadmin" ] ]

Para buscar la información de conexión de una instancia de base de datos mediante la API Amazon RDS, llame a la operación DescribedBInstances . En el resultado, busque los valores de la dirección del punto de enlace, el puerto del punto de enlace y el nombre de usuario maestro.

Opciones de autenticación de bases de datos

Amazon RDS admite las siguientes formas de autenticar usuarios de bases de datos:

  • Con la autenticación de contraseña,– la instancia de base de datos realiza toda la administración de las cuentas de usuario. Cree usuarios y especifique contraseñas con instrucciones SQL. Las instrucciones SQL que puede utilizar dependen de su motor de base de datos.

  • AWS Identity and Access Management (IAM) con la autenticación de base de datos: no es necesario usar una contraseña al conectarse a una instancia de base de datos. En su lugar, puede usar un token de autenticación.

  • Con la autenticación Kerberos– utiliza la autenticación externa de usuarios de bases de datos mediante Kerberos y Microsoft Active Directory. Kerberos es un protocolo de autenticación de red que usa tickets y criptografía de clave simétrica para eliminar la necesidad de transmitir contraseñas a través de la red. Kerberos ha sido creado en Active Directory y está diseñado para autenticar usuarios para recursos de redes, como bases de datos.

IAM la autenticación de base de datos y la autenticación Kerberos solo están disponibles para motores y versiones de base de datos específicos.

Para obtener más información, consulte Autenticación de bases de datos con Amazon RDS.

Conexiones cifradas

Puede utilizar SSL (Capa de conexión segura) o TLS (Transport Layer Security) desde una aplicación para cifrar una conexión a una instancia de base de datos. Cada motor base de datos tiene su propio proceso para implementar SSL/TLS. Para obtener más información, consulte Uso de SSL/TLS para cifrar una conexión a una instancia o clúster de base de datos.

Situaciones para el acceso a una instancia de base de datos situada en una VPC

Mediante Amazon Virtual Private Cloud (Amazon VPC), puede lanzar recursos de AWS, como instancias de base de datos de Amazon RDS, en una Virtual Private Cloud (VPC). Cuando utiliza una Amazon VPC, puede controlar todos los aspectos del entorno de red virtual. Puede elegir su propio rango de direcciones IP, crear subredes y configurar listas de enrutamiento y control de acceso.

Un grupo de seguridad de VPC controla el acceso a una instancia de base de datos dentro de una VPC. Cada regla de grupo de seguridad de VPC permite a un origen específico obtener acceso a una instancia de base de datos de una VPC asociada a ese grupo de seguridad de VPC. El origen puede ser un rango de direcciones (por ejemplo, 203.0.113.0/24), u otro grupo de seguridad de VPC. Cuando se especifica un grupo de seguridad de VPC como origen, se permite el tráfico entrante procedente de todas las instancias, normalmente servidores de aplicaciones, que utilizan el grupo de seguridad de VPC.

Antes de intentar conectarse a la instancia de base de datos, configure la VPC para su caso de uso. Los siguientes escenarios son escenarios comunes para obtener acceso a una instancia de base de datos en una VPC:

  • Una instancia de base de datos en una VPC a la que accede una Amazon EC2 instancia de la misma VPC – Un uso común de una instancia de base de datos en una VPC es compartir datos con un servidor de aplicaciones que se ejecuta en una instancia de EC2 en la misma VPC. La instancia de EC2 puede ejecutar un servidor web con una aplicación que interactúa con la instancia de base de datos.

  • Una instancia de base de datos en una VPC a la que accede una instancia de EC2 en una VPC diferente – En algunos casos, la instancia de base de datos se encuentra en una VPC diferente de la instancia de EC2 que está utilizando para acceder a ella. Si es así, puede usar la interconexión de VPC para acceder a la instancia de base de datos.

  • Una instancia de base de datos en una VPC a la que accede una aplicación cliente – a través de Internet Para acceder a una instancia de base de datos en una VPC desde una aplicación cliente a través de Internet, configure una VPC con una única subred pública. También puede configurar una ninguna gateway de Internet para habilitar la comunicación a través de Internet.

    Para conectarse a una instancia de base de datos desde afuera de su VPC, la instancia de base de datos debe ser accesible públicamente. Además, el acceso debe concederse mediante las reglas entrantes del grupo de seguridad de la instancia de base de datos y deben cumplirse otros requisitos. Para obtener más información, consulte No puede conectarse a la instancia de base de datos de Amazon RDS.

  • Una instancia de base de datos de una VPC a la que se accede desde una red privada: si su instancia de base de datos no es de acceso público, puede utilizar una de las siguientes opciones para acceder a ella desde una red privada:

    • Una conexión de Site-to-Site VPN de AWS.

    • Una conexión de AWS Direct Connect.

    • Una conexión de AWS Client VPN.

Para obtener más información, consulte Escenarios de acceso a una instancia de base de datos en una VPC.

Conexión a una instancia de base de datos que ejecuta un motor de base de datos específico

Para obtener información sobre cómo conectarse a una instancia de base de datos que ejecuta un motor de base de datos específico, siga las instrucciones para su motor de base de datos:

Administración de conexiones con RDS Proxy

También puede usar Amazon RDS Proxy para administrar conexiones a instancias de base de datos de RDS para MariaDB, RDS para Microsoft SQL Server, RDS para MySQL y RDS para PostgreSQL. El proxy de RDS permite a las aplicaciones agrupar y compartir conexiones de base de datos para mejorar la escalabilidad. Para obtener más información, consulte Uso de Amazon RDS Proxy .