sql >> Database teknologi >  >> NoSQL >> Redis

Sådan oprettes forbindelse til Redis-instans (memorystore) fra Googles Standard App Engine (Python 3.7)

Tilslutning til en Redis-instans fra en App Engine-standardmiljøapplikation og App Engine Flex-applikation 2020

1.Download og installer Cloud SDK.

2.Hvis du allerede har Cloud SDK installeret, skal du opdatere det ved at køre følgende kommando:

gcloud components update

3.Opret et nyt projekt:

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

4. Bekræft, at projektet blev oprettet:

gcloud projects describe [YOUR_PROJECT_ID]     

5. Indstil det projekt, du lige har oprettet:

gcloud config set core/project PROJECT_ID

6. Initialiser din App Engine-app med dit projekt, og vælg dens region:

gcloud app create --project=[YOUR_PROJECT_ID]

7.Når du bliver bedt om det, skal du vælge den region, hvor du vil have din App Engine-applikation placeret. Husk regionen, vi vil oprette Redis-forekomsten og VPC-stikket i samme region. My App Engine Application i på europe-west2

8. Sørg for, at fakturering er aktiveret for dit projekt. En faktureringskonto skal være knyttet til dit projekt, for at applikationen kan implementeres i App Engine.

9.Installer følgende forudsætninger:

a.Download og installer Git

b.Kør følgende kommando for at installere gcloud-komponenten, der inkluderer App Engine-udvidelsen til Python 3.7:

gcloud components install app-engine-python

c.Forbered dit miljø til Python-udvikling

10.Opret Memorystore for Redis-instansen. Indtast følgende kommando for at oprette en 2 GiB Basic Tier Redis-instans i 'europe-west2'-regionen

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

11.Når forekomsten er oprettet, skal du indtaste kommandoen describe for at få forekomstens IP-adresse og port. Du skal bruge værts- og portværdierne til at oprette forbindelse til forekomsten. Find også din Redis-forekomsts autoriserede netværk

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

12. Konfiguration af serverløs VPC-adgang. Sørg for at oprette forbindelsen i samme region som din app og din Redis-instans, og sørg for, at forbindelsen er tilsluttet Redis-instansens autoriserede VPC-netværk. Husk navnet på stikket.

13.Sørg for, at Serverless VPC Access API er aktiveret for dit projekt:

gcloud services enable vpcaccess.googleapis.com

14.Opret en forbindelse med kommandoen:

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

15. Bekræft, at dit stik er i tilstanden READY, før du bruger det, outputtet skal indeholde linjetilstanden:READY .

16. Klon repository for python.

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

17.Forberedelse af applikationen til implementering App Engine Standard .Opdater appens konfiguration for at specificere din Serverless VPC Access-forbindelse og IP-adressen og porten på din Redis-instans:

 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. Implementering af applikationen til App Engine-standardmiljøet

cd ..
cp gae_standard_deployment/app.yaml .

19. Kør kommandoen deploy

gcloud beta app deploy

20. Når implementeringen er fuldført, skal du besøge din app på følgende URL og erstatte [PROJECT_ID] med dit Google Cloud-projekt-id.

Visitor number: 4

SUCCES!

21.Forberedelse af applikationen til implementering App Engine Flex .Opdater appens konfiguration for at angive IP-adressen og porten for din Redis-instans:

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. Implementering af applikationen til App Engine-standardmiljøet

cd ..
cp gae_flex_deployment/app.yaml .

23. Kør kommandoen deploy

gcloud beta app deploy

24. Når implementeringen er fuldført, skal du besøge din app på følgende URL og erstatte [PROJECT_ID] med dit Google Cloud-projekt-id.

Visitor number: 4

SUCCES!



  1. MongoDB $allElementsTrue

  2. Opdatering i forEach på mongodb shell

  3. Hvordan bruger StackExchange.Redis flere endepunkter og forbindelser?

  4. Hvad er standard cache-strategien, når du bruger Redis med fjeder- eller fjederstøvle?