Puoi connetterti all'istanza Redis dalle istanze VM di Compute Engine che utilizzano la stessa rete autorizzata della tua istanza Redis.
Configurazione
Se hai già installato Google Cloud CLI, creato un'istanza Redis e un bucket Cloud Storage, puoi saltare questi passaggi.
Installa gcloud CLI e inizializza:
gcloud init
Segui la guida rapida per creare un'istanza Redis. Prendi nota della zona, dell'indirizzo IP e della porta dell'istanza Redis.
Crea un bucket Cloud Storage in cui verrà caricato l'artefatto dell'applicazione per questa applicazione di esempio. Per saperne di più, consulta Creare bucket.
Configurazione delle impostazioni gcloud per l'applicazione di esempio
- Imposta il progetto predefinito
gcloud
sul progetto dell'app di esempio.gcloud config set project [PROJECT_ID]
Applicazione di esempio
Questa applicazione server HTTP di esempio stabilisce una connessione a un'istanza Redis da un'istanza VM di Compute Engine.
Clona il repository per il linguaggio di programmazione desiderato e vai alla cartella che contiene il codice campione:
Go
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
Java
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
Node.js
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
Python
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
Questa applicazione di esempio incrementa un contatore Redis ogni volta che si accede all'endpoint /
.
Go
Questa applicazione utilizza il client github.com/gomodule/redigo/redis
. Installalo eseguendo questo comando:
go get github.com/gomodule/redigo/redis
Java
Questa applicazione è basata su servlet Jetty 3.1.
Utilizza la libreria Jedis:
La classe AppServletContextListener
viene utilizzata per creare un pool di connessioni Redis di lunga durata:
La classe VisitCounterServlet
è un servlet web che incrementa un contatore Redis:
Node.js
Questa applicazione utilizza il modulo redis
.
Python
Questa applicazione utilizza Flask per la pubblicazione web e il pacchetto redis-py
per comunicare con l'istanza Redis.
Deployment dell'applicazione su una VM di Compute Engine
Vai alla directory gce_deployment
:
cd gce_deployment
Lo script di deployment carica l'artefatto nel percorso Cloud Storage. Quindi avvia un'istanza Compute Engine, creando un firewall per esporre la porta 8080. Quindi lo script di avvio prepara l'istanza.
Ecco uno script di deployment di esempio che esegue il deployment di questa applicazione su una nuova istanza VM di Compute Engine.
Go
Imposta le variabili di ambiente in modo che puntino all'IP e alla porta dell'istanza Redis gestita:
export REDISHOST=XXX.XXX.XXX.XXX
export REDISPORT=6379
Java
Node.js
Imposta le variabili di ambiente in modo che puntino all'IP e alla porta dell'istanza Redis gestita:
export REDISHOST=XXX.XXX.XXX.XXX
export REDISPORT=6379
Python
Imposta le variabili di ambiente in modo che puntino all'IP e alla porta dell'istanza Redis gestita:
export REDISHOST=XXX.XXX.XXX.XXX
export REDISPORT=6379
Imposta la variabile di ambiente GCS_BUCKET_NAME:
export GCS_BUCKET_NAME=[BUCKET_NAME]/[PATH]
dove:
BUCKET_NAME
è il nome del tuo bucket Cloud Storage.PATH
è un percorso facoltativo per la directory in cui vuoi archiviare l'artefatto dell'applicazione.
Esegui lo script di deployment:
chmod +x deploy.sh
./deploy.sh
Script di avvio dell'applicazione
Questo script di avvio viene utilizzato nello script di deployment di esempio per preparare l'istanza. Per ulteriori informazioni sugli script di avvio e sulla visualizzazione dei log di esecuzione dello script di avvio, consulta Esecuzione degli script di avvio.
Go
Java
Node.js
Python
Il deployment dell'applicazione di esempio nell'istanza Compute Engine appena creata potrebbe richiedere diversi minuti.
Quando l'istanza è pronta e l'esecuzione dello script di avvio, vai alla pagina Istanze Compute Engine e copia l'indirizzo IP esterno.
Per visualizzare l'app di esempio di cui hai eseguito il deployment, visita http://[EXTERNAL-IP]:8080
Puoi utilizzare lo script teardown.sh
per eliminare l'istanza e il firewall creati dallo script di deployment: