Conexión a una instancia de base de datos que ejecuta el motor de base de datos MariaDB - Amazon Relational Database Service

Conexión a una instancia de base de datos que ejecuta el motor de base de datos MariaDB

Después de que Amazon RDS aprovisione una instancia de base de datos, puede usar cualquier utilidad o aplicación cliente estándar de MariaDB para conectarse a la instancia. En la cadena de conexión, especifique la dirección del sistema de nombre de dominio (DNS) del punto de enlace de la instancia de base de datos como el parámetro del host. Especifique también el número de puerto del punto de enlace de la instancia de base de datos como el parámetro del puerto.

Puede conectarse a una instancia de base de datos de Amazon RDS for MariaDB mediante herramientas como la utilidad de línea de comandos de MySQL. Para obtener más información acerca del uso de la utilidad de línea de comandos de MySQL, consulte mysql command-line client en la documentación de MariaDB. Heidi es una de las aplicaciones basadas en interfaz gráfica de usuario (GUI) que puede utilizar para conectarse. Para obtener más información, consulte la página Download Heidi. Para obtener información sobre la instalación de MySQL (incluida la utilidad de línea de comandos de MySQL), consulte Installing and upgrading MySQL (Instalación y actualización de MySQL).

La mayoría de las distribuciones de Linux incluyen el cliente MariaDB en lugar del cliente Oracle MySQL. Para instalar la utilidad de línea de comandos de MySQL en la mayoría de las distribuciones Linux basadas en RPM, incluido Amazon Linux 2, ejecute el siguiente comando:

yum install mariadb

Para instalar la utilidad de línea de comandos de MySQL en la mayoría de las distribuciones Linux basadas en DEB, ejecute el siguiente comando:

apt-get install mariadb-client

Para verificar la versión de la utilidad de línea de comandos de MySQL, ejecute el siguiente comando:

mysql --version

Para leer la documentación de MySQL de la versión actual del cliente, ejecute el siguiente comando:

man mysql

Para conectarse a una instancia de base de datos desde fuera de una nube virtual privada (VPC) basada en Amazon 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.

Puede utilizar el cifrado SSL en las conexiones a una instancia de base de datos de MariaDB. Para obtener información, consulte Uso de SSL con una instancia de base de datos de MariaDB.

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

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, supongamos que un valor de 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.

Para conectarse a una instancia de base de datos, utilice cualquier cliente para un motor de base de datos de MariaDB. Por ejemplo, puede usar la utilidad de línea de comandos de MySQL o MySQL Workbench.

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

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. Seleccione el nombre de la instancia de base de datos de MariaDB para mostrar 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 encontrar la información de conexión de una instancia de base de datos de MariaDB mediante el AWS CLI, utilice el 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 \ --filters "Name=engine,Values=mariadb" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

Para Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mariadb" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

El resultado debería ser similar al siguiente.

[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]

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.

Conexión desde la utilidad de línea de comandos de MySQL (sin cifrar)

importante

Utilice sólo una conexión MySQL sin cifrar cuando el cliente y el servidor están en la misma VPC y la red es de confianza. Para obtener información sobre el uso de de conexiones cifradas, consulte Conexión desde la utilidad de línea de comandos de MySQL con SSL (cifrado).

Para conectarse a una instancia de base de datos mediante la utilidad de línea de comandos de MySQL, ingrese el siguiente comando en un símbolo del sistema en un equipo cliente. Al hacerlo, se conecta a una base de datos en una instancia de base de datos MariaDB. Sustituya el nombre DNS (punto de enlace) de la instancia de base de datos por <endpoint> y el nombre de usuario maestro que utilizó para <mymasteruser>. Proporcione la contraseña maestra que utilizó cuando se le solicite una contraseña.

mysql -h <endpoint> -P 3306 -u <mymasteruser> -p

Una vez especificada la contraseña del usuario, verá un resultado similar al siguiente.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.15-MariaDB-log 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. MariaDB [(none)]>

Conexión desde la utilidad de línea de comandos de MySQL con SSL (cifrado)

Amazon RDS crea un certificado SSL para su instancia de base de datos cuando se crea la instancia. Si se habilita la verificación con certificado SSL, el certificado incluye el punto de enlace de la instancia de base de datos como nombre común (CN) que el certificado de SSL debe proteger frente a los ataques de suplantación. Para conectarse a la instancia de base de datos mediante SSL, siga estos pasos:

Para conectarse a una instancia de base de datos mediante SSL con la utilidad de línea de comandos de MySQL

  1. Descargue un certificado raíz que funcione para todas las regiones de AWS.

    Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para cifrar una conexión a una instancia.

  2. Escriba el siguiente comando en un símbolo del sistema para conectarse a una instancia de base de datos mediante SSL con la utilidad mysql. Para el parámetro -h, utilice el nombre de DNS de la instancia de base de datos. Para el parámetro --ssl-ca, utilice el nombre del archivo de certificado de SSL que desee.

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem -p
  3. Incluya el parámetro --ssl-verify-server-cert, para que la conexión SSL verifique el punto de enlace de la instancia de base de datos con respecto al punto de enlace del certificado SSL. Por ejemplo:

    mysql -h mariadb-instance1.123456789012.us-east-1.rds.amazonaws.com --ssl-ca=global-bundle.pem --ssl-verify-server-cert -p
  4. Escriba la contraseña del usuario maestro cuando se le pida.

Debería ver un resultado similar a este.

Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 31 Server version: 10.5.15-MariaDB-log 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. MariaDB [(none)]>

Solución de problemas de conexiones a la instancia de base de datos MariaDB

Hay dos causas frecuentes de errores de conexión a una instancia de base de datos nueva:

  • La instancia de base de datos se creó usando un grupo de seguridad que no autoriza las conexiones desde el dispositivo o la instancia Amazon EC2 en la que se está ejecutando la utilidad o la aplicación de MariaDB. Si la instancia de base de datos se creó en una Amazon VPC, debe tener un grupo de seguridad de VPC que autorice las conexiones. Para obtener más información, consulte VPC Amazon Virtual Private Cloud y Amazon RDS.

    Puede añadir o editar una regla de entrada en el grupo de seguridad. Para Source (Origen), elija My IP (Mi IP). Esto permite el acceso a la instancia de base de datos desde la dirección IP detectada en su navegador.

    Si la instancia de base de datos se creó fuera de una VPC, debe tener un grupo de seguridad de base de datos que autorice las conexiones.

  • La instancia de base de datos se creó con el puerto predeterminado 3306, y su compañía tiene reglas de firewall que bloquean las conexiones a ese puerto desde los dispositivos de la red de la organización. Para solucionar este error, vuelva a crear la instancia con un puerto diferente.

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