从 App Engine 标准环境应用程序和 App Engine Flex 应用程序 2020 连接到 Redis 实例
1.下载并安装云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 实例和 VPC 连接器。我的 App Engine 应用程序在europe-west2
8.确保为您的项目启用计费。结算帐户需要与您的项目相关联,才能将应用程序部署到 App Engine。
9.安装以下先决条件:
一个。下载并安装 Git
b.运行以下命令以安装包含适用于 Python 3.7 的 App Engine 扩展的 gcloud 组件:
gcloud components install app-engine-python
C。为 Python 开发准备环境
10.为 Redis 实例创建 Memorystore。输入以下命令在“europe-west2”区域创建一个 2 GiB 基本层 Redis 实例
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实例相同的区域创建连接器,并确保连接器连接到Redis实例的授权VPC网络。记住连接器的名称。
13.确保为您的项目启用无服务器 VPC 访问 API:
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 访问连接器以及您的 Redis 实例的 IP 地址和端口:
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 项目 ID。
Visitor number: 4
成功!
21.为部署App Engine Flex准备应用程序。更新应用程序的配置以指定您的 Redis 实例的 IP 地址和端口:
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 项目 ID。
Visitor number: 4
成功!