Puoi connetterti a un'istanza Redis dalle funzioni Cloud Run utilizzando il traffico in uscita VPC diretto.
Configurazione
Se hai già installato Google Cloud CLI e creato un'istanza Redis, puoi saltare questi passaggi.
Installa gcloud CLI e inizializza:
gcloud initSegui la guida rapida per creare un'istanza Redis. Prendi nota della zona, dell'indirizzo IP e della porta dell'istanza Redis.
Prepara l'uscita della rete VPC per la configurazione
Per connettersi all'istanza Redis, la funzione Cloud Run deve avere accesso alla rete VPC autorizzata dell'istanza Redis.
Per trovare il nome di questa rete, esegui il seguente comando:
gcloud redis instances describe INSTANCE_ID --region REGION --format "value(authorizedNetwork)"
Prendi nota del nome della rete.
Funzione SAMPLE
Questa funzione di esempio stabilisce una connessione a un'istanza Redis da Cloud Run Functions.
Clona il repository per il linguaggio di programmazione che preferisci e vai alla cartella che contiene il codice campione:
Vai
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
Il codice campione incrementa un contatore Redis ogni volta che viene attivata la funzione:
Vai
Questa funzione utilizza il
client github.com/gomodule/redigo/redis.
Node.js
Questa funzione utilizza il modulo redis.
Python
Questa funzione utilizza il pacchetto
redis-py.
Deployment dell'esempio in Cloud Run Functions
Per eseguire il deployment della funzione:
Copia
Dockerfilenella directory di origine:cp cloud_run_deployment/Dockerfile .Crea un'immagine container utilizzando Cloud Build eseguendo il seguente comando:
gcloud builds submit --tag gcr.io/PROJECT_ID/visit-count
Esegui il deployment del container in Cloud Run eseguendo questo comando:
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_PORTdove:
PROJECT_IDè l'ID del tuo progetto Google Cloud .REGIONè la regione in cui si trova l'istanza Redis.NETWORKè il nome della rete VPC autorizzata a cui è collegata l'istanza Redis.SUBNETè il nome della subnet. La subnet deve essere/26o superiore. L'uscita VPC diretta supporta gli intervalli RFC 1918, RFC 6598 e IPv4 di classe E.REDIS_IPeREDIS_PORTsono l'indirizzo IP e il numero di porta dell'istanza Redis.
Al termine del deployment della funzione, recupera l'URL della funzione:
gcloud run services describe visit-count \ --region=REGION
Puoi vedere il contatore aumentare ogni volta che attivi la funzione inviando
una richiesta GET al suo URL.