Puoi connetterti a un'istanza Redis dall'ambiente standard App Engine utilizzando Accesso VPC serverless.
Configurazione
Se hai già installato Google Cloud CLI e hai creato un'istanza Redis, puoi saltare questi passaggi.
Installa l'interfaccia a riga di comando gcloud 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.
Configurazione dell'accesso VPC serverless
Per connetterti dall'app App Engine all'istanza Redis sulla rete VPC autorizzata, devi configurare l'accesso VPC serverless.
Per trovare la rete autorizzata della tua istanza Redis, esegui il comando:
gcloud beta redis instances describe [INSTANCE_ID] --region [REGION]
Segui le istruzioni riportate in Creare un connettore per creare un connettore di accesso VPC serverless. Assicurati di crea il connettore nella stessa regione dell'app e assicurati che è collegato alla rete VPC autorizzata dell'istanza Redis. Ricorda il nome del connettore.
Applicazione di esempio
Questa applicazione di server HTTP di esempio stabilisce una connessione a un'istanza Redis da un'app per l'ambiente standard di App Engine.
Clona il repository per il linguaggio di programmazione che preferisci e vai alla cartella contenente il codice di esempio:
Vai
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 l'endpoint /
a cui si accede.
Vai
Questa applicazione utilizza il client
github.com/gomodule/redigo/redis
. Installalo eseguendo il seguente 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'istanza
Pool di connessioni Redis:
La classe VisitCounterServlet
è un servlet web che incrementa
un contatore Redis:
Node.js
Questa applicazione utilizza la classe redis
in maggior dettaglio più avanti
in questo modulo.
Python
Questa applicazione utilizza Flask
per la pubblicazione web e redis-py
per comunicare con l'istanza Redis.
Preparazione dell'applicazione per il deployment
Per accedere all'istanza Redis, l'app App Engine deve essere configurata per utilizzare il connettore di accesso VPC serverless, fornisci i dettagli della connessione dell'istanza Redis.
Se non ne hai già uno, crea un Applicazione App Engine.
Aggiorna la configurazione dell'app per specificare il connettore di accesso VPC serverless e l'indirizzo IP e la porta della tua istanza Redis:
Vai
Aggiorna il file
gae_standard_deployment/app.yaml
:Per maggiori dettagli, consulta File di configurazione app.yaml.
Java
Aggiorna il file
gae_standard_deployment/appengine-web.xml
per specificare il connettore di accesso VPC serverless:Aggiorna il file
src/main/resources/application.properties
con l'indirizzo IP e la porta della tua istanza Redis:Per ulteriori informazioni sulla configurazione dell'app, vedi Riferimento appengine-web.xml.
Node.js
Aggiorna il file
gae_standard_deployment/app.yaml
:Per maggiori dettagli, consulta File di configurazione app.yaml.
Python
Aggiorna il file
gae_standard_deployment/app.yaml
:Per maggiori dettagli, consulta File di configurazione app.yaml.
Deployment dell'applicazione nell'ambiente standard di App Engine
Per eseguire il deployment dell'applicazione:
Copia i file di configurazione necessari nella directory di origine:
Vai
Copia i file
app.yaml
ego.mod
nella directory di origine:cp gae_standard_deployment/{app.yaml,go.mod} .
Java
Copia il file
appengine-web.xml
nella directory di origine:mkdir -p src/main/webapp/WEB-INF cp gae_standard_deployment/appengine-web.xml src/main/webapp/WEB-INF/
Node.js
Copia il file
app.yaml
nella directory di origine:cp gae_standard_deployment/app.yaml .
Python
Copia il file
app.yaml
nella directory di origine:cp gae_standard_deployment/app.yaml .
Esegui il comando di deployment:
Vai
gcloud app deploy
Java
mvn package appengine:stage gcloud app deploy target/appengine-staging/app.yaml
Node.js
gcloud app deploy
Python
gcloud app deploy
Al termine del deployment, il comando restituirà l'URL in cui puoi visita la tua app. Se visiti questo URL, vedrai il conteggio sul tuo Redis dell'istanza ogni volta che viene caricata la pagina.