Redis
 sql >> база данни >  >> NoSQL >> Redis

Как да се свържете с Redis екземпляр (memorystore) от стандартния App Engine на Google (Python 3.7)

Свързване с екземпляр на Redis от приложение за стандартна среда на App Engine и приложение App Engine Flex 2020

1. Изтеглете и инсталирайте Cloud SDK.

2.Ако вече имате инсталиран Cloud SDK, актуализирайте го, като изпълните следната команда:

gcloud components update

3. Създайте нов проект:

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

4. Проверете дали проектът е създаден:

gcloud projects describe [YOUR_PROJECT_ID]     

5. Задайте проекта, който току-що създадохте:

gcloud config set core/project PROJECT_ID

6. Инициализирайте приложението си App Engine с вашия проект и изберете неговия регион:

gcloud app create --project=[YOUR_PROJECT_ID]

7. Когато бъдете подканени, изберете региона, в който искате да се намира приложението ви App Engine. Запомнете региона, ние ще създадем Redis Instance и VPC конектор в същия регион. Моето приложение за App Engine в europe-west2

8. Уверете се, че таксуването е активирано за вашия проект. Акаунт за таксуване трябва да бъде свързан с вашия проект, за да може приложението да бъде внедрено в App Engine.

9. Инсталирайте следните предпоставки:

a. Изтеглете и инсталирайте Git

b. Изпълнете следната команда, за да инсталирате компонента gcloud, който включва разширението на App Engine за Python 3.7:

gcloud components install app-engine-python

в. Подгответе вашата среда за разработка на Python

10. Създайте Memorystore за Redis екземпляр. Въведете следната команда, за да създадете 2 GiB Basic Tier Redis екземпляр в региона 'europe-west2'

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

11. След като екземплярът е създаден, въведете командата describe, за да получите IP адреса и порта на екземпляра. Ще използвате стойностите на хоста и порта, за да се свържете с екземпляра. Също така намерете оторизираната мрежа на вашия екземпляр Redis

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

12.Конфигуриране на VPC достъп без сървър. Уверете се, че сте създали конектора в същия регион като вашето приложение и вашия Redis екземпляр и се уверете, че конекторът е свързан към оторизираната VPC мрежа на Redis екземпляр. Запомнете името на конектора.

13. Уверете се, че API за достъп до VPC без сървър е активиран за вашия проект:

gcloud services enable vpcaccess.googleapis.com

14. Създайте конектор с командата:

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

15. Уверете се, че вашият конектор е в състояние ГОТОВ, преди да го използвате, изходът трябва да съдържа състоянието на линията:READY .

16.Клонирайте хранилището за python.

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

17. Подготовка на приложението за внедряване App Engine Standard .Актуализирайте конфигурацията на приложението, за да посочите своя конектор за VPC достъп без сървър и IP адреса и порта на вашия 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. Разгръщане на приложението в стандартната среда на App Engine

cd ..
cp gae_standard_deployment/app.yaml .

19. Изпълнете командата за разгръщане

gcloud beta app deploy

20. След като внедряването приключи, посетете приложението си на следния URL адрес, като замените [PROJECT_ID] с вашия идентификатор на проекта в Google Cloud.

Visitor number: 4

УСПЕХ!

21. Подготовка на приложението за внедряване на App Engine Flex .Актуализирайте конфигурацията на приложението, за да посочите IP адреса и порта на вашия екземпляр 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. Разгръщане на приложението в стандартната среда на App Engine

cd ..
cp gae_flex_deployment/app.yaml .

23. Изпълнете командата за разгръщане

gcloud beta app deploy

24. След като внедряването приключи, посетете приложението си на следния URL адрес, като замените [PROJECT_ID] с вашия идентификатор на проекта в Google Cloud.

Visitor number: 4

УСПЕХ!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis Config Set с Node jS

  2. вложеното изключение е redis.clients.jedis.exceptions.JedisConnectionException:Не можа да се получи ресурс от пула

  3. Как да получа всички чакащи задачи в опашката на laravel на Redis?

  4. Сървърът MongoDB не е достъпен в локалната мрежа въпреки обвързването на ip

  5. Целина се опитва да се свърже с грешен брокер