Anda dapat terhubung ke instance Redis dari fungsi Cloud Run menggunakan traffic keluar VPC Langsung.
Penyiapan
Jika Anda telah menginstal Google Cloud CLI dan membuat instance Redis, Anda dapat melewati langkah-langkah ini.
Instal gcloud CLI dan lakukan inisialisasi:
gcloud init
Ikuti Panduan Memulai Cepat untuk membuat instance Redis. Catat zona, alamat IP, dan port instance Redis.
Menyiapkan traffic keluar jaringan VPC untuk konfigurasi
Agar terhubung ke instance Redis, fungsi Cloud Run Anda harus memiliki akses ke jaringan VPC resmi instance Redis.
Untuk menemukan nama jaringan ini, jalankan perintah berikut:
gcloud redis instances describe INSTANCE_ID --region REGION --format "value(authorizedNetwork)"
Catat nama jaringan.
Fungsi contoh
Fungsi contoh ini membuat koneksi ke instance Redis dari fungsi Cloud Run.
Buat clone repositori untuk bahasa pemrograman yang Anda inginkan dan buka folder yang berisi kode contoh:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/functions/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/functions/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/functions/memorystore/redis
Kode contoh menambahkan penghitung Redis setiap kali fungsi dipicu:
Go
Fungsi ini menggunakan klien
github.com/gomodule/redigo/redis
.
Node.js
Fungsi ini menggunakan modul redis
.
Python
Fungsi ini menggunakan paket
redis-py
.
Men-deploy sampel ke fungsi Cloud Run
Untuk men-deploy fungsi tersebut:
Salin
Dockerfile
ke direktori sumber:cp cloud_run_deployment/Dockerfile .
Bangun image container menggunakan Cloud Build dengan menjalankan perintah berikut:
gcloud builds submit --tag gcr.io/PROJECT_ID/visit-count
Deploy container ke Cloud Run dengan menjalankan perintah berikut:
gcloud run deploy \ --image gcr.io/PROJECT_ID/visit-count \ --allow-unauthenticated \ --region REGION \ --network NETWORK \ --subnet SUBNET \ --set-env-vars REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
dengan:
PROJECT_ID
adalah ID Google Cloud project's Anda.REGION
adalah region tempat instance Redis Anda berada.NETWORK
adalah nama jaringan VPC resmi yang terhubung ke instance Redis Anda.SUBNET
adalah nama subnet Anda. Subnet harus berukuran/26
atau lebih besar. Traffic keluar VPC langsung mendukung rentang IPv4 RFC 1918, RFC 6598, dan Class E.REDIS_IP
danREDIS_PORT
adalah alamat IP dan nomor port instance Redis Anda.
Setelah deployment fungsi selesai, ambil URL fungsi Anda:
gcloud run services describe visit-count \ --region=REGION
Anda dapat melihat penghitung bertambah setiap kali Anda memicu fungsi dengan mengirim
permintaan GET
ke URL-nya.