您可以使用无服务器 VPC 访问通道从 App Engine 标准环境连接到 Redis 实例。
设置
如果您已安装 Google Cloud CLI 且已创建 Redis 实例,则可以跳过这些步骤。
安装 gcloud CLI 并初始化:
gcloud init
按照快速入门指南创建一个 Redis 实例。记下该 Redis 实例的地区、IP 地址和端口。
配置无服务器 VPC 访问通道
要从 App Engine 应用连接到 Redis 实例的授权 VPC 网络,您必须设置无服务器 VPC 访问通道。
通过运行以下命令查找 Redis 实例的授权网络:
gcloud beta redis instances describe [INSTANCE_ID] --region [REGION]
按照创建连接器中的说明创建无服务器 VPC 访问通道连接器。请务必在应用所在的区域中创建连接器,并确保该连接器已连接到 Redis 实例的授权 VPC 网络。记下连接器的名称。
示例应用
此示例 HTTP 服务器应用通过 App Engine 标准环境应用建立与 Redis 实例的连接。
克隆您所需编程语言的代码库,并转到包含示例代码的文件夹:
git clone https://github.com/GoogleCloudPlatform/golang-samples
cd golang-samples/memorystore/redis
git clone https://github.com/GoogleCloudPlatform/java-docs-samples
cd java-docs-samples/memorystore/redis
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples
cd nodejs-docs-samples/memorystore/redis
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/memorystore/redis
每次访问 /
端点时,此示例应用都会增加一个 Redis 计数器。
此应用使用 github.com/gomodule/redigo/redis
客户端。通过运行以下命令进行安装:
go get github.com/gomodule/redigo/redis
此应用基于 Jetty 3.1 servlet。
它使用 Jedis 库:
AppServletContextListener
类用于创建长效 Redis 连接池:
VisitCounterServlet
类是一个网络 Servlet,用于增加 Redis 计数器。
此应用使用 redis
模块。
准备应用进行部署
要访问 Redis 实例,App Engine 应用必须配置为使用无服务器 VPC 访问通道连接器,并且您必须提供 Redis 实例的连接详细信息。
如果您还没有 App Engine 应用,请创建一个。
更新应用的配置以指定无服务器 VPC 访问通道连接器以及 Redis 实例的 IP 地址和端口:
更新
gae_standard_deployment/app.yaml
文件。如需了解详情,请参阅 app.yaml 配置文件。
更新
gae_standard_deployment/appengine-web.xml
文件以指定无服务器 VPC 访问通道连接器:并使用 Redis 实例的 IP 地址和端口更新
src/main/resources/application.properties
文件:如需详细了解如何配置应用,请参阅 appengine-web.xml 参考。
更新
gae_standard_deployment/app.yaml
文件。如需了解详情,请参阅 app.yaml 配置文件。
更新
gae_standard_deployment/app.yaml
文件。如需了解详情,请参阅 app.yaml 配置文件。
将应用部署到 App Engine 标准环境
如需部署应用,请执行以下操作:
将必要的配置文件复制到来源目录中:
将
app.yaml
和go.mod
文件复制到源目录中:cp gae_standard_deployment/{app.yaml,go.mod} .
将
appengine-web.xml
文件复制到来源目录中:mkdir -p src/main/webapp/WEB-INF cp gae_standard_deployment/appengine-web.xml src/main/webapp/WEB-INF/
将
app.yaml
文件复制到来源目录中:cp gae_standard_deployment/app.yaml .
将
app.yaml
文件复制到来源目录中:cp gae_standard_deployment/app.yaml .
运行 deploy 命令:
gcloud app deploy
mvn package appengine:stage gcloud app deploy target/appengine-staging/app.yaml
gcloud app deploy
gcloud app deploy
部署完成后,该命令将输出供您访问应用的网址。如果您访问此网址,就会看到每次加载页面时 Redis 实例上的计数都会增加。