Se connecter à une instance Redis à partir d'une application d'environnement standard App Engine et d'une application App Engine Flex 2020
1.Téléchargez et installez le SDK Cloud.
2.Si vous avez déjà installé le SDK Cloud, mettez-le à jour en exécutant la commande suivante :
gcloud components update
3.Créez un nouveau projet :
gcloud projects create [YOUR_PROJECT_ID] --set-as-default
4.Vérifiez que le projet a été créé :
gcloud projects describe [YOUR_PROJECT_ID]
5.Définissez le projet que vous venez de créer :
gcloud config set core/project PROJECT_ID
6.Initialisez votre application App Engine avec votre projet et choisissez sa région :
gcloud app create --project=[YOUR_PROJECT_ID]
7. Lorsque vous y êtes invité, sélectionnez la région dans laquelle vous souhaitez placer votre application App Engine. Souvenez-vous de la région, nous allons créer l'instance Redis et le connecteur VPC dans la même région. Mon application App Engine sur europe-west2
8.Assurez-vous que la facturation est activée pour votre projet. Un compte de facturation doit être associé à votre projet pour que l'application soit déployée sur App Engine.
9.Installez les prérequis suivants :
a.Téléchargez et installez Git
b.Exécutez la commande suivante pour installer le composant gcloud qui inclut l'extension App Engine pour Python 3.7 :
gcloud components install app-engine-python
c.Préparez votre environnement pour le développement Python
10.Créez l'instance Memorystore pour Redis.Entrez la commande suivante pour créer une instance Redis de niveau de base de 2 Gio dans la région « europe-west2 »
gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0
11.Une fois l'instance créée, entrez la commande describe pour obtenir l'adresse IP et le port de l'instance.Vous utiliserez les valeurs d'hôte et de port pour vous connecter à l'instance.Recherchez également le réseau autorisé de votre instance Redis
gcloud redis instances describe myinstance --region=europe-west2
12.Configuration de l'accès au VPC sans serveur.Assurez-vous de créer le connecteur dans la même région que votre application et votre instance Redis, et assurez-vous que le connecteur est attaché au réseau VPC autorisé de l'instance Redis. Rappelez-vous le nom du connecteur.
13.Assurez-vous que l'API d'accès au VPC sans serveur est activée pour votre projet :
gcloud services enable vpcaccess.googleapis.com
14.Créez un connecteur avec la commande :
gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28
15.Vérifiez que votre connecteur est dans l'état READY avant de l'utiliser, la sortie doit contenir l'état de la ligne :READY
.
16.Clonez le référentiel pour python.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
17. Préparation de l'application pour le déploiement App Engine Standard .Mettez à jour la configuration de l'application pour spécifier votre connecteur d'accès au VPC sans serveur ainsi que l'adresse IP et le port de votre instance Redis :
cd gae_standard_deployment/
cat app.yaml
runtime: python37
entrypoint: gunicorn -b :$PORT main:app
# Update with Redis instance details
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Serverless VPC Access connector details
vpc_access_connector:
name: 'projects/<PROJECT_ID>/locations/<REGION>/connectors/<CONNECTOR_NAME>'
18.Déploiement de l'application dans l'environnement standard App Engine
cd ..
cp gae_standard_deployment/app.yaml .
19.Exécutez la commande de déploiement
gcloud beta app deploy
20. Une fois le déploiement terminé, visitez votre application à l'URL suivante, en remplaçant [PROJECT_ID] par votre ID de projet Google Cloud.
Visitor number: 4
SUCCÈS !
21.Préparer l'application pour le déploiement App Engine Flex .Mettez à jour la configuration de l'application pour spécifier l'adresse IP et le port de votre instance Redis :
cd gae_flex_deployment/
cat app.yaml
cp gae_flex_deployment/app.yaml .
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
# Update with Redis instance IP and port
env_variables:
REDISHOST: '<REDIS_IP>'
REDISPORT: '6379'
# Update with Redis instance network name
network:
name: default
22.Déploiement de l'application dans l'environnement standard App Engine
cd ..
cp gae_flex_deployment/app.yaml .
23.Exécutez la commande de déploiement
gcloud beta app deploy
24. Une fois le déploiement terminé, visitez votre application à l'URL suivante, en remplaçant [PROJECT_ID] par votre ID de projet Google Cloud.
Visitor number: 4
SUCCÈS !