Conexión a un clúster de base de datos Amazon Aurora - Amazon Aurora

Conexión a un clúster de base de datos Amazon Aurora

Puede conectarse a un clúster de base de datos de Aurora con las mismas herramientas que utiliza para conectarse a una base de datos de MySQL o PostgreSQL. Especifica una cadena de conexión con cualquier script, utilidad o aplicación conectada a una instancia de base de datos de PostgreSQL o MySQL. Utiliza la misma clave pública para conexiones de Capa de conexión segura (SSL).

En la cadena de conexión, habitualmente utiliza la información del puerto y el host de terminales especiales asociados con el clúster de base de datos. Con estos terminales, puede utilizar los mismos parámetros de conexión independientemente del número de instancias de base de datos que haya en el clúster. También usa información del host y del puerto de la instancia de base de datos específica en su clúster de base de datos de Aurora, como resolución de problemas.

nota

Para los clústeres de Aurora Serverless base de datos, se conecta al punto de enlace de la base de datos en lugar de a la instancia de base de datos. Puede encontrar el punto de enlace de la base de datos para un clúster de base de datos de Aurora Serverless en la pestaña Conectividad y seguridad de AWS Management Console. Para obtener más información, consulte Uso de Amazon Aurora Serverless v1.

Independientemente del motor de base de datos Aurora y de las herramientas específicas que utilice para trabajar con el clúster o instancia de base de datos, el punto de enlace debe ser accesible. Un clúster de base de datos de Aurora puede crearse únicamente en una nube virtual privada (VPC) basada en el servicio de Amazon VPC. Esto significa que puede acceder al punto de enlace desde dentro de la VPC o fuera de la VPC utilizando uno de los siguientes enfoques.

  • Acceda al clúster de base de datos Amazon Aurora dentro de la VPC: habilite el acceso al clúster de base de datos Aurora a través de la VPC. Para ello, edite las reglas entrantes en el grupo Seguridad de la VPC para permitir el acceso al clúster de Aurora base de datos específico. Para obtener más información, incluido cómo configurar la VPC para diferentes escenarios de clúster de Aurora base de datos, consulte Amazon nube virtual privada VPC y Amazon Aurora.

  • Acceda al clúster de Amazon Aurora base de datos fuera de la VPC: para tener acceso a un clúster de base de datos Aurora desde fuera de la VPC, utilice la dirección pública del punto de conexión del clúster de base de datos.

Para obtener más información, consulte Solución de errores de conexión de Aurora.

Conexión a clústeres de bases de datos Aurora con los controladores de AWS

El conjunto de controladores de AWS se han diseñado para permitir tiempos de transición y conmutación por error más rápidos y autenticarse con AWS Secrets Manager, AWS Identity and Access Management (IAM) e identidad federada. Los controladores de AWS se basan en la supervisión del estado del clúster de base de datos y en el conocimiento de la topología del clúster para determinar quién es el nuevo escritor. Este enfoque reduce los tiempos de transición y conmutación por error a segundos de un solo dígito, en comparación con las decenas de segundos de los controladores de código abierto.

En la tabla siguiente se enumeran las características admitidas para cada uno de los controladores. A medida que se introducen nuevas características de servicio, el objetivo del conjunto de controladores de AWS es contar con soporte integrado para estas características de servicio.

Característica Controlador JDBC de AWS Controlador de Python de AWS Controlador ODBC de AWS para MySQL
Soporte de conmutación por error
Supervisión mejorada de conmutación por error
División de lectura y escritura No
Rastreador de conexiones de Aurora No
Conexión de metadatos del controlador N/A N/A
Telemetría No
Secrets Manager 
Autenticación de IAM
Identidad federada (AD FS) No
Identidad federada (Okta) No No

Para obtener más información sobre los controladores de AWS, consulte el controlador de idioma correspondiente a su clúster de base de datos de Aurora MySQL o Aurora PostgreSQL.

Conexión a un clúster de base de datos Amazon Aurora MySQL

Para autenticarse en el clúster de base de datos de Aurora MySQL, puede utilizar la autenticación con nombre de usuario y contraseña de MySQL o la autenticación de base de datos AWS Identity and Access Management (IAM). Para obtener más información sobre el uso de la autenticación con nombre de usuario y contraseña de MySQL, consulte Control de acceso y administración de cuentas en la documentación de MySQL. Para obtener más información sobre cómo usar la autenticación de base de datos de IAM, consulte Autenticación de bases de datos de IAM .

Cuando tenga una conexión a su clúster de base de datos Amazon Aurora con compatibilidad con la versión 8.0 de MySQL, podrá ejecutar comandos de SQL que sean compatibles con la versión 8.0 de MySQL. La versión mínima compatible es MySQL 8.0.23. Para obtener más información sobre la sintaxis SQL de MySQL 8.0, consulte MySQL 8.0 Reference Manual. Para obtener información sobre las limitaciones que se aplican a Aurora MySQL 3, consulte Comparación de Aurora MySQL versión 3 y MySQL 8.0 Community Edition.

Cuando tenga una conexión a su clúster de base de datos Amazon Aurora con compatibilidad con la versión 5.7 de MySQL, podrá ejecutar comandos de SQL que sean compatibles con la versión 5.7 de MySQL. Para obtener más información sobre la sintaxis SQL de MySQL 5.7, consulte MySQL 5.7 Reference Manual. Para obtener información sobre las limitaciones que se aplican a Aurora MySQL 5.7, consulte Aurora MySQL versión 2 compatible con MySQL 5.7.

nota

Para obtener una guía detallada y práctica sobre la conexión a un clúster de base de datos de Amazon Aurora MySQL puede consultar el manual Aurora Connection Management.

En la vista de detalles del clúster de base de datos, puede encontrar el punto de enlace de clúster, que se puede usar en la cadena de conexión de MySQL. El punto de enlace se compone del nombre de dominio y el puerto del clúster de base de datos. Por ejemplo, si un valor de punto de enlace es mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306, debe especificar los siguientes valores en una cadena de conexión de MySQL:

  • Para el host o el nombre del host, especifique mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • Para el puerto, especifique 3306 o el valor del puerto que utilizó al crear el clúster de base de datos

El punto de enlace de clúster le conecta a la instancia principal del clúster de base de datos. Puede realizar operaciones de lectura y escritura con el punto de enlace de clúster. El clúster de base de datos también puede tener hasta 15 réplicas de Aurora que admiten acceso de solo lectura a los datos de su clúster de base de datos. La instancia principal y cada réplica de Aurora tienen un punto de enlace único que es independiente del punto de enlace del clúster y que permite establecer conexión directamente con una instancia de base de datos concreta del clúster. El punto de conexión del clúster apunta siempre a la instancia principal. Si se produce un error en la instancia principal y se reemplaza, el punto de enlace del clúster apunta a la nueva instancia principal.

Para ver el punto de enlace del clúster (punto de enlace de escritor), elija Databases (Bases de datos) en la consola de Amazon RDS y elija el nombre del clúster de base de datos para mostrar sus detalles.

Punto de conexión de escritura de Aurora MySQL.

Utilidades de conexión para Aurora MySQL

A continuación se indican algunas de las utilidades de conexión que puede usar:

Conexión a Aurora MySQL con la utilidad MySQL

Utilice el siguiente procedimiento: Supone que ha configurado el clúster de base de datos en una subred privada de su VPC. Se conecta mediante una instancia de Amazon EC2 que ha configurado según los tutoriales de Explicación: crear un servidor web y un clúster de base de datos de Amazon Aurora.

nota

Este procedimiento no requiere instalar el servidor web en el tutorial, pero sí instalar MariaDB 10.5.

Para conectarse a un clúster de base de datos mediante la utilidad MySQL
  1. Inicie sesión en la instancia de EC2 que usa para conectarse a su clúster de datos.

    Debería ver un resultado similar a este.

    Last login: Thu Jun 23 13:32:52 2022 from xxx.xxx.xxx.xxx __| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-0-xxx.xxx ~]$
  2. Escriba el siguiente comando en el símbolo del sistema para conectarse a la instancia de base de datos principal del clúster de base de datos.

    Para el parámetro -h, escriba el nombre de DNS del punto de enlace de la instancia principal. Para el parámetro -u, sustituya el ID de usuario de una cuenta de usuario de base de datos.

    mysql -h primary-instance-endpoint.AWS_account.AWS_Region.rds.amazonaws.com -P 3306 -u database_user -p

    Por ejemplo:

    mysql -h my-aurora-cluster-instance.c1xy5example.123456789012.eu-central-1.rds.amazonaws.com -P 3306 -u admin -p
  3. Ingrese la contraseña del usuario de la base de datos.

    Debería ver un resultado similar a este.

    Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1770 Server version: 8.0.23 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>
  4. Ingrese sus comandos SQL.

Conexión a Aurora MySQL con el controlador JDBC de Amazon Web Services (AWS)

El controlador JDBC de Amazon Web Services (AWS) se ha diseñado como un contenedor JDBC avanzado. Este contenedor complementa y amplía la funcionalidad de un controlador JDBC existente para ayudar a las aplicaciones a aprovechar las características de las bases de datos en clúster, como Aurora MySQL. El controlador se admite con el controlador Connector/J de la comunidad MySQL y el controlador Connector/J de la comunidad MariaDB.

Para instalar el controlador JDBC de AWS, añada el archivo .jar del controlador JDBC de AWS (ubicado en la aplicación CLASSPATH) y conserve las referencias al controlador de la comunidad correspondiente. Actualice el prefijo de la URL de conexión correspondiente de la siguiente manera:

  • De jdbc:mysql:// a jdbc:aws-wrapper:mysql://

  • De jdbc:mariadb:// a jdbc:aws-wrapper:mariadb://

Para obtener más información sobre el controlador JDBC de AWS e instrucciones completas para utilizarlo, consulte el repositorio GitHub del controlador JDBC de Amazon Web Services (AWS).

nota

La versión 3.0.3 de la utilidad MariaDB Connector/J deja de ser compatible con clústeres de base de datos de Aurora, por lo que recomendamos encarecidamente pasar al controlador JDBC de AWS.

Conexión a Aurora MySQL con el controlador de Python de Amazon Web Services (AWS)

El controlador de Python de Amazon Web Services (AWS) se ha diseñado como un contenedor de Python avanzado. Este contenedor complementa y amplía la funcionalidad del controlador de Psycopg de código abierto. El controlador de Python de AWS se admite con las versiones 3.8 y posteriores de Python. Puede instalar el paquete de aws-advanced-python-wrapper mediante el comando pip, junto con los paquetes de código abierto de psycopg.

Para obtener más información sobre el controlador de Python de AWS e instrucciones completas para utilizarlo, consulte el repositorio GitHub del controlador de Python de Amazon Web Services (AWS).

Conexión a Aurora MySQL con el controlador ODBC de Amazon Web Services (AWS) para MySQL

El controlador ODBC de AWS para MySQL es un controlador de cliente diseñado para la alta disponibilidad de Aurora MySQL. El controlador puede existir junto con el conector MySQL/controlador ODBC y es compatible con los mismos flujos de trabajo.

Para obtener más información sobre el controlador ODBC de AWS para MySQL e instrucciones completas para instalarlo y utilizarlo, consulte el repositorio GitHub del controlador ODBC de Amazon Web Services (AWS) para MySQL.

Conexión a Aurora MySQL mediante SSL

Puede utilizar políticas el cifrado SSL en las conexiones a una instancia de base de datos de Aurora MySQL. Para obtener información, consulte Conexiones TLS a clústeres de base de datos de Aurora MySQL.

Para conectarse con SSL, use la utilidad MySQL como se describe en el siguiente procedimiento. Si utiliza la autenticación de base de datos de IAM, debe usar una conexión de SSL. Para obtener información, consulte Autenticación de bases de datos de IAM .

nota

Para conectarse al punto de enlace del clúster mediante SSL, la utilidad de conexión del cliente debe ser compatible con los nombres alternativos de firmante (SAN). Si la utilidad de conexión del cliente no admite SAN, puede conectarse directamente a las instancias del clúster de base de datos de Aurora. Para obtener más información acerca de los puntos de enlace de Aurora, consulte Conexiones de puntos de conexión de Amazon Aurora.

Para conectarse a un clúster de base de datos con SSL a través de la utilidad MySQL

  1. Descargue la clave pública para el certificado de firma de Amazon RDS.

    Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para cifrar una conexión a un clúster de base de datos.

  2. Escriba el siguiente comando en un símbolo del sistema para conectarse a la instancia principal de un clúster de base de datos con SSL a través de la utilidad MySQL. Para el parámetro -h, escriba el nombre de DNS del punto de enlace de la instancia principal. Para el parámetro -u, sustituya el ID de usuario de una cuenta de usuario de base de datos. Para el parámetro --ssl-ca, utilice el nombre del archivo de certificado de SSL que desee. Escriba la contraseña del usuario maestro cuando se le pida.

    mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com -u admin_user -p --ssl-ca=[full path]global-bundle.pem --ssl-verify-server-cert

Debería ver un resultado similar a este.

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 8.0.26-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

Para obtener instrucciones generales sobre la construcción de cadenas de conexión de RDS for MySQL y encontrar la clave pública para las conexiones SSL, consulte Conexión a una instancia de base de datos que ejecuta el motor de base de datos de MySQL.

Conexión a un clúster de base de datos Amazon Aurora PostgreSQL

Puede conectarse a una instancia de base de datos del clúster de base de datos de Amazon Aurora PostgreSQL con las mismas herramientas que utiliza para conectarse a una base de datos de PostgreSQL. Como parte de este proceso, utiliza la misma clave pública para conexiones de Capa de conexión segura (SSL). Puede usar el punto de enlace y la información de puerto de la instancia principal o las réplicas de Aurora del clúster de base de datos Aurora PostgreSQL en la cadena de conexión de cualquier script, utilidad o aplicación que se conecte a una instancia de base de datos PostgreSQL. En la cadena de conexión, especifique la dirección DNS del punto de enlace de la instancia principal o la réplica de Aurora como parámetro del host. Especifique el número de puerto del punto de enlace como parámetro del puerto.

Cuando tenga una conexión a una instancia de base de datos de su clúster de base de datos de Amazon Aurora PostgreSQL, podrá ejecutar cualquier comando de SQL que sea compatible con PostgreSQL.

En la vista de detalles del clúster de base de datos de Aurora PostgreSQL puede encontrar el nombre del punto de conexión del clúster, el estado, el tipo y el número de puerto. Puede utilizar el punto de conexión y número de puerto en su cadena de conexión de PostgreSQL. Por ejemplo, si un valor de punto de conexión es mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com, debe especificar los siguientes valores en una cadena de conexión de PostgreSQL:

  • Para el host o el nombre del host, especifique mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com

  • Para el puerto, especifique 5432 o el valor del puerto que utilizó al crear el clúster de base de datos

El punto de enlace de clúster le conecta a la instancia principal del clúster de base de datos. Puede realizar operaciones de lectura y escritura con el punto de enlace de clúster. El clúster de base de datos también puede tener hasta 15 réplicas de Aurora que admiten acceso de solo lectura a los datos de su clúster de base de datos. Cada instancia de base de datos en el clúster de Aurora (esto es, la instancia principal y cada réplica de Aurora) tiene un punto de enlace único independiente del punto de enlace del clúster. Este punto de conexión le permite conectarse a una instancia de base de datos específica directamente en el clúster. El punto de conexión del clúster apunta siempre a la instancia principal. Si se produce un error en la instancia principal y se reemplaza, el punto de conexión del clúster apunta a la nueva instancia principal.

Para ver el punto de enlace del clúster (punto de enlace de escritor), elija Databases (Bases de datos) en la consola de Amazon RDS y elija el nombre del clúster de base de datos para mostrar sus detalles.

Punto de conexión de escritura de Aurora PostgreSQL.

Utilidades de conexión para Aurora PostgreSQL

A continuación se indican algunas de las utilidades de conexión que puede usar:

Conexión a Aurora PostgreSQL con el controlador JDBC de Amazon Web Services (AWS)

El controlador JDBC de Amazon Web Services (AWS) se ha diseñado como un contenedor JDBC avanzado. Este contenedor complementa y amplía la funcionalidad de un controlador JDBC existente para ayudar a las aplicaciones a aprovechar las características de las bases de datos en clúster, como Aurora PostgreSQL. El controlador se admite con el controlador pgJDBC de la comunidad.

Para instalar el controlador JDBC de AWS, añada el archivo .jar del controlador JDBC de AWS (ubicado en la aplicación CLASSPATH) y conserve las referencias al controlador de la comunidad pgJDBC. Actualice el prefijo de la URL de conexión de jdbc:postgresql:// a jdbc:aws-wrapper:postgresql://.

Para obtener más información sobre el controlador JDBC de AWS e instrucciones completas para utilizarlo, consulte el repositorio GitHub del controlador JDBC de Amazon Web Services (AWS).

Conexión a Aurora PostgreSQL con el controlador de Python de Amazon Web Services (AWS)

El controlador de Python de Amazon Web Services (AWS) se ha diseñado como un contenedor Python avanzado. Este contenedor complementa y amplía la funcionalidad del controlador de Psycopg de código abierto. El controlador de Python de AWS se admite con las versiones 3.8 y posteriores de Python. Puede instalar el paquete de aws-advanced-python-wrapper mediante el comando pip, junto con los paquetes de código abierto de psycopg.

Para obtener más información sobre el controlador de Python de AWS e instrucciones completas para utilizarlo, consulte el repositorio GitHub del controlador de Python de Amazon Web Services (AWS).

Solución de errores de conexión de Aurora

Las causas frecuentes de errores de conexión a un nuevo clúster de base de datos de Aurora son las siguientes:

  • El grupo de seguridad de la VPC no permite el acceso: su VPC debe permitir conexiones desde el dispositivo o desde una instancia Amazon EC2 mediante la configuración adecuada del grupo de seguridad en la VPC. Para resolverlo, modifique las reglas de entrada del grupo de seguridad de la VPC para permitir conexiones. Para ver un ejemplo, consulte Tutorial: Creación de una VPC para utilizarla con un clúster de base de datos (solo IPv4).

  • Puerto bloqueado por reglas de firewall – Compruebe el valor del puerto configurado para el clúster de Aurora base de datos. Si una regla de firewall bloquea ese puerto, puede volver a crear la instancia utilizando un puerto diferente.

  • Configuración IAM incompleta o incorrecta – Si ha creado la Aurora instancia de base de datos para utilizar la autenticación IAM–basada, asegúrese de que está configurada correctamente. Para obtener más información, consulte Autenticación de bases de datos de IAM .

Para obtener más información acerca de cómo solucionar problemas de conexión de base de datos Aurora, consulte No puede conectarse a la instancia de base de datos de Amazon RDS.