Halaman ini menjelaskan cara terhubung ke instance Redis menggunakan Telnet dan redis-cli. Selain itu, halaman ini memberikan petunjuk tentang cara terhubung saat menggunakan fitur seperti replika baca, AUTH, dan enkripsi dalam transit.
Terakhir, halaman ini memberikan petunjuk tentang cara terhubung dari lingkungan Google Kubernetes Engine.
Untuk mengetahui daftar Google Cloud lingkungan yang didukung Memorystore for Redis, lihat Lingkungan yang didukung. Beberapa lingkungan tanpa server yang didukung Memorystore memerlukan konektor Akses VPC Serverless. Lihat Persyaratan konektor Akses VPC Serverless untuk mengetahui detail selengkapnya.
Menghubungkan ke instance Redis dari VM Compute Engine menggunakan telnet
Anda dapat terhubung ke instance Memorystore for Redis dari VM Compute Engine mana pun yang menggunakan jaringan yang diizinkan instance dengan alamat IP RFC 1918 yang didukung.
Jika Anda tidak memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan yang sama dengan instance Anda, buat VM dan hubungkan ke VM menggunakan SSH. Untuk melakukannya, ikuti langkah-langkah di Membuat instance VM Linux di Compute Engine.
Gunakan
apt-getuntuk menginstaltelnet:sudo apt-get install telnetDari terminal, telnet ke alamat IP instance. Ganti VARIABLES dengan nilai yang sesuai.
telnet INSTANCE_IP_ADDRESS 6379
Jika Anda dapat terhubung ke instance, perintah akan menampilkan hasil ini:
Trying INSTANCE_IP_ADDRESS… Connected to INSTANCE_IP_ADDRESS
Di sesi telnet, masukkan beberapa perintah Redis:
Enter:
PING
Hasil:
PONG
Enter
SET HELLO WORLD
Hasil:
+OK
Enter:
GET HELLO
Hasil:
$5 WORLD
Menghubungkan ke instance Redis dari VM Compute Engine menggunakan redis-cli
Anda dapat terhubung ke instance Redis dari VM Compute Engine mana pun yang menggunakan jaringan yang diizinkan instance Redis dengan alamat IP RFC 1918 yang didukung.
Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan untuk instance Redis, buat VM dan hubungkan ke VM dengan mengikuti Membuat instance VM di subnet tertentu.
Instal
redis-clidi VM Compute Engine dengan menjalankan perintah berikut dari terminal SSH Compute Engine:sudo apt-get install redis-tools
Jalankan perintah berikut di terminal Compute Engine, dengan mengganti variables dengan nilai yang sesuai.
redis-cli -h redis-instance-ip-address
Anda kini terhubung ke instance Redis menggunakan
redis-cli.Setelah selesai menguji koneksi ke instance Redis, Anda sebaiknya mempertimbangkan untuk menghapus VM Compute Engine yang Anda gunakan untuk terhubung ke instance Redis. Dengan melakukannya, Anda dapat menghindari biaya yang dikenakan ke akun Penagihan Cloud.
Menghubungkan ke instance Redis yang menggunakan AUTH
Bagian ini menjelaskan cara terhubung ke instance Redis yang mengaktifkan fitur AUTH.
Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan yang sama dengan instance Redis, buat VM dan hubungkan ke VM dengan mengikuti Panduan memulai Menggunakan VM Linux.
Instal
redis-clidi VM Compute Engine dengan menjalankan perintah berikut dari terminal SSH Compute Engine:sudo apt-get install redis-tools
Dapatkan string AUTH instance Anda
Jalankan perintah berikut untuk menggunakan
redis-cliguna mengautentikasi dan terhubung ke instance Anda, dengan mengganti variables dengan nilai yang sesuai:redis-cli -h instance-ip-address -a auth-string
Atau:
redis-cli -h instance-ip-address AUTH auth-string
Jalankan perintah Redis
SETdanGETuntuk memverifikasi bahwa Anda telah membuat koneksi yang diautentikasi ke instance Anda.Setelah selesai menguji koneksi ke instance Redis, Anda sebaiknya mempertimbangkan untuk menghapus VM Compute Engine yang Anda gunakan untuk terhubung ke instance Redis. Dengan melakukannya, Anda dapat menghindari biaya yang dikenakan ke akun Penagihan Cloud.
Menghubungkan ke instance Redis menggunakan endpoint baca
Jika instance Anda mengaktifkan replika baca, Anda dapat terhubung ke endpoint baca menggunakan petunjuk berikut:
Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan yang sama dengan instance Redis, buat VM dan hubungkan ke VM dengan mengikuti Panduan memulai menggunakan VM Linux.
Instal
telnetmenggunakanapt-get:sudo apt-get install telnetUntuk menemukan alamat IP endpoint baca instance Anda, lihat informasi replika baca untuk instance Anda.
Dari terminal, telnet ke alamat IP endpoint baca instance Redis, dengan mengganti variables dengan nilai yang sesuai.
telnet read-endpoint-ip 6379
Jika berhasil, perintah akan menampilkan hasil ini:
Trying read-endpoint-ip… Connected to read-endpoint-ip
Di sesi telnet, masukkan beberapa perintah Redis:
Enter:
PING
Hasil:
PONG
Menghubungkan ke instance Redis dengan aman menggunakan Stunnel dan telnet
Bagian ini memberikan contoh cara terhubung ke instance Redis yang mengaktifkan enkripsi dalam transit menggunakan Stunnel. Stunnel adalah proxy yang menambahkan fungsi enkripsi Transport Layer Security (TLS) ke klien dan server tanpa mengubah kodenya. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Stunnel.
Jika Anda tidak memiliki instance Redis yang mengaktifkan enkripsi dalam transit, buat instance. Untuk mengetahui informasi selengkapnya, lihat Membuat instance Redis dengan enkripsi dalam transit.
Jika Anda tidak memiliki VM Compute Engine yang menggunakan jaringan yang diizinkan yang sama dengan instance Redis dari langkah sebelumnya, buat VM dan hubungkan ke VM. Untuk mengetahui informasi selengkapnya, lihat Membuat instance VM Linux di Compute Engine.
Instal alat yang diperlukan untuk prosedur ini dengan menjalankan perintah berikut:
sudo apt-get install stunnel4
sudo apt-get install telnet
Langkah-langkah yang tersisa dalam prosedur ini terjadi di terminal SSH VM Compute Engine yang Anda buat dan hubungkan, kecuali jika ditentukan lain.
Konfigurasi VM Compute Engine untuk digunakan dengan Stunnel:
Buat file untuk Certificate Authority (CA) Anda dengan menjalankan perintah berikut:
sudo vim /tmp/server_ca.pem
Lihat CA instance Redis Anda dengan menjalankan perintah berikut di terminal standar yang Anda gunakan untuk mengelola Google Cloud resource (bukan terminal Compute Engine):
gcloud redis instances describe INSTANCE_ID --region=REGION
Lakukan penggantian berikut:
- INSTANCE_ID: ID instance Redis Anda
- REGION: region tempat instance berada
Maksimal ada tiga CA.
Salin semua CA, termasuk baris
-----BEGIN CERTIFICATE-----dan baris
-----END CERTIFICATE-----, lalu tempel dan simpan konten di fileserver_ca.pemyang Anda buat.Pastikan teks CA sepenuhnya rata kiri dan tidak ada spasi kosong di awal pada baris CA mana pun.
Buat file untuk informasi konfigurasi Stunnel Anda dengan menjalankan perintah berikut:
sudo vim /etc/stunnel/redis-client.conf
Tempel teks berikut di file, dengan mengganti REDIS_INSTANCE_IP dengan alamat IP instance:
output=/tmp/stunnel.log CAfile=/tmp/server_ca.pem client=yes pid=/var/run/stunnel.pid verifyChain=yes sslVersion=TLSv1.2 [redis] accept=127.0.0.1:6378 connect=REDIS_INSTANCE_IP:6378
Mulai Stunnel dengan menjalankan perintah berikut:
sudo stunnel /etc/stunnel/redis-client.conf
Verifikasi bahwa Stunnel sedang berjalan:
ps aux | grep stunnel
Mulai ulang Stunnel dengan menjalankan perintah berikut:
sudo systemctl restart stunnel4
Anda dapat menggunakan perintah
ps aux | grep stunnelsebelum dan setelah memulai ulang Stunnel untuk mengonfirmasi bahwa memulai ulang berhasil. Jika ID proses Stunell, yang ditampilkan oleh perintahps aux | grep stunnel, berbeda, berarti Stunell berhasil dimulai ulang.
Untuk terhubung ke instance Redis menggunakan telnet, jalankan perintah berikut:
telnet localhost 6378
Di sesi telnet, uji koneksi Anda.
Opsional: Jika instance Anda mengaktifkan Redis AUTH, Anda harus melakukan autentikasi sebelum menguji koneksi.
Jalankan perintah berikut:
AUTH AUTH_STRING
Ganti AUTH_STRING dengan string autentikasi instance.
Hasil:
OK
Jalankan perintah berikut:
PING
Hasil:
PONG
Opsional: Sebagai alternatif untuk telnet, Anda dapat terhubung menggunakan
redis-climelalui port Stunnel lokal dan meneruskan string AUTH.Jalankan perintah berikut:
redis-cli -h 127.0.0.1 -p 6378 -a AUTH_STRING
Menghubungkan dari mesin lokal menggunakan penerusan port
Menghubungkan ke instance Redis dari mesin lokal Anda selama pengembangan dapat bermanfaat. Untuk melakukannya, Anda harus membuat instance Compute Engine untuk digunakan dalam penerusan port ke instance Redis.
Buat instance Compute Engine dengan menjalankan perintah berikut:
gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
Dengan:
- COMPUTE_VM_NAME adalah nama yang Anda tetapkan untuk VM Compute Engine.
- ZONE adalah zona tempat Anda ingin menyediakan VM.
Perintah ini membuat VM Compute Engine dengan jenis mesin
f1-micrountuk efisiensi biaya. Anda dapat memilih jenis mesin lainnya.Buka terminal baru di mesin lokal Anda.
Untuk membuat tunnel SSH yang meneruskan traffic port melalui VM Compute Engine, jalankan perintah berikut:
gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
Dengan:
- COMPUTE_VM_NAME adalah nama VM Compute Engine.
- ZONE adalah zona yang sama dengan tempat VM Compute Engine berada.
- REDIS_INSTANCE_IP_ADDRESS adalah alamat IP instance Redis Anda.
Untuk menguji koneksi, buka jendela terminal baru dan jalankan perintah berikut:
redis-cli ping
Jika berfungsi dengan benar, hasilnya akan menampilkan:
PONG
Anda kini terhubung ke instance Redis, dan dapat mengirim perintah ke instance Redis menggunakan tunnel SSH terbuka ini. Jika Anda belum menginstal
redis-cli, instal agar Anda dapat menjalankan perintah ini.Tunnel SSH tetap terbuka selama Anda menjaga jendela terminal dengan koneksi tunnel SSH tetap aktif dan berjalan.
Menghubungkan ke instance Redis dari cluster Google Kubernetes Engine
Untuk memverifikasi apakah cluster Anda menggunakan IP aliasing, gunakan gcloud container clusters describe.
Anda dapat terhubung ke instance Redis dari cluster Google Kubernetes Engine yang menggunakan jaringan yang diizinkan yang sama dengan instance Redis Anda.
Menghubungkan dari pod yang menjalankan shell bash
- Buka halaman GKE di Google Cloud konsol.
GKE - Klik cluster GKE yang ingin Anda hubungkan. Jika Anda belum memiliki cluster, buat cluster dengan IP alias diaktifkan. Untuk mengetahui petunjuk cara membuat cluster dengan IP alias diaktifkan, lihat Membuat cluster VPC native.
- Klik tombol Connect di sebelah kanan nama cluster Anda, lalu klik tombol Run in Cloud Shell di jendela yang muncul.
- Konfigurasi akses command line
kubectldengan menjalankan perintah berikut:gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
CLUSTER_NAMEadalah nama cluster Anda.CLUSTER_ZONEadalah zona tempat cluster Anda berada. Harus juga merupakan zona tempat instance Redis Anda berada.PROJECT_IDadalah project tempat cluster dan instance Redis Anda berada.
kubeconfig generated for CLUSTER_NAME - Jika cluster Anda adalah versi 1.8 atau yang lebih tinggi dan memiliki IP alias yang diaktifkan, lewati langkah ini. Jika cluster Anda adalah versi 1.7 atau yang lebih rendah, atau cluster versi 1.8 atau yang lebih tinggi tidak mengaktifkan IP alias, ikuti langkah-langkah solusi ini sebelum mencoba terhubung ke instance Anda: Untuk mengetahui informasi selengkapnya tentang IP alias, termasuk cara membuat cluster dengan setelan ini diaktifkan, lihat Membuat cluster VPC native.
- Gunakan perintah berikut untuk terhubung ke shell bash:
kubectl run -i --tty busybox --image=busybox -- sh
- Telnet ke instance Redis Anda menggunakan alamat host dan nomor port:
telnet HOST-IP PORT
- Masukkan perintah Redis dasar untuk memverifikasi koneksi:
PING +PONG
- Untuk menutup koneksi telnet, tekan Control+C (atau Command+C di Mac). Untuk keluar dari shell bash di pod Anda, masukkan return. Jika Anda sudah selesai dan tidak perlu lagi terhubung ke Redis, jalankan perintah berikut dari direktori
/k8s-custom-iptables/:./uninstall.sh
Menghubungkan ke instance Redis dari pod Google Kubernetes Engine
Sebelum memulai, Anda memerlukan cluster GKE. Jika Anda belum memiliki cluster, buat cluster dengan IP alias diaktifkan. Untuk mengetahui petunjuk cara membuat cluster dengan IP alias diaktifkan, lihat Membuat cluster VPC native.
- Dari pojok kanan atas konsol, klik Activate Cloud Shell
tombol. - Konfigurasi akses command line
kubectldengan menjalankan perintah berikut:gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
CLUSTER_NAMEadalah nama cluster Anda.CLUSTER_ZONEadalah zona tempat cluster Anda berada. Harus juga merupakan zona tempat instance Redis Anda berada.PROJECT_IDadalah project tempat cluster dan instance Redis Anda berada.
kubeconfig generated for CLUSTER_NAME - Jika cluster Anda adalah versi 1.8 atau yang lebih tinggi dan memiliki IP alias yang diaktifkan, lewati langkah ini. Jika cluster Anda adalah versi 1.7 atau yang lebih rendah, atau cluster versi 1.8 atau yang lebih tinggi tidak mengaktifkan IP alias, ikuti langkah-langkah solusi ini sebelum mencoba terhubung ke instance Anda: Untuk mengetahui informasi selengkapnya tentang IP alias, termasuk cara membuat cluster dengan setelan ini diaktifkan, lihat Membuat cluster VPC native.
- Gunakan perintah berikut untuk memulai pod Redis yang menjalankan
redis-cli:kubectl run -i --tty redisbox --image=redis:7.2 -- sh
- Jalankan perintah
redis-cli, dengan menggantiHOST-IPdengan alamat IP host instance Redis Anda:redis-cli -h HOST-IP info
- Secara opsional, jalankan perintah benchmark Redis, dengan mengganti
HOST-IPdengan alamat IP host instance Redis Anda:redis-benchmark -c 100 -n 100000 -d 1024 -r 100000 -t PING,SET,GET,INCR,LPUSH,RPUSH,LPOP,RPOP,SADD,SPOP,MSET -h HOST-IP -q
- Untuk keluar dari pod Redis, masukkan
return. Jika Anda sudah selesai dan tidak perlu lagi terhubung ke Redis, jalankan perintah berikut dari direktori/k8s-custom-iptables/:./uninstall.sh
Langkah berikutnya
Hubungkan ke instance Redis Anda menggunakan aplikasi contoh yang berjalan di:
- Compute Engine
- GKE
- Cloud Run
- Lingkungan standar App Engine
- Lingkungan fleksibel App Engine
- Cloud Run Functions