IBM Cloud Docs
Conexión a través de la interfaz de línea de mandatos (CLI)

Conexión a través de la interfaz de línea de mandatos (CLI)

Acceda a la base de datos Redis directamente desde una interfaz de línea de mandatos (CLI). La CLI permite la interacción directa y la supervisión de las estructuras de datos que se crean dentro de la base de datos. También es útil para administrar y supervisar el espacio de claves y el rendimiento, para instalar y modificar scripts y para otras actividades de gestión.

El cliente de redli debe actualizarse para las características de gestión de usuarios introducidas en Redis 6. Si intenta conectarse a sin actualizar el cliente, verá un error como: (error) WRONGPASS invalid username-password pair.

Series de conexión

Las cadenas de conexión se muestran en el panel Endpoints de la página Overview de la implantación y también se pueden recuperar desde el complemento CLI Cloud Databases y la API Cloud Databases.

La información que necesitan los clientes para conectarse a su despliegue se encuentra en la sección "CLI" de una credencial creada en la página Credenciales de servicio. La tabla contiene un desglose para referencia.

Nombre de campo Índice Descripción
Bin El binario recomendado para crear una conexión; en este caso es redli.
Composed Un mandato con formato para establecer una conexión con el despliegue. El mandato combina el ejecutable Bin, los valores de variable Environment y utiliza Arguments como parámetros de línea de mandatos.
Environment Una lista de claves/valores que ha establecido como variables de entorno.
Arguments 0... La información que se pasa como argumentos al mandato que se muestra en el campo Bin.
Certificate Base64 Certificado propietario de un servicio que se utiliza para confirmar que una aplicación se está conectando al servidor adecuado. Está codificado en base64.
Certificate Nombre El nombre asignado para el certificado propietario del servicio.
Type El tipo de paquete que utiliza esta información de conexión; en este caso cli.
{: caption=redis``cli información de conexión" caption-side="top"}
  • 0... indica que puede haber una o varias de estas entradas en una matriz.

Instalación del redli

redli es un cliente de línea de mandatos de Redis de código abierto. Es autónomo, imita los argumentos de línea de mandatos de redis-cli y añade soporte para las conexiones Redis de TLS/SSL. Reconoce el protocolo rediss: en los URI y admite el distintivo --tls para conexiones que no son URI. Puede conectarse a Redis protegido mediante TLS/SSL sin necesidad de túneles. Descárguelo e instálelo desde la página de releases.

Conexión con redli

El mandato ibmcloud cdb deployment-connections maneja todo lo necesario para crear una conexión de cliente. Por ejemplo, para conectarse a un despliegue denominado "NewRedis", utilice el mandato siguiente.

ibmcloud cdb deployment-connections NewRedis --start

o

ibmcloud cdb cxn NewRedis -s

El comando solicita la contraseña de admin y, a continuación, ejecuta el cliente de línea de comandos redli para conectarse a la base de datos.

Si no ha instalado el plugin de Cloud Databases, puede conectarse a las bases de datos de Redis con el mandato redli. Descargue y guarde el certificado propietario del servicio de su implantación. A continuación, utilice redli dándole la cadena de conexión "compuesta" y la ruta al certificado propietario del servicio.

redli --uri rediss://admin:$PASSWORD@e6b2c3f8-54a6-439e-8d8a-aa6c4a78df49.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32371/0 --certfile /path/to/redis-cert.pem

Hay otras opciones de conexión y parámetros que redli admite. Para más información, consulte su documentación en el repositorio redli GitHub.

Instalación del redis-cli

redis-cli es la interfaz de línea de mandatos soportada oficial para Redis. Lamentablemente, no admite conexiones TLS.

Si decide utilizar redis-cli, hay algunos pasos de configuración adicionales. Viene como parte del paquete de Redis, por lo que tiene que instalar Redis localmente para poder utilizarlo. En macOS, instala brew y luego usa brew install redis para ponerte en marcha. En Linux, consulte el gestor de paquetes de su distribución para obtener el último paquete Redis o, si lo desea, descargue el código fuente y compílelo usted mismo.

Conexión con redis-cli

redis-cli no admite las conexiones habilitadas para TLS. Si desea utilizar redis-cli con una conexión cifrada, configure una utilidad como stunnelque envuelve la conexión redis-cli en encriptación TLS.

Configuración de stunnel

  1. Instale stunnel. Utiliza tu gestor de paquetes para Linux, Homebrew para Mac, o descarga el paquete adecuado para tu plataforma.

  2. Obtenga información de conexión. Para configurar una conexión, stunnel necesita el host, el puerto y el certificado de su despliegue de Redis. El host y el puerto están disponibles en la serie de conexión de CLI "compuesta". También se pueden encontrar analizadas en el desglose de cadenas de conexión que se proporciona para conectar aplicaciones y controladores externos.

    El certificado se encuentra en el campo Base64 de la información de conexión de la credencial de servicio. Copie, descodifique y guarde el certificado en un archivo.

  3. Añada su información de configuración en el archivo stunnel.conf. La configuración incluye la siguiente información.

    • Un nombre para un servicio. ([redis-cli])
    • Un valor que indica que este stunnel es un cliente TLS. (client=yes)
    • Una dirección IP y un puerto para aceptar conexiones en (accept=127.0.0.1:6830) y conectarse.
    • El nombre de host y el puerto al que conectarse. (connect=portal972-7.bmix-lon-yp-38898e17-ff6f-4340-9da8-2ba24c41e6d8.composeci-us-ibm-com.composedb.com:24370`)
    • La vía de acceso al certificado.
    [redis-cli]
    client=yes  
    accept=127.0.0.1:6830  
    connect=sl-us-south-1-portal.7.dblayer.com:23870
    verify=2  
    checkHost=sl-us-south-1-portal.7.dblayer.com
    CAfile=/path/to/redis/cert.crt
    
  4. Ejecute stunnel.

    Escriba el mandato stunnel en la línea de mandatos. Inmediatamente se ejecuta en segundo plano.

  5. En una nueva ventana del terminal, ejecute redis-cli apuntando al host y puerto locales y autentifíquese con las credenciales del despliegue.

    redis-cli -p 6830 -a <PASSWORD>
    

Utilización del certificado propietario del servicio

  1. Copie la información del certificado del panel Endpoints o del campo Base64 de la información de conexión de la credencial de servicio.
  2. Si es necesario, decodifique la serie Base64 en texto.
  3. Guarde el certificado en un archivo. (Puede utilizar el Nombre que se proporciona o un nombre de archivo de su elección).
  4. Proporcione al controlador o al cliente la vía de acceso al certificado.

Compatibilidad del complemento CLI con el certificado propietario del servicio

Puede mostrar el certificado descodificado para su despliegue con el complemento CLI con un comando como:

ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>

Este comando descodifica el Base64 en texto. Copie y guarde la salida del mandato en un archivo y proporcione la vía de acceso del archivo al cliente.