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.
Verwendencqlsh
, um eine Verbindung zu Amazon Keyspaces herzustellen
Um eine Verbindung zu Amazon Keyspaces herzustellencqlsh
, können Sie den cqlsh-expansion
verwenden. 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 gewährleisten. Es cqlsh-expansion
integriert das SigV4-Authentifizierungs-Plugin und ermöglicht es Ihnen, eine Verbindung mithilfe von IAM Zugriffstasten anstelle von Benutzername und Passwort herzustellen. Sie müssen nur die cqlsh
Skripts installieren, um eine Verbindung herzustellen, und nicht die vollständige Apache Cassandra-Distribution, da Amazon Keyspaces serverlos ist. Dieses einfache Installationspaket enthält die cqlsh-expansion
und die klassischen cqlsh
Skripte, die Sie auf jeder Plattform installieren können, die Python unterstützt.
Anmerkung
Murmur3Partitioner
ist der empfohlene Partitionierer für Amazon Keyspaces und die. cqlsh-expansion
Das unterstützt die Amazon Keyspaces cqlsh-expansion
DefaultPartitioner
nicht. Weitere Informationen finden Sie unter Arbeiten mit Partitionierern in Amazon Keyspaces.
Allgemeine Informationen zu finden Sie cqlsh
unter cqlsh
: Die CQL Shell
Themen
Verwenden voncqlsh-expansion
, um eine Verbindung zu Amazon Keyspaces herzustellen
Installation und Konfiguration des 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, die eine Liste von Abhängigkeiten enthält, auf Ihrem Computer installiert. Das--user flag
weistpip
an, das Python-Benutzerinstallationsverzeichnis für Ihre Plattform zu verwenden. Auf einem Unix-basierten System sollte das das~/.local/
Verzeichnis sein.Sie benötigen Python 3, um das zu installieren
cqlsh-expansion
, um Ihre Python-Version herauszufinden, verwendenPython --version
. Zur Installation können Sie den folgenden Befehl ausführen.python3 -m pip 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 im 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="$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 so aussehen.
cqlsh 6.1.0
Um das zu konfigurieren
cqlsh-expansion
, können Sie nach der Installation ein Skript ausführen, um die folgenden Schritte automatisch auszuführen:Erstellen Sie das
.cassandra
Verzeichnis im Home-Verzeichnis 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 bei der Übertragung bietet eine zusätzliche Datenschutzebene, indem Ihre Daten auf dem Weg zu und von Amazon Keyspaces verschlüsselt werden.
Um das Skript zunächst zu überprüfen, können Sie es im Github-Repo unter aufrufen.
post_install.py
Um das Skript zu verwenden, können Sie den folgenden Befehl ausführen.
cqlsh-expansion.init
Anmerkung
Das Verzeichnis und die Datei, die durch das Post-Installationsskript erstellt wurden
pip uninstall
, werden bei der Deinstallationcqlsh-expansion
von using nicht entfernt und müssen manuell gelöscht werden.
Herstellen einer Verbindung zu Amazon Keyspaces mithilfe der cqlsh-expansion
Konfigurieren Sie Ihre AWS-Region und fügen Sie es als Benutzerumgebungsvariable hinzu.
Um Ihre Standardregion als Umgebungsvariable auf einem Unix-basierten System hinzuzufügen, können Sie den folgenden Befehl ausführen. Für dieses Beispiel verwenden wir US East (Nord-Virginia).
export AWS_DEFAULT_REGION=us-east-1
Weitere Informationen zum Festlegen von Umgebungsvariablen, auch für andere Plattformen, finden Sie unter So legen Sie Umgebungsvariablen fest.
Finden Sie Ihren Service-Endpunkt.
Wählen Sie den entsprechenden Service-Endpunkt für Ihre Region aus. Informationen zu den verfügbaren Endpunkten 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 empfohlene Methode zur Erhöhung der Sicherheit ist die Verbindung mit IAM Zugriffsschlüsseln (IAMBenutzer, Rollen und föderierte Identitäten).
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 folgen Sie den bewährten Methoden und erstellen Sie eine IAM Rolle, die IAM Benutzer übernehmen können. Weitere Informationen zum Erstellen von IAM Zugriffsschlüsseln finden Sie unterErstellen und Konfigurieren 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 Rolle benötigt, um eine Verbindung zu Amazon Keyspaces herzustellen, finden Sie unterZugreifen 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, auch für andere Plattformen, finden Sie unter So legen Sie Umgebungsvariablen fest.
Anmerkung
Wenn Sie von einer EC2 Amazon-Instance aus eine Verbindung herstellen, müssen Sie auch eine ausgehende Regel in der Sicherheitsgruppe konfigurieren, die den Datenverkehr von der Instance zu Amazon Keyspaces zulässt. Weitere Informationen zum Anzeigen und Bearbeiten von Regeln für EC2 ausgehende Nachrichten finden Sie unter Regeln zu einer Sicherheitsgruppe hinzufügen im EC2 Amazon-Benutzerhandbuch.
-
Stellen Sie mithilfe der
cqlsh-expansion
und SigV4-Authentifizierung eine Connect zu Amazon Keyspaces her.Um mit dem eine Verbindung zu Amazon Keyspaces herzustellen
cqlsh-expansion
, können Sie den folgenden Befehl verwenden. 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, sollten Sie eine Ausgabe sehen, die dem folgenden Beispiel ähnelt.
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 Sie auf einen Verbindungsfehler stoßen, finden Sie Informationen Ich kann mit cqlsh keine Verbindung zu Amazon Keyspaces herstellen zur Problembehandlung unter.
Stellen Sie mit dienstspezifischen Anmeldeinformationen eine Connect 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 dienstspezifische Anmeldeinformationen für Amazon Keyspaces erstellen, wie unter beschrieben. Dienstspezifische Anmeldeinformationen für den programmatischen Zugriff auf Amazon Keyspaces erstellen Sie müssen diesem Benutzer auch Berechtigungen für den Zugriff auf Amazon Keyspaces erteilen. Weitere Informationen finden Sie unterZugreifen auf Amazon Keyspaces-Tabellen.
Nachdem Sie dienstspezifische 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]
indem Sie das Zeichen „;“ verwenden, 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 dienstspezifischen 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 durch das Post-Installationsskript erstellt wurden. Um den Ordner und die Dateien zu entfernen, die durch das Post-Installationsskript erstellt wurden, können Sie das.cassandra
Verzeichnis löschen.
Wie konfiguriert man manuell cqlsh
Verbindungen für TLS
Amazon Keyspaces akzeptiert nur sichere Verbindungen mit Transport Layer Security (TLS). Sie können das cqlsh-expansion
Hilfsprogramm verwenden, das das Zertifikat automatisch für Sie herunterlädt und eine vorkonfigurierte cqlshrc
Konfigurationsdatei installiert. Weitere Informationen finden Sie Verwenden voncqlsh-expansion, um eine Verbindung zu Amazon Keyspaces herzustellen 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 Sie können dies auch weiterhin tun, wenn Ihr Kunde erfolgreich eine Verbindung zu Amazon Keyspaces herstellt. Das Starfield-Zertifikat bietet zusätzliche Abwärtskompatibilität für Kunden, die ältere Zertifizierungsstellen verwenden.
Öffnen Sie beispielsweise die
cqlshrc
Konfigurationsdatei im Cassandra-Home-Verzeichnis${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