sql >> Database >  >> NoSQL >> Redis

Verbinding maken met Redis-instantie (memorystore) vanuit Google's Standard App Engine (Python 3.7)

Verbinding maken met een Redis-instantie vanuit een App Engine-standaardomgevingsapp en App Engine Flex-app 2020

1.Download en installeer Cloud SDK.

2.Als u de Cloud SDK al hebt geïnstalleerd, werkt u deze bij door de volgende opdracht uit te voeren:

gcloud components update

3.Maak een nieuw project:

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

4. Controleer of het project is gemaakt:

gcloud projects describe [YOUR_PROJECT_ID]     

5.Stel het project in dat u zojuist hebt gemaakt:

gcloud config set core/project PROJECT_ID

6. Initialiseer uw App Engine-app met uw project en kies de regio:

gcloud app create --project=[YOUR_PROJECT_ID]

7. Selecteer desgevraagd de regio waar u uw App Engine-toepassing wilt hebben. Onthoud de regio, we zullen de Redis Instance en VPC-connector in dezelfde regio maken. Mijn App Engine-applicatie binnen op europe-west2

8. Zorg ervoor dat facturering is ingeschakeld voor uw project. Er moet een factureringsaccount aan uw project zijn gekoppeld voordat de app kan worden geïmplementeerd in App Engine.

9.Installeer de volgende vereisten:

a.Download en installeer Git

b.Voer de volgende opdracht uit om de gcloud-component met de App Engine-extensie voor Python 3.7 te installeren:

gcloud components install app-engine-python

c.Bereid uw omgeving voor op de ontwikkeling van Python

10.Maak de Memorystore voor Redis-instantie. Voer de volgende opdracht in om een ​​2 GiB Basic Tier Redis-instantie te maken in de regio 'europe-west2'

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

11.Nadat de instantie is gemaakt, voert u de opdracht description in om het IP-adres en de poort van de instantie op te halen. U gebruikt de host- en poortwaarden om verbinding te maken met de instantie. Zoek ook het geautoriseerde netwerk van uw Redis-instantie

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

12. Serverloze VPC-toegang configureren. Zorg ervoor dat u de connector in dezelfde regio maakt als uw app en uw Redis-instantie, en zorg ervoor dat de connector is aangesloten op het geautoriseerde VPC-netwerk van de Redis-instantie. Onthoud de naam van de connector.

13.Zorg ervoor dat de Serverless VPC Access API is ingeschakeld voor uw project:

gcloud services enable vpcaccess.googleapis.com

14.Maak een connector met het commando:

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

15.Controleer of uw connector de status GEREED heeft voordat u deze gebruikt. De uitvoer moet de regelstatus bevatten:READY .

16.Kloon de repository voor python.

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

17.De applicatie voorbereiden voor implementatie App Engine Standard .Update de configuratie van de app om uw Serverless VPC Access-connector en het IP-adres en de poort van uw Redis-instantie op te geven:

 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.De applicatie implementeren in de App Engine-standaardomgeving

cd ..
cp gae_standard_deployment/app.yaml .

19.Voer de opdracht deploy uit

gcloud beta app deploy

20.Nadat de implementatie is voltooid, gaat u naar uw app op de volgende URL en vervangt u [PROJECT_ID] door uw Google Cloud-project-ID.

Visitor number: 4

SUCCES!

21.De applicatie voorbereiden voor implementatie App Engine Flex .Update de configuratie van de app om het IP-adres en de poort van uw Redis-instantie op te geven:

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.De applicatie implementeren in de App Engine-standaardomgeving

cd ..
cp gae_flex_deployment/app.yaml .

23.Voer de opdracht deploy uit

gcloud beta app deploy

24.Nadat de implementatie is voltooid, gaat u naar uw app op de volgende URL en vervangt u [PROJECT_ID] door uw Google Cloud-project-ID.

Visitor number: 4

SUCCES!



  1. Caching in Django met Redis

  2. 3 manieren om een ​​willekeurig voorbeeld van documenten uit een MongoDB-verzameling te retourneren

  3. SpringBoot Elasticache JedisMovedDataException:VERPLAATST

  4. Docker mongo-gegevensvolume instellen