Łączenie z instancją Redis ze standardowej aplikacji środowiska App Engine i aplikacji App Engine Flex 2020
1.Pobierz i zainstaluj Cloud SDK.
2. Jeśli masz już zainstalowany pakiet Cloud SDK, zaktualizuj go, uruchamiając następujące polecenie:
gcloud components update
3.Utwórz nowy projekt:
gcloud projects create [YOUR_PROJECT_ID] --set-as-default
4. Sprawdź, czy projekt został utworzony:
gcloud projects describe [YOUR_PROJECT_ID]
5. Ustaw właśnie utworzony projekt:
gcloud config set core/project PROJECT_ID
6. Zainicjuj aplikację App Engine w swoim projekcie i wybierz jej region:
gcloud app create --project=[YOUR_PROJECT_ID]
7.Po wyświetleniu monitu wybierz region, w którym chcesz zlokalizować aplikację App Engine.Zapamiętaj region, utworzymy instancję Redis i łącznik VPC w tym samym regionie. Moja aplikacja App Engine na europe-west2
8. Upewnij się, że rozliczenia są włączone w Twoim projekcie. Aby aplikacja mogła zostać wdrożona w App Engine, konto rozliczeniowe musi być połączone z Twoim projektem.
9.Zainstaluj następujące wymagania wstępne:
a.Pobierz i zainstaluj Git
b. Uruchom następujące polecenie, aby zainstalować komponent gcloud zawierający rozszerzenie App Engine dla Pythona 3.7:
gcloud components install app-engine-python
c.Przygotuj swoje środowisko do programowania w Pythonie
10. Utwórz instancję Memorystore dla Redis. Wprowadź następujące polecenie, aby utworzyć instancję Redis warstwy Basic 2 GiB w regionie „europe-west2”
gcloud redis instances create myinstance --size=2 --region=europe-west2 /
--redis-version=redis_4_0
11.Po utworzeniu instancji wprowadź polecenie opisu, aby uzyskać adres IP i port instancji.W celu połączenia się z instancją użyjesz wartości hosta i portu.Znajdź również autoryzowaną sieć instancji Redis
gcloud redis instances describe myinstance --region=europe-west2
12.Konfigurowanie bezserwerowego dostępu do VPC. Upewnij się, że tworzysz oprogramowanie sprzęgające w tym samym regionie, co Twoja aplikacja i instancja Redis, oraz upewnij się, że jest ono podłączone do autoryzowanej sieci VPC instancji Redis. Zapamiętaj nazwę złącza.
13. Upewnij się, że w Twoim projekcie włączono interfejs API bezserwerowego dostępu do VPC:
gcloud services enable vpcaccess.googleapis.com
14.Utwórz złącze za pomocą polecenia:
gcloud compute networks vpc-access connectors create connector --network default --region europe-west2 --range 10.10.0.0/28
15. Sprawdź, czy twoje złącze jest w stanie GOTOWE przed użyciem, wyjście powinno zawierać stan linii:READY
.
16. Sklonuj repozytorium dla Pythona.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
17.Przygotowywanie aplikacji do wdrożenia App Engine Standard .Zaktualizuj konfigurację aplikacji, aby określić łącznik bezserwerowego dostępu do VPC oraz adres IP i port instancji 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.Wdrażanie aplikacji w standardowym środowisku App Engine
cd ..
cp gae_standard_deployment/app.yaml .
19.Uruchom polecenie wdrażania
gcloud beta app deploy
20.Po zakończeniu wdrażania odwiedź swoją aplikację pod następującym adresem URL, zastępując [ID_PROJEKTU] identyfikatorem projektu Google Cloud.
Visitor number: 4
SUKCES!
21.Przygotowywanie aplikacji do wdrożenia App Engine Flex .Zaktualizuj konfigurację aplikacji, aby określić adres IP i port instancji 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.Wdrażanie aplikacji w standardowym środowisku App Engine
cd ..
cp gae_flex_deployment/app.yaml .
23.Uruchom polecenie wdrażania
gcloud beta app deploy
24.Po zakończeniu wdrażania przejdź do swojej aplikacji pod następującym adresem URL, zastępując [ID_PROJEKTU] identyfikatorem projektu Google Cloud.
Visitor number: 4
SUKCES!