Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-05-08 GMT+08:00

Conexión a una instancia de base de datos mediante psql

Puede utilizar el cliente de PostgreSQL psql para conectarse a su instancia de base de datos a través de una conexión Secure Sockets Layer (SSL). SSL cifra las conexiones a su instancia de base de datos, lo que hace que los datos en tránsito sean más seguros.

SSL está habilitado de forma predeterminada cuando se crea una instancia de base de datos de RDS for PostgreSQL y no se puede deshabilitar después de crear la instancia.

Habilitación de SSL reduce el rendimiento de solo lectura y lectura/escritura de su instancia en aproximadamente un 20%.

Prerrequisitos

  1. Ha iniciado sesión en un ECS.
    • Para obtener detalles sobre cómo crear e iniciar sesión en un ECS, consulte Comprar un ECS e iniciar sesión en un ECS.
    • Usted debe asegurarse de que:
      • El ECS y su instancia de base de datos están en la misma VPC.
      • El grupo de seguridad permite al ECS acceder a la instancia de base de datos.
        • Si el grupo de seguridad asociado a la instancia de base de datos de destino es default security group, no es necesario configurar las reglas de grupo de seguridad.
        • Si el grupo de seguridad al que está asociada la instancia de base de datos de destino no es el grupo de seguridad predeterminado, compruebe si las reglas de grupo de seguridad permiten que el ECS se conecte a la instancia de base de datos. Para obtener más información, consulte Configuración de reglas de grupos de seguridad.

          Si las reglas permiten el acceso desde el ECS, puede conectarse a la instancia de base de datos a través del ECS.

          Si las reglas no permiten el acceso desde el ECS, debe agregar una regla de grupo de seguridad que permita al ECS acceder a la instancia de base de datos.

  2. Ha instalado un cliente de base de datos para conectarse a instancias de base de datos.

    Para obtener más información, consulte ¿Cómo puedo instalar el cliente de PostgreSQL?

Conexión de SSL

  1. Inicie sesión en la consola de gestión.
  2. Haga clic en en la esquina superior izquierda, y seleccione una región y un proyecto.
  3. Elija Databases > Relational Database Service.
  4. Haga clic en el nombre de la instancia de base de datos para ir a la página Basic Information.
  5. Haga clic en junto a SSL para descargar el certificado raíz o el paquete de certificados.
  6. Importe el certificado raíz en el ECS o guárdelo en el dispositivo para conectarse a la instancia de base de datos.

    Para obtener más información sobre cómo importar el certificado de raíz a un ECS de Linux, consulte ¿Cómo puedo importar el certificado raíz a un sistema operativo Windows o Linux?

  7. Conéctese a la instancia de base de datos de RDS. El sistema operativo Linux se utiliza como ejemplo.

    psql --no-readline -h <host> -p <port> "dbname=<database> user=<user> sslmode=verify-ca sslrootcert=<ca-file-directory>"

    Tabla 1 Descripción de parámetro

    Parámetro

    Descripción

    <host>

    Dirección IP flotante de la instancia de base de datos que se va a conectar. Para obtener este valor de parámetro, vaya a la página Basic Information de la instancia de base de datos y vea la dirección IP flotante en el área Connection Information (si se va a acceder a la instancia de base de datos a través de un ECS).

    <port>

    Puerto de base de datos. El valor predeterminado es 5432. Para obtener este valor de parámetro, vaya a la página Basic Information de la instancia de base de datos y busque el número de puerto junto al campo Database Port en el área Connection Information.

    <database>

    Nombre de la base de datos (el nombre predeterminado de la base de datos es postgres).

    <user>

    Nombre de usuario de la cuenta de base de datos de RDS. El administrador predeterminado es root.

    <ca-file-directory>

    Directorio del certificado de CA utilizado para la conexión SSL. El certificado debe almacenarse en el directorio donde se ejecuta el comando.

    sslmode

    Modo de conexión SSL. Establezca el valor verify-ca para usar una CA para comprobar si el servicio es de confianza.

    Ingrese la contraseña de la cuenta de la base de datos si se muestra la siguiente información:

    Contraseña:

    Por ejemplo, para conectarse a la base de datos postgres a través de una conexión SSL como root de usuario, ejecute el siguiente comando:

    psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"

    Password:

  8. Inicie sesión en la base de datos y compruebe el resultado de la conexión. La conexión SSL se establece si se muestra información similar a la siguiente:

    SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)