Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden von cqlsh
zum Herstellen einer Verbindung mit Amazon Keyspaces
Um über eine Verbindung zu Amazon Keyspaces herzustellencqlsh
, können Sie die verwendencqlsh-expansion
. Dies ist ein Toolkit, das gängige Apache-Cassandra-Tools wie cqlsh
und -Hilfsprogramme enthält, die für Amazon Keyspaces vorkonfiguriert sind und gleichzeitig die volle Kompatibilität mit Apache Cassandra aufrechterhalten. Die cqlsh-expansion
integriert das SigV4-Authentifizierungs-Plugin und ermöglicht Ihnen, eine Verbindung über IAM-Zugriffsschlüssel anstelle von Benutzername und Passwort herzustellen. Sie müssen nur die cqlsh
Skripts installieren, um eine Verbindung herzustellen, nicht die vollständige Apache-Cassandra-Verteilung, da Amazon Keyspaces Serverless ist. Dieses leichte Installationspaket enthält die cqlsh-expansion
und die klassischen cqlsh
Skripte, die Sie auf jeder Plattform installieren können, die Python unterstützt.
Allgemeine Informationen zu cqlsh
finden Sie unter cqlsh
: Die CQL-Shell
Themen
Verwenden der cqlsh-expansion
zum Herstellen einer Verbindung mit Amazon Keyspaces
Installieren und Konfigurieren der cqlsh-expansion
Um das
cqlsh-expansion
Python-Paket zu installieren, können Sie einenpip
Befehl ausführen. Dadurch werden diecqlsh-expansion
Skripts mithilfe einer pip-Installation zusammen mit einer Datei mit einer Liste von Abhängigkeiten auf Ihrem Computer installiert. Der--user flag
weist anpip
, das Installationsverzeichnis des Python-Benutzers für Ihre Plattform zu verwenden. Auf einem Unix-basierten System sollte dies das~/.local/
Verzeichnis sein.Sie benötigen Python 3, um die zu installieren
cqlsh-expansion
. Um Ihre Python-Version zu ermitteln, verwenden SiePython --version
. Zur Installation von können Sie einen der folgenden Befehle ausführen.python3 -m pip install --user cqlsh-expansion
pip3 install --user cqlsh-expansion
Die Ausgabe sollte in etwa so aussehen.
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
Wenn sich das Installationsverzeichnis nicht in der befindet
PATH
, müssen Sie es gemäß den Anweisungen Ihres Betriebssystems hinzufügen. Im Folgenden finden Sie ein Beispiel für Ubuntu Linux.export PATH DEFAULT=${PATH}:/home/ubuntu/.local/bin
Um zu bestätigen, dass das -Paket installiert ist, können Sie den folgenden Befehl ausführen.
cqlsh-expansion --version
Die Ausgabe sollte wie folgt aussehen.
cqlsh 6.1.0
Um die zu konfigurieren
cqlsh-expansion
, können Sie ein Skript nach der Installation ausführen, um die folgenden Schritte automatisch auszuführen:Erstellen Sie das
.cassandra
Verzeichnis im Stammverzeichnis des Benutzers, falls es noch nicht vorhanden ist.Kopieren Sie eine vorkonfigurierte
cqlshrc
Konfigurationsdatei in das.cassandra
Verzeichnis .Kopieren Sie das digitale Starfield-Zertifikat in das
.cassandra
Verzeichnis . Amazon Keyspaces verwendet dieses Zertifikat, um die sichere Verbindung mit Transport Layer Security (TLS) zu konfigurieren. Die Verschlüsselung während der Übertragung bietet eine zusätzliche Datenschutzebene, indem Ihre Daten verschlüsselt werden, während sie zu und von Amazon Keyspaces übertragen werden.
Um das Skript zuerst zu überprüfen, können Sie auf es im Github-Repo unter zugreifen
post_install.py
. Um das Skript zu verwenden, können Sie den folgenden Befehl ausführen.
cqlsh-expansion.init
Anmerkung
Das vom Skript für die Nachinstallation erstellte Verzeichnis und die Datei werden nicht entfernt
pip uninstall
, wenn Sie diecqlsh-expansion
mit deinstallieren, und müssen manuell gelöscht werden.
Herstellen einer Verbindung mit Amazon Keyspaces mithilfe der cqlsh-expansion
Konfigurieren Sie Ihre AWS-Region und fügen Sie sie als Benutzerumgebungsvariable hinzu.
Um Ihre Standardregion als Umgebungsvariable auf einem Unix-basierten System hinzuzufügen, können Sie den folgenden Befehl ausführen. In diesem Beispiel verwenden wir USA Ost (Nord-Virginia).
export AWS_DEFAULT_REGION=us-east-1
Weitere Informationen zum Festlegen von Umgebungsvariablen, einschließlich für andere Plattformen, finden Sie unter Festlegen von Umgebungsvariablen.
Suchen Sie Ihren Service-Endpunkt.
Wählen Sie den entsprechenden Service-Endpunkt für Ihre Region aus. Informationen zum Überprüfen der verfügbaren Endpunkte für Amazon Keyspaces finden Sie unter Service-Endpunkte für Amazon Keyspaces. In diesem Beispiel verwenden wir den Endpunkt
cassandra.us-east-1.amazonaws.com
.Konfigurieren Sie die Authentifizierungsmethode.
Die Verbindung mit IAM-Zugriffsschlüsseln (IAM-Benutzer, -Rollen und Verbundidentitäten) ist die empfohlene Methode für verbesserte Sicherheit.
Bevor Sie eine Verbindung mit IAM-Zugriffsschlüsseln herstellen können, müssen Sie die folgenden Schritte ausführen:
Erstellen Sie einen IAM-Benutzer oder befolgen Sie die bewährten Methoden und erstellen Sie eine IAM-Rolle, die IAM-Benutzer annehmen können. Weitere Informationen zum Erstellen von IAM-Zugriffsschlüsseln finden Sie unter So erstellen und konfigurieren Sie AWS Anmeldeinformationen für Amazon Keyspaces.
Erstellen Sie eine IAM-Richtlinie, die der Rolle (oder dem IAM-Benutzer) mindestens schreibgeschützten Zugriff auf Amazon Keyspaces gewährt. Weitere Informationen zu den Berechtigungen, die der IAM-Benutzer oder die IAM-Rolle für die Verbindung mit Amazon Keyspaces benötigt, finden Sie unter Zugreifen auf Amazon Keyspaces-Tabellen.
Fügen Sie die Zugriffsschlüssel des IAM-Benutzers zu den Umgebungsvariablen des Benutzers hinzu, wie im folgenden Beispiel gezeigt.
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Weitere Informationen zum Festlegen von Umgebungsvariablen, einschließlich für andere Plattformen, finden Sie unter Festlegen von Umgebungsvariablen.
Anmerkung
Wenn Sie eine Verbindung von einer Amazon EC2-Instance herstellen, müssen Sie auch eine Regel für ausgehenden Datenverkehr in der Sicherheitsgruppe konfigurieren, die Datenverkehr von der Instance zu Amazon Keyspaces zulässt. Weitere Informationen zum Anzeigen und Bearbeiten ausgehender EC2-Regeln finden Sie unter Hinzufügen von Regeln zu einer Sicherheitsgruppe im Amazon EC2-Benutzerhandbuch für Linux-Instances.
-
Stellen Sie mithilfe der
cqlsh-expansion
und der SigV4-Authentifizierung eine Verbindung zu Amazon Keyspaces her.Verwenden Sie den folgenden Befehl
cqlsh-expansion
, um eine Verbindung mit Amazon Keyspaces über die herzustellen. Stellen Sie sicher, dass Sie den Service-Endpunkt durch den richtigen Endpunkt für Ihre Region ersetzen.cqlsh-expansion
cassandra.us-east-1.amazonaws.com
9142 --sslWenn die Verbindung erfolgreich ist, sollte eine Ausgabe ähnlich dem folgenden Beispiel angezeigt werden.
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>
Wenn ein Verbindungsfehler auftritt, finden Sie Informationen Ich kann keine Verbindung zu Amazon Keyspaces mit cqlsh herstellen zur Fehlerbehebung unter .
Stellen Sie mit servicespezifischen Anmeldeinformationen eine Verbindung zu Amazon Keyspaces her.
Um eine Verbindung mit der herkömmlichen Kombination aus Benutzername und Passwort herzustellen, die Cassandra für die Authentifizierung verwendet, müssen Sie zunächst servicespezifische Anmeldeinformationen für Amazon Keyspaces erstellen, wie unter beschriebenGenerieren Sie dienstspezifische Anmeldeinformationen. Sie müssen diesem Benutzer auch Berechtigungen für den Zugriff auf Amazon Keyspaces erteilen. Weitere Informationen finden Sie unter Zugreifen auf Amazon Keyspaces-Tabellen.
Nachdem Sie servicespezifische Anmeldeinformationen und Berechtigungen für den Benutzer erstellt haben, müssen Sie die
cqlshrc
Datei aktualisieren, die sich normalerweise im Benutzerverzeichnispfad befindet~/.cassandra/
. Gehen Sie in dercqlshrc
Datei zum[authentication]
Abschnitt Cassandra und kommentieren Sie das SigV4-Modul und die Klasse unter[auth_provider]
mit dem Zeichen „;“, wie im folgenden Beispiel gezeigt.[auth_provider] ; module = cassandra_sigv4.auth ; classname = SigV4AuthProvider
Nachdem Sie die
cqlshrc
Datei aktualisiert haben, können Sie mit dem folgenden Befehl eine Verbindung zu Amazon Keyspaces mit servicespezifischen Anmeldeinformationen herstellen.cqlsh-expansion
--sslcassandra.us-east-1.amazonaws.com
9142 -umyUserName
-pmyPassword
Bereinigen
Um das
cqlsh-expansion
Paket zu entfernen, können Sie denpip uninstall
Befehl verwenden.pip3 uninstall cqlsh-expansion
Der
pip3 uninstall
Befehl entfernt nicht das Verzeichnis und die zugehörigen Dateien, die vom Skript nach der Installation erstellt wurden. Um den Ordner und die Dateien zu entfernen, die vom Nachinstallationsskript erstellt wurden, können Sie das.cassandra
Verzeichnis löschen.
So konfigurieren Sie cqlsh
Verbindungen für TLS manuell
Amazon Keyspaces akzeptiert nur sichere Verbindungen mit Transport Layer Security (TLS). Sie können das cqlsh-expansion
Dienstprogramm verwenden, das das Zertifikat automatisch für Sie herunterlädt und eine vorkonfigurierte cqlshrc
Konfigurationsdatei installiert. Weitere Informationen finden Sie unter Verwenden der cqlsh-expansion zum Herstellen einer Verbindung mit Amazon Keyspaces auf dieser Seite.
Wenn Sie das Zertifikat herunterladen und die Verbindung manuell konfigurieren möchten, können Sie dies mit den folgenden Schritten tun.
Laden Sie das digitale Starfield-Zertifikat mit dem folgenden Befehl herunter und speichern Sie es
sf-class2-root.crt
lokal oder in Ihrem Home-Verzeichnis.curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
Anmerkung
Sie können das digitale Amazon-Zertifikat auch verwenden, um eine Verbindung zu Amazon Keyspaces herzustellen, und dies weiterhin tun, wenn Ihr Client erfolgreich eine Verbindung zu Amazon Keyspaces herstellt. Das Starfield-Zertifikat bietet zusätzliche Abwärtskompatibilität für Clients, die ältere Zertifizierungsstellen verwenden.
Öffnen Sie beispielsweise die
cqlshrc
Konfigurationsdatei im Cassandra-Stammverzeichnis${HOME}/.cassandra/cqlshrc
und fügen Sie die folgenden Zeilen hinzu.[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile =
path_to_file
/sf-class2-root.crt