Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation cqlsh
pour se connecter à Amazon Keyspaces
Pour vous connecter à Amazon Keyspaces à l'aide decqlsh
, vous pouvez utiliser le. cqlsh-expansion
Il s'agit d'une boîte à outils qui contient des outils Apache Cassandra courants cqlsh
et des aides préconfigurés pour Amazon Keyspaces tout en maintenant une compatibilité totale avec Apache Cassandra. Il cqlsh-expansion
intègre le plugin d'authentification SigV4 et vous permet de vous connecter à l'aide de clés d'IAMaccès au lieu du nom d'utilisateur et du mot de passe. Vous devez uniquement installer les cqlsh
scripts pour établir une connexion, et non la distribution complète d'Apache Cassandra, car Amazon Keyspaces fonctionne sans serveur. Ce package d'installation léger inclut les cqlsh
scripts classiques cqlsh-expansion
et les scripts que vous pouvez installer sur n'importe quelle plateforme supportant Python.
Note
Murmur3Partitioner
est le partitionneur recommandé pour Amazon Keyspaces et le. cqlsh-expansion
Le cqlsh-expansion
ne prend pas en charge les Amazon KeyspacesDefaultPartitioner
. Pour de plus amples informations, veuillez consulter Utilisation des partitionneurs dans Amazon Keyspaces.
Pour des informations générales surcqlsh
, voir cqlsh
: the CQL shell
Rubriques
Utilisation du cqlsh-expansion
pour se connecter à Amazon Keyspaces
Installation et configuration du cqlsh-expansion
Pour installer le package
cqlsh-expansion
Python, vous pouvez exécuter unepip
commande. Cela installe lescqlsh-expansion
scripts sur votre machine à l'aide d'une installation pip avec un fichier contenant une liste de dépendances. Il--user flag
indiquepip
d'utiliser le répertoire d'installation utilisateur Python pour votre plateforme. Sur un système basé sur Unix, ce devrait être le~/.local/
répertoire.Vous avez besoin de Python 3 pour installer le
cqlsh-expansion
, pour connaître votre version de Python, utilisezPython --version
. Pour l'installer, vous pouvez exécuter la commande suivante.python3 -m pip install --user cqlsh-expansion
La sortie doit ressembler à ceci.
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 le répertoire d'installation ne se trouve pas dans le
PATH
, vous devez l'ajouter en suivant les instructions de votre système d'exploitation. Vous trouverez ci-dessous un exemple pour Ubuntu Linux.export PATH="$PATH:/home/ubuntu/.local/bin"
Pour confirmer que le package est installé, vous pouvez exécuter la commande suivante.
cqlsh-expansion --version
La sortie doit ressembler à ceci.
cqlsh 6.1.0
Pour configurer le
cqlsh-expansion
, vous pouvez exécuter un script de post-installation pour effectuer automatiquement les étapes suivantes :Créez le
.cassandra
répertoire dans le répertoire personnel de l'utilisateur s'il n'existe pas déjà.Copiez un fichier de
cqlshrc
configuration préconfiguré dans le.cassandra
répertoire.Copiez le certificat numérique Starfield dans le
.cassandra
répertoire. Amazon Keyspaces utilise ce certificat pour configurer la connexion sécurisée avec Transport Layer Security ()TLS. Le chiffrement en transit fournit une couche supplémentaire de protection des données en chiffrant vos données lorsqu'elles sont acheminées vers et depuis Amazon Keyspaces.
Pour consulter d'abord le script, vous pouvez y accéder dans le dépôt Github à l'adresse.
post_install.py
Pour utiliser le script, vous pouvez exécuter la commande suivante.
cqlsh-expansion.init
Note
Le répertoire et le fichier créés par le script de post-installation ne sont pas supprimés lorsque vous
cqlsh-expansion
désinstallezpip uninstall
l'utilisateur et doivent être supprimés manuellement.
Connexion à Amazon Keyspaces à l'aide du cqlsh-expansion
Configurez votre Région AWS et ajoutez-la en tant que variable d'environnement utilisateur.
Pour ajouter votre région par défaut en tant que variable d'environnement sur un système basé sur Unix, vous pouvez exécuter la commande suivante. Pour cet exemple, nous utilisons l'est des États-Unis (Virginie du Nord).
export AWS_DEFAULT_REGION=us-east-1
Pour plus d'informations sur la définition des variables d'environnement, y compris pour d'autres plateformes, consultez Comment définir des variables d'environnement.
Trouvez le point de terminaison de votre service.
Choisissez le point de terminaison de service approprié pour votre région. Pour consulter les points de terminaison disponibles pour Amazon Keyspaces, consultez. Points de terminaison de service pour Amazon Keyspaces Pour cet exemple, nous utilisons le point de terminaison
cassandra.us-east-1.amazonaws.com
.Configurez la méthode d'authentification.
La connexion à IAM l'aide de clés d'accès (IAMutilisateurs, rôles et identités fédérées) est la méthode recommandée pour renforcer la sécurité.
Avant de pouvoir vous connecter à IAM l'aide des clés d'accès, vous devez suivre les étapes suivantes :
Créez un IAM utilisateur ou suivez les meilleures pratiques et créez un IAM rôle que IAM les utilisateurs peuvent assumer. Pour plus d'informations sur la création de clés IAM d'accès, consultezCréation et configuration AWS informations d'identification pour Amazon Keyspaces.
Créez une IAM politique qui accorde au rôle (ou à IAM l'utilisateur) au moins un accès en lecture seule à Amazon Keyspaces. Pour plus d'informations sur les autorisations requises pour que l'IAMutilisateur ou le rôle se connecte à Amazon Keyspaces, consultez. Accès aux tables Amazon Keyspaces
Ajoutez les clés d'accès de l'IAMutilisateur aux variables d'environnement de l'utilisateur, comme indiqué dans l'exemple suivant.
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Pour plus d'informations sur la définition des variables d'environnement, y compris pour d'autres plateformes, consultez Comment définir des variables d'environnement.
Note
Si vous vous connectez depuis une EC2 instance Amazon, vous devez également configurer une règle sortante dans le groupe de sécurité qui autorise le trafic entre l'instance et Amazon Keyspaces. Pour plus d'informations sur l'affichage et la modification des règles de EC2 trafic sortant, consultez la section Ajouter des règles à un groupe de sécurité dans le guide de l'EC2utilisateur Amazon.
-
Connectez-vous à Amazon Keyspaces à l'aide de l'authentification
cqlsh-expansion
et SigV4.Pour vous connecter à Amazon Keyspaces avec le
cqlsh-expansion
, vous pouvez utiliser la commande suivante. Assurez-vous de remplacer le point de terminaison du service par le point de terminaison adapté à votre région.cqlsh-expansion
cassandra.us-east-1.amazonaws.com
9142 --sslSi la connexion est établie, vous devriez obtenir un résultat similaire à celui de l'exemple suivant.
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 vous rencontrez une erreur de connexion, consultez Je ne parviens pas à me connecter à Amazon Keyspaces avec cqlsh les informations de dépannage.
Connectez-vous à Amazon Keyspaces avec des informations d'identification spécifiques au service.
Pour vous connecter à la combinaison traditionnelle de nom d'utilisateur et de mot de passe utilisée par Cassandra pour l'authentification, vous devez d'abord créer des informations d'identification spécifiques au service pour Amazon Keyspaces, comme décrit dans. Créez des informations d'identification spécifiques au service pour un accès programmatique à Amazon Keyspaces Vous devez également autoriser cet utilisateur à accéder à Amazon Keyspaces. Pour plus d'informations, consultez. Accès aux tables Amazon Keyspaces
Après avoir créé des informations d'identification et des autorisations spécifiques au service pour l'utilisateur, vous devez mettre à jour le
cqlshrc
fichier, qui se trouve généralement dans le chemin du répertoire utilisateur.~/.cassandra/
Dans lecqlshrc
fichier, accédez à la[authentication]
section Cassandra et commentez le module et la classe SigV4[auth_provider]
en utilisant le caractère « ; » comme indiqué dans l'exemple suivant.[auth_provider] ; module = cassandra_sigv4.auth ; classname = SigV4AuthProvider
Après avoir mis à jour le
cqlshrc
fichier, vous pouvez vous connecter à Amazon Keyspaces avec des informations d'identification spécifiques au service à l'aide de la commande suivante.cqlsh-expansion
--sslcassandra.us-east-1.amazonaws.com
9142 -umyUserName
-pmyPassword
Nettoyage
Pour supprimer le
cqlsh-expansion
package, vous pouvez utiliser lapip uninstall
commande.pip3 uninstall cqlsh-expansion
La
pip3 uninstall
commande ne supprime pas le répertoire et les fichiers associés créés par le script de post-installation. Pour supprimer le dossier et les fichiers créés par le script de post-installation, vous pouvez supprimer le.cassandra
répertoire.
Comment configurer manuellement les cqlsh
connexions pour TLS
Amazon Keyspaces accepte uniquement les connexions sécurisées utilisant Transport Layer Security ()TLS. Vous pouvez utiliser l'cqlsh-expansion
utilitaire qui télécharge automatiquement le certificat pour vous et installe un fichier de cqlshrc
configuration préconfiguré. Pour plus d'informations, consultez Utilisation du cqlsh-expansion pour se connecter à Amazon Keyspaces cette page.
Si vous souhaitez télécharger le certificat et configurer la connexion manuellement, procédez comme suit.
Téléchargez le certificat numérique Starfield à l'aide de la commande suivante et enregistrez-le
sf-class2-root.crt
localement ou dans votre répertoire personnel.curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Note
Vous pouvez également utiliser le certificat numérique Amazon pour vous connecter à Amazon Keyspaces et continuer à le faire si votre client se connecte correctement à Amazon Keyspaces. Le certificat Starfield fournit une rétrocompatibilité supplémentaire aux clients utilisant des autorités de certification plus anciennes.
Ouvrez le fichier
cqlshrc
de configuration dans le répertoire de base de Cassandra, par exemple,${HOME}/.cassandra/cqlshrc
et ajoutez les lignes suivantes.[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile =
path_to_file
/sf-class2-root.crt