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-expansion
Ini 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
Murmur3Partitioner
adalah partisi yang direkomendasikan untuk Amazon Keyspaces dan. cqlsh-expansion
cqlsh-expansion
Itu 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-expansion
Python, Anda dapat menjalankan perintah.pip
Ini menginstalcqlsh-expansion
skrip pada mesin Anda menggunakan pip install bersama dengan file yang berisi daftar dependensi.--user flag
Memberitahupip
untuk 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 --version
Untuk menginstal, Anda dapat menjalankan perintah berikut.python3 -m pip install --user cqlsh-expansion
Outputnya 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.0
Jika 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 --version
Outputnya akan terlihat seperti ini.
cqlsh 6.1.0
Untuk mengkonfigurasi
cqlsh-expansion
, Anda dapat menjalankan skrip pasca-instal untuk secara otomatis menyelesaikan langkah-langkah berikut:Buat
.cassandra
direktori di direktori home pengguna jika belum ada.Salin file konfigurasi yang telah
cqlshrc
dikonfigurasi sebelumnya ke.cassandra
direktori.Salin sertifikat digital Starfield ke
.cassandra
direktori. 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.py
Untuk menggunakan skrip, Anda dapat menjalankan perintah berikut.
cqlsh-expansion.init
catatan
Direktori dan file yang dibuat oleh skrip pasca-instal tidak dihapus ketika Anda menghapus instalasi
cqlsh-expansion
pip 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, kita menggunakan US East (Virginia N.).
export AWS_DEFAULT_REGION=us-east-1
Untuk 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
.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/bPxRfiCYEXAMPLEKEY
Untuk 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-expansion
dan 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
cqlshrc
file, biasanya ditemukan di jalur direktori pengguna.~/.cassandra/
Dalamcqlshrc
file, 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 = SigV4AuthProvider
Setelah memperbarui
cqlshrc
file, Anda dapat terhubung ke Amazon Keyspaces dengan kredenal khusus layanan menggunakan perintah berikut.cqlsh-expansion
--sslcassandra.us-east-1.amazonaws.com
9142 -umyUserName
-pmyPassword
Pembersihan
Untuk menghapus
cqlsh-expansion
paket Anda dapat menggunakanpip uninstall
perintah.pip3 uninstall cqlsh-expansion
pip3 uninstall
Perintah 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.cassandra
direktori.
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.crt
secara lokal atau di direktori home Anda.curl https://certs.secureserver.net/repository/sf-class2-root.crt -O
catatan
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
cqlshrc
konfigurasi di direktori home Cassandra, misalnya${HOME}/.cassandra/cqlshrc
dan tambahkan baris berikut.[connection] port = 9142 factory = cqlshlib.ssl.ssl_transport_factory [ssl] validate = true certfile =
path_to_file
/sf-class2-root.crt