Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So stellen Sie eine Verbindung zur Redis-Instanz (memorystore) von Googles Standard App Engine (Python 3.7) her

Herstellen einer Verbindung zu einer Redis-Instanz von einer App Engine-Standardumgebungsanwendung und einer App Engine Flex-Anwendung 2020

1.Cloud SDK herunterladen und installieren.

2.Wenn Sie das Cloud SDK bereits installiert haben, aktualisieren Sie es, indem Sie den folgenden Befehl ausführen:

gcloud components update

3.Erstellen Sie ein neues Projekt:

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

4.Überprüfen Sie, ob das Projekt erstellt wurde:

gcloud projects describe [YOUR_PROJECT_ID]     

5.Stellen Sie das soeben erstellte Projekt ein:

gcloud config set core/project PROJECT_ID

6.Initialisieren Sie Ihre App Engine-App mit Ihrem Projekt und wählen Sie ihre Region aus:

gcloud app create --project=[YOUR_PROJECT_ID]

7.Wenn Sie dazu aufgefordert werden, wählen Sie die Region aus, in der sich Ihre App Engine-Anwendung befinden soll. Merken Sie sich die Region, wir erstellen die Redis-Instanz und den VPC-Connector in derselben Region. Meine App Engine-Anwendung in europe-west2

8.Stellen Sie sicher, dass die Abrechnung für Ihr Projekt aktiviert ist. Ein Rechnungskonto muss mit Ihrem Projekt verknüpft werden, damit die Anwendung in App Engine bereitgestellt werden kann.

9.Installieren Sie die folgenden Voraussetzungen:

a.Laden Sie Git herunter und installieren Sie es

b.Führen Sie den folgenden Befehl aus, um die gcloud-Komponente zu installieren, die die App Engine-Erweiterung für Python 3.7 enthält:

gcloud components install app-engine-python

c. Bereiten Sie Ihre Umgebung für die Python-Entwicklung vor

10.Erstellen Sie die Memorystore for Redis-Instanz. Geben Sie den folgenden Befehl ein, um eine 2-GiB-Basic-Tier-Redis-Instanz in der Region „europe-west2“ zu erstellen

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

11. Nachdem die Instanz erstellt wurde, geben Sie den Befehl "describe" ein, um die IP-Adresse und den Port der Instanz abzurufen. Sie verwenden die Host- und Portwerte, um eine Verbindung zur Instanz herzustellen. Suchen Sie auch nach dem autorisierten Netzwerk Ihrer Redis-Instanz

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

12. Konfigurieren des serverlosen VPC-Zugriffs. Stellen Sie sicher, dass Sie den Connector in derselben Region wie Ihre App und Ihre Redis-Instanz erstellen, und stellen Sie sicher, dass der Connector mit dem autorisierten VPC-Netzwerk der Redis-Instanz verbunden ist. Merken Sie sich den Namen des Connectors.

13.Stellen Sie sicher, dass die serverlose VPC-Zugriffs-API für Ihr Projekt aktiviert ist:

gcloud services enable vpcaccess.googleapis.com

14.Erstellen Sie einen Konnektor mit dem Befehl:

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

15.Vergewissern Sie sich, dass sich Ihr Konnektor im Status READY befindet, bevor Sie ihn verwenden. Die Ausgabe sollte den Zeilenstatus enthalten:READY .

16.Klonen Sie das Repository für Python.

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

17. Vorbereiten der Anwendung für die Bereitstellung App Engine Standard .Aktualisieren Sie die Konfiguration der App, um Ihren Connector für serverlosen VPC-Zugriff sowie die IP-Adresse und den Port Ihrer Redis-Instanz anzugeben:

 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.Bereitstellen der Anwendung in der App Engine-Standardumgebung

cd ..
cp gae_standard_deployment/app.yaml .

19.Führen Sie den Bereitstellungsbefehl aus

gcloud beta app deploy

20. Besuchen Sie nach Abschluss der Bereitstellung Ihre App unter der folgenden URL und ersetzen Sie [PROJECT_ID] durch Ihre Google Cloud-Projekt-ID.

Visitor number: 4

ERFOLG!

21. Vorbereiten der Anwendung für die Bereitstellung von App Engine Flex .Aktualisieren Sie die Konfiguration der App, um die IP-Adresse und den Port Ihrer Redis-Instanz anzugeben:

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.Bereitstellen der Anwendung in der App Engine-Standardumgebung

cd ..
cp gae_flex_deployment/app.yaml .

23.Führen Sie den Bereitstellungsbefehl

aus
gcloud beta app deploy

24. Besuchen Sie nach Abschluss der Bereitstellung Ihre App unter der folgenden URL und ersetzen Sie [PROJECT_ID] durch Ihre Google Cloud-Projekt-ID.

Visitor number: 4

ERFOLG!