Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como se conectar à instância do Redis (memorystore) do App Engine padrão do Google (Python 3.7)

Conectando-se a uma instância do Redis de um aplicativo de ambiente padrão do App Engine e do aplicativo App Engine Flex 2020


1.Faça o download e instale o Cloud SDK.

2.Se você já tiver o Cloud SDK instalado, atualize-o executando o seguinte comando:
gcloud components update

3.Crie um novo projeto:
gcloud projects create [YOUR_PROJECT_ID] --set-as-default

4. Verifique se o projeto foi criado:
gcloud projects describe [YOUR_PROJECT_ID]     

5. Defina o projeto que você acabou de criar:
gcloud config set core/project PROJECT_ID

6. Inicialize seu aplicativo do App Engine com seu projeto e escolha sua região:
gcloud app create --project=[YOUR_PROJECT_ID]

7.Quando solicitado, selecione a região onde deseja que seu aplicativo do App Engine esteja localizado.Lembre-se da região, criaremos a instância do Redis e o conector VPC na mesma região. Meu aplicativo do App Engine em europe-west2

8.Certifique-se de que o faturamento esteja habilitado para seu projeto. Uma conta de faturamento precisa estar vinculada ao seu projeto para que o aplicativo seja implantado no App Engine.

9. Instale os seguintes pré-requisitos:

a.Baixe e instale o Git

b.Execute o comando a seguir para instalar o componente gcloud que inclui a extensão do App Engine para Python 3.7:
gcloud components install app-engine-python

c.Prepare seu ambiente para desenvolvimento em Python

10. Crie a instância do Memorystore para Redis. Digite o comando a seguir para criar uma instância do Redis de nível básico de 2 GiB na região 'europe-west2'
gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0

11. Após a criação da instância, digite o comando describe para obter o endereço IP e a porta da instância. Você usará os valores de host e porta para se conectar à instância. Encontre também a rede autorizada da instância do Redis
gcloud redis instances describe myinstance --region=europe-west2

12.Configurando o acesso VPC sem servidor. Certifique-se de criar o conector na mesma região que seu aplicativo e sua instância do Redis e certifique-se de que o conector esteja conectado à rede VPC autorizada da instância do Redis. Lembre-se do nome do conector.

13. Certifique-se de que a API de acesso VPC sem servidor esteja habilitada para seu projeto:
gcloud services enable vpcaccess.googleapis.com

14.Crie um conector com o comando:
gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28

15.Verifique se seu conector está no estado READY antes de usá-lo, a saída deve conter o estado da linha:READY .

16.Clone o repositório para python.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis

17.Preparando o aplicativo para implantação App Engine Standard .Atualize a configuração do aplicativo para especificar seu conector de acesso VPC sem servidor e o endereço IP e a porta de sua instância do 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. Como implantar o aplicativo no ambiente padrão do App Engine
cd ..
cp gae_standard_deployment/app.yaml .

19.Execute o comando deploy
gcloud beta app deploy

20.Após a conclusão da implantação, visite seu aplicativo no seguinte URL, substituindo [PROJECT_ID] pelo ID do projeto do Google Cloud.
Visitor number: 4

SUCESSO!

21.Preparando o aplicativo para implantação App Engine Flex .Atualize a configuração do aplicativo para especificar o endereço IP e a porta da sua instância do 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. Como implantar o aplicativo no ambiente padrão do App Engine
cd ..
cp gae_flex_deployment/app.yaml .

23.Execute o comando deploy
gcloud beta app deploy

24.Após a conclusão da implantação, visite seu aplicativo no seguinte URL, substituindo [PROJECT_ID] pelo ID do projeto do Google Cloud.
Visitor number: 4

SUCESSO!