Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan cqlsh untuk terhubung ke Amazon Keyspaces
Untuk terhubung ke Amazon Keyspaces menggunakancqlsh, Anda dapat menggunakan file. cqlsh-expansion Ini adalah toolkit yang berisi alat Apache Cassandra umum seperti cqlsh dan pembantu yang telah dikonfigurasi sebelumnya untuk Amazon Keyspaces sambil mempertahankan kompatibilitas penuh dengan Apache Cassandra. cqlsh-expansionIni mengintegrasikan plugin otentikasi SiGv4 dan memungkinkan Anda untuk terhubung menggunakan kunci akses IAM alih-alih nama pengguna dan kata sandi. Anda hanya perlu menginstal cqlsh skrip untuk membuat koneksi dan bukan distribusi Apache Cassandra penuh, karena Amazon Keyspaces tanpa server. Paket instalasi ringan ini mencakup cqlsh-expansion dan cqlsh skrip klasik yang dapat Anda instal di platform apa pun yang mendukung Python.
catatan
Murmur3Partitioneradalah partisi yang direkomendasikan untuk Amazon Keyspaces dan. cqlsh-expansion cqlsh-expansionItu tidak mendukung Amazon KeyspacesDefaultPartitioner. Untuk informasi selengkapnya, lihat Bekerja dengan partisi di Amazon Keyspaces.
Untuk informasi umum tentangcqlsh, lihat cqlsh: shell CQL
Topik
Menggunakan untuk terhubung cqlsh-expansion ke Amazon Keyspaces
Menginstal dan mengkonfigurasi cqlsh-expansion
Untuk menginstal paket
cqlsh-expansionPython, Anda dapat menjalankan perintah.pipIni menginstalcqlsh-expansionskrip pada mesin Anda menggunakan pip install bersama dengan file yang berisi daftar dependensi.--user flagMemberitahupipuntuk menggunakan direktori instalasi pengguna Python untuk platform Anda. Pada sistem berbasis Unix, itu harus menjadi~/.local/direktori.Anda memerlukan Python 3 untuk menginstal
cqlsh-expansion, untuk mengetahui versi Python Anda, gunakan.Python --versionUntuk menginstal, Anda dapat menjalankan perintah berikut.python3 -m pip install --user cqlsh-expansionOutputnya akan terlihat mirip dengan ini.
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.0Jika direktori install tidak ada di
PATH, Anda perlu menambahkannya mengikuti instruksi sistem operasi Anda. Di bawah ini adalah salah satu contoh untuk Ubuntu Linux.export PATH="$PATH:/home/ubuntu/.local/bin"Untuk mengonfirmasi bahwa paket diinstal, Anda dapat menjalankan perintah berikut.
cqlsh-expansion --versionOutputnya akan terlihat seperti ini.
cqlsh 6.1.0Untuk mengkonfigurasi
cqlsh-expansion, Anda dapat menjalankan skrip pasca-instal untuk secara otomatis menyelesaikan langkah-langkah berikut:Buat
.cassandradirektori di direktori home pengguna jika belum ada.Salin file konfigurasi yang telah
cqlshrcdikonfigurasi sebelumnya ke.cassandradirektori.Salin sertifikat digital Starfield ke
.cassandradirektori. Amazon Keyspaces menggunakan sertifikat ini untuk mengonfigurasi koneksi aman dengan Transport Layer Security (TLS). Enkripsi dalam perjalanan menyediakan lapisan perlindungan data tambahan dengan mengenkripsi data Anda saat melakukan perjalanan ke dan dari Amazon Keyspaces.
Untuk meninjau skrip terlebih dahulu, Anda dapat mengaksesnya di repo Github di.
post_install.pyUntuk menggunakan skrip, Anda dapat menjalankan perintah berikut.
cqlsh-expansion.initcatatan
Direktori dan file yang dibuat oleh skrip pasca-instal tidak dihapus ketika Anda menghapus instalasi
cqlsh-expansionpip uninstall, dan harus dihapus secara manual.
Menghubungkan ke Amazon Keyspaces menggunakan cqlsh-expansion
Konfigurasikan Anda Wilayah AWS dan tambahkan sebagai variabel lingkungan pengguna.
Untuk menambahkan Region default Anda sebagai variabel lingkungan pada sistem berbasis Unix, Anda dapat menjalankan perintah berikut. Untuk contoh ini, kami menggunakan
us-east-1.export AWS_DEFAULT_REGION=us-east-1Untuk informasi selengkapnya tentang cara mengatur variabel lingkungan, termasuk untuk platform lain, lihat Cara mengatur variabel lingkungan.
Temukan titik akhir layanan Anda.
Pilih titik akhir layanan yang sesuai untuk Wilayah Anda. Untuk meninjau titik akhir yang tersedia untuk Amazon Keyspaces, lihat. Titik akhir layanan untuk Amazon Keyspaces Untuk contoh ini, kita menggunakan endpoint
cassandra---us-east-1.amazonaws.com.rproxy.govskope.ca.Konfigurasikan metode otentikasi.
Menghubungkan dengan kunci akses IAM (pengguna IAM, peran, dan identitas federasi) adalah metode yang direkomendasikan untuk meningkatkan keamanan.
Sebelum Anda dapat terhubung dengan kunci akses IAM, Anda harus menyelesaikan langkah-langkah berikut:
Buat pengguna IAM, atau ikuti praktik terbaik dan buat peran IAM yang dapat diasumsikan oleh pengguna IAM. Untuk informasi selengkapnya tentang cara membuat kunci akses IAM, lihatMembuat dan mengonfigurasi AWS kredensional untuk Amazon Keyspaces.
Buat kebijakan IAM yang memberikan peran (atau pengguna IAM) setidaknya akses hanya-baca ke Amazon Keyspaces. Untuk informasi selengkapnya tentang izin yang diperlukan bagi pengguna IAM atau peran untuk terhubung ke Amazon Keyspaces, lihat. Mengakses tabel Amazon Keyspaces
Tambahkan kunci akses pengguna IAM ke variabel lingkungan pengguna seperti yang ditunjukkan pada contoh berikut.
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYUntuk informasi selengkapnya tentang cara mengatur variabel lingkungan, termasuk untuk platform lain, lihat Cara mengatur variabel lingkungan.
catatan
Jika Anda terhubung dari EC2 instans Amazon, Anda juga perlu mengonfigurasi aturan keluar di grup keamanan yang mengizinkan lalu lintas dari instans ke Amazon Keyspaces. Untuk informasi selengkapnya tentang cara melihat dan mengedit aturan EC2 keluar, lihat Menambahkan aturan ke grup keamanan di Panduan EC2 Pengguna Amazon.
-
Connect ke Amazon Keyspaces menggunakan autentikasi
cqlsh-expansiondan SiGv4.Untuk terhubung ke Amazon Keyspaces dengan
cqlsh-expansion, Anda dapat menggunakan perintah berikut. Pastikan untuk mengganti titik akhir layanan dengan titik akhir yang benar untuk Wilayah Anda.cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 --sslJika koneksi berhasil, Anda akan melihat output yang mirip dengan contoh berikut.
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>Jika Anda mengalami kesalahan koneksi, lihat Saya tidak dapat terhubung ke Amazon Keyspaces dengan cqlsh untuk informasi pemecahan masalah.
Connect ke Amazon Keyspaces dengan kredensyal khusus layanan.
Untuk terhubung dengan kombinasi nama pengguna dan kata sandi tradisional yang digunakan Cassandra untuk otentikasi, Anda harus terlebih dahulu membuat kredensi khusus layanan untuk Amazon Keyspaces seperti yang dijelaskan dalam. Buat kredensil khusus layanan untuk akses terprogram ke Amazon Keyspaces Anda juga harus memberikan izin kepada pengguna tersebut untuk mengakses Amazon Keyspaces, untuk informasi selengkapnya lihat. Mengakses tabel Amazon Keyspaces
Setelah Anda membuat kredensi dan izin khusus layanan untuk pengguna, Anda harus memperbarui
cqlshrcfile, biasanya ditemukan di jalur direktori pengguna.~/.cassandra/Dalamcqlshrcfile, pergi ke[authentication]bagian Cassandra dan komentari modul SiGv4 dan kelas di bawah[auth_provider]menggunakan karakter “;” seperti yang ditunjukkan pada contoh berikut.[auth_provider] ; module = cassandra_sigv4.auth ; classname = SigV4AuthProviderSetelah memperbarui
cqlshrcfile, Anda dapat terhubung ke Amazon Keyspaces dengan kredenal khusus layanan menggunakan perintah berikut.cqlsh-expansion cassandra.us-east-1.amazonaws.com 9142 -umyUserName-pmyPassword--ssl
Pembersihan
Untuk menghapus
cqlsh-expansionpaket Anda dapat menggunakanpip uninstallperintah.pip3 uninstall cqlsh-expansionpip3 uninstallPerintah tidak menghapus direktori dan file terkait yang dibuat oleh skrip pasca-instal. Untuk menghapus folder dan file yang dibuat oleh skrip pasca-instal, Anda dapat menghapus.cassandradirektori.
Cara mengkonfigurasi cqlsh koneksi secara manual untuk TLS
Amazon Keyspaces hanya menerima koneksi aman menggunakan Transport Layer Security (TLS). Anda dapat menggunakan cqlsh-expansion utilitas yang secara otomatis mengunduh sertifikat untuk Anda dan menginstal file konfigurasi yang telah cqlshrc dikonfigurasi sebelumnya. Untuk informasi lebih lanjut, lihat Menggunakan untuk terhubung cqlsh-expansion ke Amazon Keyspaces di halaman ini.
Jika Anda ingin mengunduh sertifikat dan mengonfigurasi koneksi secara manual, Anda dapat melakukannya dengan menggunakan langkah-langkah berikut.
Unduh sertifikat digital Starfield menggunakan perintah berikut dan simpan
sf-class2-root.crtsecara lokal atau di direktori home Anda.curl https://certs.secureserver.net/repository/sf-class2-root.crt -Ocatatan
Anda juga dapat menggunakan sertifikat digital Amazon untuk terhubung ke Amazon Keyspaces dan dapat terus melakukannya jika klien Anda berhasil terhubung ke Amazon Keyspaces. Sertifikat Starfield memberikan kompatibilitas mundur tambahan untuk klien yang menggunakan otoritas sertifikat yang lebih lama.
Buka file
cqlshrckonfigurasi di direktori home Cassandra, misalnya${HOME}/.cassandra/cqlshrcdan tambahkan baris berikut.[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile =path_to_file/sf-class2-root.crt