Menghubungkan ke instance Redis

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 selama pengiriman. Terakhir, halaman ini berisi petunjuk cara menghubungkan dari lingkungan Google Kubernetes Engine.

Untuk mengetahui daftar lingkungan Google Cloud yang didukung Memorystore for Redis, lihat Lingkungan yang didukung. Beberapa lingkungan serverless 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 Redis dari VM Compute Engine apa pun yang menggunakan jaringan resmi instance Redis dengan alamat IP RFC 1918 yang didukung.

  1. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan resmi yang sama dengan instance Redis, buat dan hubungkan ke VM Compute Engine dengan mengikuti Panduan Memulai menggunakan VM Linux.

  2. Instal telnet menggunakan apt-get:

    sudo apt-get install telnet
    
  3. Dari terminal, telnet ke alamat IP instance Redis, yang mengganti variables dengan nilai yang sesuai.

    telnet instance-ip-address 6379
    

    Jika berhasil, perintah akan menampilkan hasil ini:

    Trying instance-ip-address…
    Connected to instance-ip-address
    
  4. Dalam 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 apa pun yang menggunakan jaringan resmi instance Redis dengan alamat IP RFC 1918 yang didukung.

  1. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan terotorisasi untuk instance Redis Anda, buat dan hubungkan ke VM Compute Engine dengan mengikuti Membuat instance VM di subnet tertentu.

  2. Instal redis-cli di VM Compute Engine dengan menjalankan perintah berikut dari terminal SSH Compute Engine:

    sudo apt-get install redis-tools
    
  3. 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.

  4. Setelah selesai menguji koneksi ke instance Redis, sebaiknya Anda mempertimbangkan untuk menghapus VM Compute Engine yang Anda gunakan untuk terhubung ke instance Redis. Langkah ini membantu Anda menghindari timbulnya biaya pada akun Penagihan Cloud Anda.

Menghubungkan ke instance Redis yang menggunakan AUTH

Bagian ini menjelaskan cara menghubungkan ke instance Redis yang mengaktifkan fitur AUTH.

  1. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan resmi yang sama dengan instance Redis, buat dan hubungkan ke VM Compute Engine dengan mengikuti Panduan Memulai Menggunakan VM Linux.

  2. Instal redis-cli di VM Compute Engine dengan menjalankan perintah berikut dari terminal SSH Compute Engine:

    sudo apt-get install redis-tools
    
  3. Mendapatkan string AUTH instance

  4. Jalankan perintah berikut untuk menggunakan redis-cli guna 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
    
  5. Jalankan perintah SET dan GET Redis untuk memverifikasi bahwa Anda telah membuat koneksi yang diautentikasi ke instance Anda.

  6. Setelah selesai menguji koneksi ke instance Redis, sebaiknya Anda mempertimbangkan untuk menghapus VM Compute Engine yang Anda gunakan untuk terhubung ke instance Redis. Langkah ini membantu Anda menghindari timbulnya biaya pada akun Penagihan Cloud Anda.

Menghubungkan ke instance Redis menggunakan endpoint baca

Jika instance telah mengaktifkan replika baca, Anda dapat terhubung ke endpoint baca menggunakan petunjuk berikut:

  1. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan resmi yang sama dengan instance Redis, buat dan hubungkan ke VM Compute Engine dengan mengikuti Panduan Memulai menggunakan VM Linux.

  2. Instal telnet menggunakan apt-get:

    sudo apt-get install telnet
    
  3. Temukan alamat IP endpoint baca instance Anda dengan Melihat informasi replika baca untuk instance Anda.

  4. Dari terminal, telnet ke alamat IP endpoint baca dari instance Redis, yang 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
    
  5. Dalam 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 pengiriman menggunakan Stunnel.

  1. Jika Anda belum memiliki instance Redis yang mengaktifkan enkripsi dalam pengiriman, buatlah dengan mengikuti petunjuk Membuat instance Redis dengan enkripsi dalam pengiriman.

  2. Jika Anda belum memiliki VM Compute Engine yang menggunakan jaringan resmi yang sama dengan instance Redis dari langkah sebelumnya, buat VM Compute Engine dan hubungkan ke VM tersebut dengan mengikuti Panduan Memulai Menggunakan VM Linux.

    1. Instal alat yang diperlukan untuk panduan ini dengan menjalankan perintah berikut:

      sudo apt-get install stunnel4
      
      sudo apt-get install telnet
      
  3. Konfigurasi VM Compute Engine Anda untuk digunakan dengan Stunnel:

    1. Buat file baru untuk menempatkan Certificate Authority (CA) dengan menjalankan perintah berikut:

      sudo vim /tmp/server_ca.pem
      
    2. Lihat Certificate Authority instance Redis Anda dengan menjalankan perintah berikut di terminal standar yang Anda gunakan untuk mengelola resource Google Cloud (bukan terminal Compute Engine):

      gcloud redis instances describe instance-id --region=region
      

      Mungkin ada hingga tiga CA.

    3. Salin semua Certificate Authority yang terlihat, termasuk baris -----BEGIN CERTIFICATE----- dan baris -----END CERTIFICATE-----, lalu tempel dan simpan file server_ca.pem yang Anda buat sebelumnya.

    4. Buat file baru untuk memasukkan informasi konfigurasi Stunnel dengan menjalankan perintah berikut:

      sudo vim /etc/stunnel/redis-client.conf
      

      Tempel teks berikut dalam file, yang menggantikan redis-instance-ip dengan alamat IP instance Redis:

      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
      

    5. Mulai ulang Stunnel dengan menjalankan perintah berikut:

      sudo systemctl restart stunnel4
      
  4. Untuk terhubung ke instance Redis menggunakan Telnet, jalankan perintah berikut:

    telnet localhost 6378
    
  5. Dalam sesi Telnet, lakukan ping ke instance Redis:

    Enter:

    PING
    

    Hasil:

    PONG
    

Menghubungkan dari mesin lokal dengan penerusan port

Sebaiknya hubungkan ke instance Redis dari mesin lokal Anda selama pengembangan. Untuk melakukannya, Anda harus membuat instance Compute Engine yang akan digunakan untuk penerusan port ke instance Redis.

  1. Buat instance Compute Engine dengan menjalankan perintah berikut:

    gcloud compute instances create COMPUTE_VM_NAME --machine-type=f1-micro --zone=ZONE
    

    Dengan keterangan:

    • COMPUTE_VM_NAME adalah nama yang Anda tetapkan untuk VM Compute Engine.
    • ZONE adalah zona tempat Anda ingin menyediakan VM.

    Perintah ini akan membuat VM Compute Engine dengan jenis mesin f1-micro demi efektivitas biaya. Anda dapat memilih jenis mesin lainnya jika ingin.

  2. Buka terminal baru di komputer lokal Anda.

  3. Untuk membuat tunnel SSH pada port yang meneruskan traffic melalui VM Compute Engine, jalankan perintah berikut:

    gcloud compute ssh COMPUTE_VM_NAME --zone=ZONE -- -N -L 6379:REDIS_INSTANCE_IP_ADDRESS:6379
    

    Dengan keterangan:

    • COMPUTE_VM_NAME adalah nama VM Compute Engine.
    • ZONE adalah zona yang sama tempat VM Compute Engine berada.
    • REDIS_INSTANCE_IP_ADDRESS adalah alamat IP instance Redis.
  4. Untuk menguji koneksi, buka jendela terminal baru dan jalankan perintah berikut:

    redis-cli ping
    

    Jika berfungsi dengan benar, hasilnya akan menampilkan:

    PONG
    

    Sekarang Anda terhubung ke instance Redis, dan Anda dapat mengirimkan perintah ke instance Redis menggunakan tunnel SSH yang terbuka ini. Jika Anda belum menginstal redis-cli, instal agar Anda dapat menjalankan perintah ini.

  5. Tunnel SSH akan tetap terbuka selama Anda menjaga jendela terminal dengan koneksi tunnel SSH tetap aktif dan berjalan.

Terhubung ke instance Redis dari cluster Google Kubernetes Engine

Anda dapat terhubung ke instance Redis dari cluster Google Kubernetes Engine yang menggunakan jaringan resmi yang sama dengan instance Redis Anda.

Menghubungkan dari pod yang menjalankan bash shell

  1. Buka halaman GKE di konsol Google Cloud.
    GKE
  2. Klik cluster GKE yang ingin Anda hubungkan. Jika Anda belum memiliki cluster, buatlah cluster dengan alias IP yang diaktifkan. Untuk mengetahui petunjuk cara membuat cluster dengan alias IP yang diaktifkan, lihat Membuat cluster VPC native.
  3. Klik tombol Connect di sebelah kanan nama cluster Anda, lalu klik tombol Run in Cloud Shell di jendela yang muncul.
  4. Konfigurasikan akses command line kubectl dengan menjalankan perintah berikut:
    gcloud container clusters get-credentials CLUSTER_NAME --zone=CLUSTER_ZONE --project=PROJECT_ID
    • CLUSTER_NAME adalah nama cluster Anda.
    • CLUSTER_ZONE adalah zona tempat cluster Anda berada. Juga harus berupa zona tempat instance Redis Anda berada.
    • PROJECT_ID adalah project tempat cluster dan instance Redis Anda berada.
    Anda akan mendapatkan pesan berhasil: kubeconfig generated for CLUSTER_NAME
  5. Jika cluster Anda merupakan versi 1.8 atau yang lebih tinggi dan mengaktifkan alias IP, lewati langkah ini. Jika cluster Anda adalah versi 1.7 atau yang lebih lama, atau cluster versi 1.8 atau yang lebih tinggi tidak mengaktifkan alias IP, ikuti langkah-langkah solusi berikut sebelum mencoba terhubung ke instance Anda: Untuk mengetahui informasi selengkapnya tentang alias IP, termasuk cara membuat cluster dengan setelan ini diaktifkan, lihat Membuat cluster VPC native.
  6. Gunakan perintah berikut untuk menghubungkan ke bash shell:
    kubectl run -i --tty busybox --image=busybox -- sh
  7. Telnet ke instance Redis Anda menggunakan alamat host dan nomor port:
    telnet HOST-IP PORT
  8. Masukkan perintah Redis dasar untuk memverifikasi koneksi:
    PING
    +PONG
  9. Untuk menutup koneksi telnet, tekan Control+C (atau Command+C di Mac). Untuk keluar dari bash shell di pod Anda, masukkan return. Jika Anda telah selesai dan tidak perlu lagi terhubung ke Redis, jalankan perintah berikut dari direktori /k8s-custom-iptables/:
    ./uninstall.sh

Terhubung ke instance Redis dari pod Google Kubernetes Engine

Sebelum memulai, Anda memerlukan cluster GKE. Jika Anda belum memiliki cluster, buat cluster dengan alias IP yang diaktifkan. Untuk mengetahui petunjuk cara membuat cluster dengan alias IP yang diaktifkan, lihat Membuat cluster VPC native.

  1. Dari pojok kanan atas konsol, klik tombol Activate Cloud Shell Mengaktifkan Cloud Shell.
  2. Konfigurasikan akses command line kubectl dengan menjalankan perintah berikut:
    gcloud container clusters get-credentials CLUSTER_NAME --zone CLUSTER_ZONE --project PROJECT_ID
    • CLUSTER_NAME adalah nama cluster Anda.
    • CLUSTER_ZONE adalah zona tempat cluster Anda berada. Juga harus berupa zona tempat instance Redis Anda berada.
    • PROJECT_ID adalah project tempat cluster dan instance Redis Anda berada.
    Anda akan mendapatkan pesan berhasil: kubeconfig generated for CLUSTER_NAME
  3. Jika cluster Anda merupakan versi 1.8 atau yang lebih tinggi dan mengaktifkan alias IP, lewati langkah ini. Jika cluster Anda adalah versi 1.7 atau yang lebih lama, atau cluster versi 1.8 atau yang lebih tinggi tidak mengaktifkan alias IP, ikuti langkah-langkah solusi berikut sebelum mencoba terhubung ke instance Anda: Untuk mengetahui informasi selengkapnya tentang alias IP, termasuk cara membuat cluster dengan setelan ini diaktifkan, lihat Membuat cluster VPC native.
  4. Gunakan perintah berikut untuk memulai pod Redis yang menjalankan redis-cli:
    kubectl run -i --tty redisbox --image=gcr.io/google_containers/redis:v1 -- sh
  5. Jalankan perintah redis-cli, dengan mengganti HOST-IP dengan alamat IP host instance Redis Anda:
    redis-cli -h HOST-IP info
  6. Secara opsional, jalankan perintah Redis benchmark, sekali lagi dengan mengganti HOST-IP dengan 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
  7. Untuk keluar dari pod Redis, masukkan return. Jika Anda telah selesai dan tidak perlu lagi terhubung ke Redis, jalankan perintah berikut dari direktori /k8s-custom-iptables/:
    ./uninstall.sh

Langkah selanjutnya

Hubungkan ke instance Redis Anda menggunakan aplikasi contoh yang berjalan pada: