Las aplicaciones de App Engine deben estar en la misma red autorizada que la instancia de Redis para acceder a ella.
Configuración
Si ya instalaste Google Cloud CLI y creaste una instancia de Redis, puedes omitir estos pasos.
Instala la CLI de gcloud y realiza la inicialización:
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 muestra
Esta aplicación de servidor HTTP de muestra establece una conexión con una instancia de Redis desde una instancia de entorno flexible de App Engine.
Clona el repositorio de tu lenguaje de programación deseado y navega a la carpeta que contiene el código de muestra:
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 muestra aumenta un contador de Redis cada vez que se accede al extremo /
.
Go
En esta aplicación, se usa el cliente github.com/gomodule/redigo/redis
. Para instalarla, ejecuta el siguiente comando:
go get github.com/gomodule/redigo/redis
Java
Esta aplicación se basa en el servlet Jetty 3.1.
Usa la biblioteca de 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
En esta aplicación, se usa el módulo redis
.
Python
Esta aplicación usa Flask para la entrega web y el paquete redis-py
a fin de comunicarse con la instancia de Redis.
Preparar la aplicación para la implementación
Para acceder a la instancia de Redis, la instancia de App Engine debe implementarse en la misma red que la instancia de Redis, y debes proporcionar los detalles de conexión de tu instancia de Redis. Para encontrar la red, la dirección IP y el puerto autorizados de tu instancia de Redis, ejecuta el siguiente comando:
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Crear 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 la instancia de Redis:
Go
Actualiza el archivo
gae_flex_deployment/app.yaml
:Consulta Configurar tu aplicación con app.yaml para obtener más detalles.
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
mediante la dirección IP y el puerto de tu instancia de Redis:Para obtener más información sobre cómo configurar tu app, consulta Configura tu app con app.yaml.
Node.js
Actualiza el archivo
gae_flex_deployment/app.yaml
:Consulta Configurar tu aplicación con app.yaml para obtener más detalles.
Python
Actualiza el archivo
gae_flex_deployment/app.yaml
:Consulta Configurar tu aplicación con app.yaml para obtener más detalles.
Implementa la app en el entorno flexible de App Engine
Para implementar la aplicación, haz lo siguiente:
Copia los archivos de configuración necesarios en el directorio del código fuente:
Go
Copia el archivo
app.yaml
en el directorio fuente:cp gae_flex_deployment/app.yaml .
Java
Copia el archivo
app.yaml
en el directorio fuente:mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
Copia el archivo
app.yaml
en el directorio fuente:cp gae_flex_deployment/app.yaml .
Python
Copia el archivo
app.yaml
en el directorio fuente:cp gae_flex_deployment/app.yaml .
Ejecuta el comando de implementación:
Go
gcloud app deploy
Esto puede llevar algunos minutos.
Java
mvn appengine:deploy
Esto puede llevar algunos minutos.
Node.js
gcloud app deploy
Esto puede llevar algunos minutos.
Python
gcloud app deploy
Esto puede llevar algunos minutos.
Una vez que se complete la implementación, visita tu app en la siguiente URL y reemplaza [PROJECT_ID]
por el ID del proyecto de Google Cloud:
https://[PROJECT_ID].appspot.com
El conteo en tu instancia de Redis aumenta cada vez que la app recibe una visita.