Les applications App Engine doivent se trouver sur le même réseau autorisé que l'instance Redis pour pouvoir y accéder.
Configuration
Si vous avez déjà installé la Google Cloud CLI et créé une instance Redis vous pouvez ignorer ces étapes.
Installez la gcloud CLI et initialisez-la :
gcloud init
Suivez le Guide de démarrage rapide pour créer une instance Redis. Retenez la zone, l'adresse IP et le port de l'instance Redis.
Exemple d'application
Cet exemple d'application de serveur HTTP établit une connexion à une instance Redis à partir d'une instance d'environnement flexible App Engine.
Clonez le dépôt correspondant au langage de programmation souhaité et accédez au dossier contenant l'exemple de code :
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
Cet exemple de code incrémente un compteur Redis à chaque accès au point de terminaison /
.
Go
Cette application utilise le client github.com/gomodule/redigo/redis
. Installez-le en exécutant la commande suivante :
go get github.com/gomodule/redigo/redis
Java
Cette application est basée sur un servlet Jetty 3.1.
Il utilise la bibliothèque Jedis :
La classe AppServletContextListener
permet de créer un pool de connexions Redis longue durée :
La classe VisitCounterServlet
est un servlet Web qui incrémente un compteur Redis :
Node.js
Cette application utilise le module redis
.
Python
Cette application utilise Flask pour la diffusion Web et le package redis-py
pour communiquer avec l'instance Redis.
Préparer l'application pour le déploiement
Pour accéder à l'instance Redis, l'instance App Engine doit être déployée sur le même réseau autorisé que l'instance Redis et vous devez fournir les informations de connexion de votre instance Redis. Vous pouvez trouver le réseau autorisé, l'adresse IP et le port de votre instance Redis en exécutant la commande suivante :
gcloud redis instances describe [INSTANCE_ID] --region [REGION]
Créez une application App Engine.
Mettez à jour la configuration de l'application pour spécifier l'adresse IP, le port et le réseau de votre instance Redis :
Go
Mettez à jour le fichier
gae_flex_deployment/app.yaml
:Pour en savoir plus, consultez la page Configurer une application à l'aide d'un fichier app.yaml.
Java
Mettez à jour le fichier
gae_flex_deployment/app.yaml
pour spécifier le réseau de votre instance Redis :Enfin, mettez à jour le fichier
src/main/resources/application.properties
avec l'adresse IP et le port de votre instance Redis :Pour en savoir plus sur la manière de configurer votre application, consultez la page Configurer votre application avec app.yaml.
Node.js
Mettez à jour le fichier
gae_flex_deployment/app.yaml
:Pour en savoir plus, consultez la page Configurer une application à l'aide d'un fichier app.yaml.
Python
Mettez à jour le fichier
gae_flex_deployment/app.yaml
:Pour en savoir plus, consultez la page Configurer une application à l'aide d'un fichier app.yaml.
Déployer l'application dans l'environnement flexible App Engine
Pour déployer l'application, procédez comme suit :
Copiez les fichiers de configuration nécessaires dans le répertoire source :
Go
Copiez le fichier
app.yaml
dans le répertoire source :cp gae_flex_deployment/app.yaml .
Java
Copiez le fichier
app.yaml
dans le répertoire source :mkdir -p src/main/appengine cp gae_flex_deployment/app.yaml src/main/appengine/
Node.js
Copiez le fichier
app.yaml
dans le répertoire source :cp gae_flex_deployment/app.yaml .
Python
Copiez le fichier
app.yaml
dans le répertoire source :cp gae_flex_deployment/app.yaml .
Exécutez la commande deploy :
Go
gcloud app deploy
Cela peut prendre quelques minutes.
Java
mvn appengine:deploy
Cela peut prendre quelques minutes.
Node.js
gcloud app deploy
Cela peut prendre quelques minutes.
Python
gcloud app deploy
Cela peut prendre quelques minutes.
Une fois le déploiement terminé, accédez à votre application à l'URL suivante, en remplaçant [PROJECT_ID]
par votre ID de projet Google Cloud :
https://[PROJECT_ID].appspot.com
Le nombre d'instances Redis augmente à chaque visite de l'application.