sql >> Base de Datos >  >> NoSQL >> Redis

Cómo conectarse a la instancia de Redis (memorystore) desde el motor de aplicaciones estándar de Google (Python 3.7)

Conectarse a una instancia de Redis desde una aplicación de entorno estándar de App Engine y la aplicación App Engine Flex 2020

1.Descargue e instale el SDK de la nube.

2.Si ya tiene instalado el SDK de Cloud, actualícelo ejecutando el siguiente comando:

gcloud components update

3.Crear un nuevo proyecto:

gcloud projects create [YOUR_PROJECT_ID] --set-as-default

4. Verifique que se haya creado el proyecto:

gcloud projects describe [YOUR_PROJECT_ID]     

5.Establece el proyecto que acabas de crear:

gcloud config set core/project PROJECT_ID

6. Inicialice su aplicación App Engine con su proyecto y elija su región:

gcloud app create --project=[YOUR_PROJECT_ID]

7.Cuando se le solicite, seleccione la región donde desea ubicar su aplicación App Engine. Recuerde la región, crearemos la instancia de Redis y el conector VPC en la misma región. Mi aplicación App Engine en europe-west2

8.Asegúrese de que la facturación esté habilitada para su proyecto. Es necesario vincular una cuenta de facturación a tu proyecto para que la aplicación se implemente en App Engine.

9. Instale los siguientes requisitos previos:

a.Descargue e instale Git

b. Ejecute el siguiente comando para instalar el componente de gcloud que incluye la extensión de App Engine para Python 3.7:

gcloud components install app-engine-python

c.Prepare su entorno para el desarrollo de Python

10. Cree la instancia de Memorystore para Redis. Ingrese el siguiente comando para crear una instancia de Redis de nivel básico de 2 GiB en la región 'europe-west2'

gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0

11.Después de crear la instancia, ingrese el comando describe para obtener la dirección IP y el puerto de la instancia. Usará los valores de host y puerto para conectarse a la instancia. Busque también la red autorizada de su instancia de Redis

gcloud redis instances describe myinstance --region=europe-west2

12.Configuración del acceso a VPC sin servidor. Asegúrese de crear el conector en la misma región que su aplicación y su instancia de Redis, y asegúrese de que el conector esté conectado a la red de VPC autorizada de la instancia de Redis. Recuerde el nombre del conector.

13.Asegúrate de que la API de acceso a VPC sin servidor esté habilitada para tu proyecto:

gcloud services enable vpcaccess.googleapis.com

14.Cree un conector con el comando:

gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28

15. Verifique que su conector esté en estado LISTO antes de usarlo, la salida debe contener el estado de línea:READY .

16.Clone el repositorio para python.

git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis

17. Preparación de la aplicación para la implementación App Engine Standard .Actualice la configuración de la aplicación para especificar su conector de acceso a VPC sin servidor y la dirección IP y el puerto de su instancia de 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. Implementación de la aplicación en el entorno estándar de App Engine

cd ..
cp gae_standard_deployment/app.yaml .

19. Ejecute el comando de implementación

gcloud beta app deploy

20. Una vez completada la implementación, visite su aplicación en la siguiente URL y reemplace [PROJECT_ID] con su ID de proyecto de Google Cloud.

Visitor number: 4

¡ÉXITO!

21.Preparación de la aplicación para la implementación App Engine Flex .Actualice la configuración de la aplicación para especificar la dirección IP y el puerto de su instancia de 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. Implementación de la aplicación en el entorno estándar de App Engine

cd ..
cp gae_flex_deployment/app.yaml .

23. Ejecute el comando de implementación

gcloud beta app deploy

24. Una vez completada la implementación, visite su aplicación en la siguiente URL y reemplace [PROJECT_ID] con su ID de proyecto de Google Cloud.

Visitor number: 4

¡ÉXITO!