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!