Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment se connecter à l'instance Redis (memorystore) à partir du moteur d'application standard de Google (Python 3.7)

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 !