Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de cqlsh para conectarse a Amazon Keyspaces

Modo de enfoque
Uso de cqlsh para conectarse a Amazon Keyspaces - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Para conectarse a Amazon Keyspaces con cqlsh, puede utilizar la cqlsh-expansion. Se trata de un conjunto de herramientas que contiene herramientas comunes de Apache Cassandra como cqlsh y asistentes preconfigurados para Amazon Keyspaces que mantienen una compatibilidad total con Apache Cassandra. La cqlsh-expansion integra el complemento de autenticación SigV4 y le permite conectarse utilizando claves de acceso de IAM en lugar de nombre de usuario y contraseña. Solo necesita instalar los scripts de cqlsh para realizar una conexión y no la distribución completa de Apache Cassandra, dado que Amazon Keyspaces funciona sin servidor. Este paquete de instalación ligero incluye la cqlsh-expansion y los scripts clásicos de cqlsh que puede instalar en cualquier plataforma que admita Python.

nota

Murmur3Partitioner es el particionador recomendado para Amazon Keyspaces y la cqlsh-expansion. La cqlsh-expansion no es compatible con el DefaultPartitioner de Amazon Keyspaces. Para obtener más información, consulte Uso de particionadores en Amazon Keyspaces.

Para obtener información general sobre cqlsh, consulte cqlsh: el intérprete de comandos CQL.

Uso de la cqlsh-expansion para conectarse a Amazon Keyspaces

Instalación y configuración de la cqlsh-expansion
  1. Para instalar el paquete cqlsh-expansion para Python, puede ejecutar un comando pip. Este instala los scripts de cqlsh-expansion en su máquina utilizando un pip install junto con un archivo que contiene una lista de dependencias. La --user flag le dice a pip que utilice el directorio de instalación del usuario de Python para su plataforma. En un sistema basado en Unix, ese debe ser el directorio ~/.local/.

    Necesita Python 3 para instalar la cqlsh-expansion; si quiere averiguar cuál es su versión de Python, utilice Python --version. Para la instalación, puede ejecutar el siguiente comando.

    python3 -m pip install --user cqlsh-expansion

    La salida debería ser similar a la siguiente.

    Collecting cqlsh-expansion Downloading cqlsh_expansion-0.9.6-py3-none-any.whl (153 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 153.7/153.7 KB 3.3 MB/s eta 0:00:00 Collecting cassandra-driver Downloading cassandra_driver-3.28.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (19.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.1/19.1 MB 44.5 MB/s eta 0:00:00 Requirement already satisfied: six>=1.12.0 in /usr/lib/python3/dist-packages (from cqlsh-expansion) (1.16.0) Collecting boto3 Downloading boto3-1.29.2-py3-none-any.whl (135 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 135.8/135.8 KB 17.2 MB/s eta 0:00:00 Collecting cassandra-sigv4>=4.0.2 Downloading cassandra_sigv4-4.0.2-py2.py3-none-any.whl (9.8 kB) Collecting botocore<1.33.0,>=1.32.2 Downloading botocore-1.32.2-py3-none-any.whl (11.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 60.9 MB/s eta 0:00:00 Collecting s3transfer<0.8.0,>=0.7.0 Downloading s3transfer-0.7.0-py3-none-any.whl (79 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.8/79.8 KB 13.1 MB/s eta 0:00:00 Collecting jmespath<2.0.0,>=0.7.1 Downloading jmespath-1.0.1-py3-none-any.whl (20 kB) Collecting geomet<0.3,>=0.1 Downloading geomet-0.2.1.post1-py3-none-any.whl (18 kB) Collecting python-dateutil<3.0.0,>=2.1 Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 33.1 MB/s eta 0:00:00 Requirement already satisfied: urllib3<2.1,>=1.25.4 in /usr/lib/python3/dist-packages (from botocore<1.33.0,>=1.32.2->boto3->cqlsh-expansion) (1.26.5) Requirement already satisfied: click in /usr/lib/python3/dist-packages (from geomet<0.3,>=0.1->cassandra-driver->cqlsh-expansion) (8.0.3) Installing collected packages: python-dateutil, jmespath, geomet, cassandra-driver, botocore, s3transfer, boto3, cassandra-sigv4, cqlsh-expansion WARNING: The script geomet is installed in '/home/ubuntu/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. WARNING: The scripts cqlsh, cqlsh-expansion and cqlsh-expansion.init are installed in '/home/ubuntu/.local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. Successfully installed boto3-1.29.2 botocore-1.32.2 cassandra-driver-3.28.0 cassandra-sigv4-4.0.2 cqlsh-expansion-0.9.6 geomet-0.2.1.post1 jmespath-1.0.1 python-dateutil-2.8.2 s3transfer-0.7.0

    Si el directorio de instalación no está en la PATH, debe agregarlo siguiendo las instrucciones de su sistema operativo. A continuación se muestra un ejemplo para Ubuntu Linux.

    export PATH="$PATH:/home/ubuntu/.local/bin"

    Para confirmar que el paquete esté instalado, puede ejecutar el siguiente comando.

    cqlsh-expansion --version

    La salida debería tener este aspecto.

    cqlsh 6.1.0
  2. Para configurar la cqlsh-expansion, puede ejecutar un script post-instalación para completar automáticamente los siguientes pasos:

    1. Cree el directorio .cassandra en el directorio de inicio del usuario si aún no existe.

    2. Copie un archivo de configuración cqlshrc preconfigurado en el directorio .cassandra.

    3. Copie el certificado digital Starfield en el directorio .cassandra. Amazon Keyspaces utiliza este certificado para configurar la conexión segura con Seguridad de la capa de transporte (TLS). El cifrado en tránsito proporciona una capa adicional de protección de datos al cifrar sus datos mientras viajan hacia y desde Amazon Keyspaces.

    Para revisar antes el script, puede acceder al mismo en el repositorio de Github en post_install.py.

    Para utilizar el script, puede ejecutar el siguiente comando.

    cqlsh-expansion.init
    nota

    El directorio y el archivo creados por el script post-instalación no se eliminan al desinstalar la cqlsh-expansion utilizando pip uninstall por lo que se tienen que eliminar manualmente.

Conexión a Amazon Keyspaces mediante la cqlsh-expansion
  1. Configure su Región de AWS y añádala como variable de entorno de usuario.

    Para añadir su región predeterminada como variable de entorno en un sistema basado en Unix, puede ejecutar el siguiente comando. Para este ejemplo, utilizaremos Este de EE. UU. (Norte de Virginia).

    export AWS_DEFAULT_REGION=us-east-1

    Para obtener más información sobre cómo establecer variables de entorno, incluso para otras plataformas, consulte Establecimiento de variables de entorno.

  2. Encuentre el punto de conexión de servicio.

    Elija el punto de conexión de servicio apropiado para su región. Para revisar los puntos de conexión disponibles para Amazon Keyspaces, consulte Puntos de conexión de servicio para Amazon Keyspaces. En este ejemplo, utilizamos el punto de conexión cassandra.us-east-1.amazonaws.com.

  3. Configure el método de autenticación.

    Para mejorar la seguridad, el método recomendado es conectarse con claves de acceso de IAM (usuarios, roles e identidades federadas de IAM).

    Para poder conectarse con claves de acceso de IAM, debe completar los siguientes pasos:

    1. Cree un usuario de IAM, u observe la práctica recomendada y cree un rol de IAM que los usuarios de IAM puedan asumir. Para obtener más información sobre cómo crear claves de acceso de IAM, consulte Creación y configuración de AWS credenciales para Amazon Keyspaces.

    2. Cree una política de IAM que conceda al rol (o usuario de IAM) al menos acceso de solo lectura a Amazon Keyspaces. Para obtener más información sobre los permisos necesarios para que el usuario o rol de IAM se conecten a Amazon Keyspaces, consulte Acceso a las tablas de Amazon Keyspaces.

    3. Añada las claves de acceso del usuario de IAM a las variables de entorno del usuario como se muestra en el siguiente ejemplo.

      export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

      Para obtener más información sobre cómo establecer variables de entorno, incluso para otras plataformas, consulte Establecimiento de variables de entorno.

      nota

      Si se conecta desde una instancia de Amazon EC2, también debe configurar una regla de salida en el grupo de seguridad que permita el tráfico desde la instancia hasta Amazon Keyspaces. Para obtener más información sobre cómo ver y editar las reglas de salida de EC2, consulte Adición de reglas a un grupo de seguridad en la Guía del usuario de Amazon EC2.

  4. Conéctese a Amazon Keyspaces utilizando la cqlsh-expansion y la autenticación SigV4.

    Para conectarse a Amazon Keyspaces con la cqlsh-expansion, puede utilizar el siguiente comando. Asegúrese de sustituir el punto de conexión de servicio por el punto de conexión correcto para su región.

    cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --ssl

    Si la conexión tiene éxito, debería ver una salida similar a la del siguiente ejemplo.

    Connected to Amazon Keyspaces at cassandra.us-east-1.amazonaws.com:9142 [cqlsh 6.1.0 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help. cqlsh current consistency level is ONE. cqlsh>

    Si encuentra algún error, consulte No puedo conectarme a Amazon Keyspaces con cqlsh para ver información de solución de problemas.

    • Conéctese a Amazon Keyspaces con credenciales específicas del servicio.

      Para conectarse con la combinación tradicional de nombre de usuario y contraseña que Cassandra utiliza para autenticación, primero debe crear credenciales específicas del servicio para Amazon Keyspaces como se describe en Creación de credenciales específicas del servicio para el acceso programático a Amazon Keyspaces. También tiene que dar a ese usuario permisos para acceder a Amazon Keyspaces. Para obtener más información, consulte Acceso a las tablas de Amazon Keyspaces.

      Una vez creadas las credenciales específicas del servicio y los permisos para el usuario, debe actualizar el archivo cqlshrc, que suele encontrarse en la ruta del directorio de usuario ~/.cassandra/. En el archivo cqlshrc, vaya a la sección [authentication] de Cassandra y comente el módulo SigV4 y la clase bajo [auth_provider] utilizando el carácter ";", como se muestra en el siguiente ejemplo.

      [auth_provider] ; module = cassandra_sigv4.auth ; classname = SigV4AuthProvider

      Una vez actualizado el archivo cqlshrc, puede conectarse a Amazon Keyspaces con las credenciales específicas del servicio mediante el siguiente comando.

      cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 -u myUserName -p myPassword --ssl
Limpieza
  • Para eliminar el paquete de cqlsh-expansion, puede utilizar el comando pip uninstall.

    pip3 uninstall cqlsh-expansion

    El comando pip3 uninstall no elimina el directorio ni los archivos relacionados creados por el script post-instalación. Para eliminar el directorio y los archivos creados por el script post-instalación, puede eliminar el directorio .cassandra.

Configuración manual de conexiones de cqlsh para TLS

Amazon Keyspaces solo acepta conexiones seguras utilizando Seguridad de la capa de transporte (TLS). Puede utilizar la utilidad cqlsh-expansion que descarga automáticamente el certificado por usted e instala un archivo de configuración cqlshrc preconfigurado. Para obtener más información, consulte Uso de la cqlsh-expansion para conectarse a Amazon Keyspaces en esta página.

Si desea descargar el certificado y configurar la conexión manualmente, siga estos pasos.

  1. Descargue el certificado digital de Starfield utilizando el siguiente comando y guarde sf-class2-root.crt localmente o en su directorio de inicio.

    curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
    nota

    También puede utilizar el certificado digital de Amazon para conectarse a Amazon Keyspaces, y puede seguir haciéndolo si su cliente se conecta a Amazon Keyspaces correctamente. El certificado de Starfield proporciona compatibilidad retroactiva adicional para los clientes que utilicen autoridades de certificación más antiguas.

  2. Abra el archivo de configuración cqlshrc en el directorio de inicio de Cassandra, por ejemplo ${HOME}/.cassandra/cqlshrc, y añada las siguientes líneas.

    [connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile = path_to_file/sf-class2-root.crt
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.