Anda dapat terhubung ke instance Redis dari Cloud Run Functions 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 initIkuti 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, Cloud Run Function 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.
Contoh fungsi
Contoh fungsi ini membuat koneksi ke instance Redis dari Cloud Run Functions.
Kloning 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
github.com/gomodule/redigo/redis
klien.
Node.js
Fungsi ini menggunakan redis
modul.
Python
Fungsi ini menggunakan paket
redis-py.
Men-deploy contoh ke Cloud Run Functions
Untuk men-deploy fungsi tersebut:
Salin
Dockerfileke direktori sumber:cp ../../../memorystore/redis/cloud_run_deployment/Dockerfile .Build image container menggunakan Cloud Build dengan menjalankan perintah berikut:
gcloud artifacts repositories create --location REPO_REGION --repository-format=docker REPO_ID gcloud builds submit --pack image=REPO_REGION-docker.pkg.dev/PROJECT_ID/REPO_ID/visit-counter:v1,builder=gcr.io/buildpacks/builder:latest,env=GOOGLE_FUNCTION_SIGNATURE_TYPE=http,env=GOOGLE_FUNCTION_TARGET=VisitCount
Deploy container ke Cloud Run dengan menjalankan perintah berikut:
gcloud run deploy \ --image REPO_REGION-docker.pkg.dev/PROJECT_ID/REPO_ID/visit-counter:v1 \ --allow-unauthenticated \ --region REGION \ --network NETWORK \ --subnet SUBNET \ --set-env-vars REDISHOST=REDIS_IP,REDISPORT=REDIS_PORT
dengan:
REPO_REGIONadalah region repositori.REPO_IDadalah nama repositori yang berisi image aplikasi.PROJECT_IDadalah ID project Anda Google Cloud .REGIONadalah region tempat instance Redis Anda berada.NETWORKadalah nama jaringan VPC resmi yang terlampir ke instance Redis Anda.SUBNETadalah nama subnet Anda. Subnet harus berukuran/26atau lebih besar. Egress Direct VPC mendukung RFC 1918, RFC 6598, dan rentang IPv4 Class E.REDIS_IPdanREDIS_PORTadalah 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 memicu fungsi dengan mengirimkan permintaan GET ke URL-nya.