Las aplicaciones de App Engine deben estar en la misma red autorizada que la instancia de Redis para poder acceder a ella.
Configuración
Si ya has instalado la CLI de Google Cloud y has creado una instancia de Redis, puedes saltarte estos pasos.
Instala gcloud CLI e inicialízala:
gcloud init
Sigue la guía de inicio rápido para crear una instancia de Redis. Anota la zona, la dirección IP y el puerto de la instancia de Redis.
Aplicación de ejemplo
Esta aplicación de servidor HTTP de ejemplo establece una conexión con una instancia de Redis desde una instancia del entorno flexible de App Engine.
Clona el repositorio del lenguaje de programación que quieras y ve a la carpeta que contiene el código de ejemplo:
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
Esta aplicación de ejemplo incrementa un contador de Redis cada vez que se accede al endpoint /
.
Go
Esta aplicación usa el cliente de
github.com/gomodule/redigo/redis
. Para instalarlo, ejecuta el siguiente comando:
go get github.com/gomodule/redigo/redis
Java
Esta aplicación se basa en servlets de Jetty 3.1.
Usa la biblioteca Jedis:
La clase AppServletContextListener
se usa para crear un grupo de conexiones de Redis de larga duración:
La clase VisitCounterServlet
es un servlet web que incrementa un contador de Redis:
Node.js
Esta aplicación usa el módulo redis
.
Python
Esta aplicación usa Flask
para el servicio web y el paquete redis-py
para comunicarse con la instancia de Redis.
Preparar la aplicación para el despliegue
Para acceder a la instancia de Redis, la instancia de App Engine debe implementarse en la misma red autorizada que la instancia de Redis, y debes proporcionar los detalles de conexión de la instancia de Redis. Para encontrar la red autorizada, la dirección IP y el puerto de tu instancia de Redis, ejecuta el siguiente comando:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Crea una aplicación de App Engine.
Actualiza la configuración de la aplicación para especificar la dirección IP, el puerto y la red de tu instancia de Redis:
Go
Actualiza el archivo de
gae_flex_deployment/app.yaml
:Para obtener más información, consulta Configurar tu aplicación con app.yaml.
Java
Actualiza el archivo
gae_flex_deployment/app.yaml
para especificar la red de tu instancia de Redis:Actualiza el archivo
src/main/resources/application.properties
con la dirección IP y el puerto de tu instancia de Redis:Para obtener más información sobre cómo configurar tu aplicación, consulta Configurar tu aplicación con app.yaml.
Node.js
Actualiza el archivo de
gae_flex_deployment/app.yaml
:Para obtener más información, consulta Configurar tu aplicación con app.yaml.
Python
Actualiza el archivo de
gae_flex_deployment/app.yaml
:Para obtener más información, consulta Configurar tu aplicación con app.yaml.
Desplegar la aplicación en el entorno flexible de App Engine
Para desplegar la aplicación, sigue estos pasos:
Copia los archivos de configuración necesarios en el directorio de origen:
Go
Copia el archivo
app.yaml
en el directorio de origen:cp gae_flex_deployment/app.yaml .
Java
Copia el archivo
app.yaml
en el directorio de origen:mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
Copia el archivo
app.yaml
en el directorio de origen:cp gae_flex_deployment/app.yaml .
Python
Copia el archivo
app.yaml
en el directorio de origen:cp gae_flex_deployment/app.yaml .
Ejecuta el comando de implementación:
Go
gcloud app deploy
Este proceso puede tardar unos minutos…
Java
mvn appengine:deploy
Este proceso puede tardar unos minutos…
Node.js
gcloud app deploy
Este proceso puede tardar unos minutos…
Python
gcloud app deploy
Este proceso puede tardar unos minutos…
Una vez finalizada la implementación, visita tu aplicación en la siguiente URL. Sustituye [PROJECT_ID]
por el ID de tu proyecto Google Cloud :
https://[PROJECT_ID].appspot.com
El recuento de tu instancia de Redis aumenta cada vez que se visita la aplicación.