Puedes conectarte a tu instancia de Redis desde las instancias de VM de Compute Engine que usan la misma red autorizada que tu instancia de Redis.
Configuración
Si ya instalaste Google Cloud CLI, creaste una instancia de Redis y un bucket de Cloud Storage, 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.
Crea un bucket de Cloud Storage donde se subirá el artefacto de la aplicación para esta aplicación de muestra. Para obtener más información, consulta Crea buckets.
Configurar la configuración de gcloud para la aplicación de muestra
- Configura el proyecto de
gcloud
predeterminado para tu proyecto de aplicación de muestra.gcloud config set project [PROJECT_ID]
Aplicación de muestra
Esta aplicación del servidor HTTP establece una conexión a una instancia de Redis desde una instancia de VM de Compute 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.
Implementar la aplicación en una VM de Compute Engine
Navega al directorio gce_deployment
.
cd gce_deployment
La secuencia de comandos de implementación sube el artefacto a la ruta de Cloud Storage. Luego, ejecuta una instancia de Compute Engine y crea un firewall para exponer el puerto 8080. La secuencia de comandos de inicio prepara la instancia.
Configura las variables de entorno REDISHOST
y REDISPORT
:
export REDISHOST=[REDISHOST] export REDISPORT=[REDISPORT]
Donde:
REDISHOST
es la IP de la instancia de Redis administrada.REDISPORT
es el puerto de la instancia de Redis administrada, que es 6379 de forma predeterminada.
Establece la variable de entorno GCS_BUCKET_NAME
:
export GCS_BUCKET_NAME=[BUCKET_NAME]/[PATH]
Donde:
BUCKET_NAME
es el nombre de tu depósito de Cloud Storage.PATH
es una ruta opcional para el directorio donde deseas almacenar el artefacto de la aplicación.
Esta es una secuencia de comandos de implementación de muestra que implementa esta aplicación en una nueva instancia de VM de Compute Engine.
Go
Java
Node.js
Python
Ejecuta la secuencia de comandos de implementación:
chmod +x deploy.sh
./deploy.sh
Secuencia de comandos de inicio de la aplicación
Esta secuencia de comandos de inicio se usa en la secuencia de comandos de implementación de ejemplo para preparar la instancia. Para obtener más información sobre la secuencia de comandos de inicio y la visualización de los registros de la secuencia de comandos de inicio, consulta Ejecutar secuencias de comandos de inicio.
Go
Java
Node.js
Python
La aplicación de muestra puede demorar varios minutos en implementarse en la instancia de Compute Engine recién creada.
Una vez que la instancia esté lista y que la secuencia de comandos de inicio haya completado la ejecución, ve a la página de instancias de Compute Engine y copia la dirección de la IP externa.
Para ver la app de muestra que implementaste, visita http://[EXTERNAL-IP]:8080
Puedes usar la secuencia de comandos teardown.sh
para borrar la instancia y el firewall creado por la secuencia de comandos de implementación: