从 Cloud Run 连接到 Cloud SQL for PostgreSQL
了解如何使用 Google Cloud 控制台和客户端应用在连接到 PostgreSQL 实例的 Cloud Run 上部署示例应用。
假设您及时完成所有步骤,则本快速入门中所创建资源的费用通常不会超过 1 美元 (USD)。
如需在 Google Cloud 控制台中直接遵循有关此任务的分步指导,请点击操作演示:
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
启用在 Cloud Run 上运行 Cloud SQL 示例应用所需的 Cloud API。
点击启用 API 以启用本快速入门所需的 API。
这将启用以下 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
点击以下按钮打开 Cloud Shell,以通过命令行直接在浏览器中访问 Google Cloud 资源。 Cloud Shell 可用于运行本快速入门中介绍的
gcloud
命令。使用 Cloud Shell 运行以下
gcloud
命令:gcloud services enable compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \ containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com
此命令会启用以下 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
- Service Networking API
设置 Cloud SQL
创建 Cloud SQL 实例
公共 IP
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 PostgreSQL。
- 确保已选择企业 Plus 版作为实例的 Cloud SQL 版本。
- 在实例 ID 字段中,输入
quickstart-instance
。 - 在密码字段中,输入 postgres 用户的密码。保存此密码以供将来使用。
- 在选择区域和可用区的可用性部分中,选择单个可用区。
- 点击显示配置选项菜单。
- 展开机器配置节点。
- 在机器类型区域中,选择 4 个 vCPU、32 GB 类型。
- 点击创建实例,然后等待实例初始化并启动。
按照以下方式运行命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。
(可选)修改以下参数的值:
- --database-version:数据库引擎类型和版本。如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
- --cpu:机器中所需的核心数。
- --memory:表示机器所需内存数量的整数。应该提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
- --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值
us-central
。
运行 gcloud
sql instances create
命令以创建 Cloud SQL 实例。
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD
专用 IP
分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道
-
在 Google Cloud 控制台中,转到 VPC 网络页面。
- 选择
default
VPC 网络。 - 选择专用服务连接标签页。
- 选择为服务分配的 IP 范围标签页。
- 点击分配 IP 范围。
- 对于已分配的范围的名称,请指定
google-managed-services-default
。 - 选择 IP 地址范围的自动选项,并将前缀长度指定为
16
。 - 点击分配以创建分配的范围。
- 选择
default
VPC 网络的连到服务的专用连接标签页。 - 点击创建连接以在您的网络与服务提供方之间创建专用连接。
- 对于指定的分配范围,请选择
google-managed-services-default
。 - 点击连接以创建连接。
创建具有专用 IP 地址且启用了 SSL 的实例
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 PostgreSQL。
- 确保已选择企业 Plus 版作为实例的 Cloud SQL 版本。
- 在实例 ID 字段中,输入
quickstart-instance
。 - 在密码字段中,输入 postgres 用户的密码。保存此密码以供将来使用。
- 在选择区域和可用区的可用性部分中,选择单个可用区。
- 点击显示配置选项菜单。
- 展开机器配置节点。
- 在机器类型区域中,选择 4 个 vCPU、32 GB 类型。
- 展开连接节点。
- 取消选中公共 IP 复选框以创建仅使用专用 IP 地址的实例。
- 选中专用 IP 复选框。
- 从网络菜单中,选择默认。
- 点击创建实例,然后等待实例初始化并启动。
- 点击连接。
- 在安全性部分中,选择仅允许 SSL 连接以启用 SSL 连接。
- 在仅允许 SSL 连接对话框中,点击保存,然后等待实例重启。
分配 IP 地址范围并创建专用连接,以便为 Cloud SQL 配置专用服务访问通道
-
运行
gcloud compute addresses create
命令以分配 IP 地址范围。gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
运行
gcloud services vpc-peerings connect
命令以创建与分配的 IP 地址范围的专用连接。将 YOUR_PROJECT_ID 替换为您的项目 ID。gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
创建具有专用 IP 地址且启用了 SSL 的实例
-
按照以下方式运行命令之前,请将 DB_ROOT_PASSWORD 替换为数据库用户的密码。
- --database-version:数据库引擎类型和版本。如果未指定,则使用 API 默认值。请参阅 gcloud 数据库版本文档,以查看当前可用版本。
- --cpu:机器中的核心数。
- --memory:指示机器要包括多少内存的整数。可以提供大小单位(例如 3072MB 或 9GB)。如果未指定单位,则假定为 GB。
- --region:实例的区域位置(例如 asia-east1、us-east1)。如果未指定,则使用默认值
us-central1
。 请参阅区域的完整列表。 运行
gcloud sql instances patch
命令来为实例启用仅允许 SSL 连接。
(可选)修改以下参数的值:
运行 gcloud
sql instances create
命令以创建具有专用 IP 地址的 Cloud SQL 实例。
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
创建数据库
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
quickstart-instance
。 - 从 SQL 导航菜单中选择数据库。
- 点击创建数据库。
- 在新建数据库对话框的数据库名称字段中,输入
quickstart-db
。 - 点击创建。
运行 gcloud
sql databases create
命令以创建数据库。
gcloud sql databases createquickstart-db --instance=quickstart-instance
创建用户
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 从 SQL 导航菜单中选择用户。
- 点击添加用户账号。
- 在将一个用户账号添加到实例 instance_nameinstance_name 页面上,添加以下信息:
- 在用户名字段中,输入
quickstart-user
。 - 在密码字段中,指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
- 在用户名字段中,输入
- 点击添加。
在运行以下命令之前,请先进行以下替换:
- 将 PASSWORD 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。
运行 gcloud sql users create
命令以创建用户。
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
Cloud SQL 和本地 PostgreSQL 的用户名长度限制一样。
将示例应用部署到 Cloud Run
配置 Cloud Run 服务账号
-
在 Google Cloud 控制台中,转到 IAM 页面。
- 对于名为 Compute Engine 默认服务账号的服务账号,点击铅笔图标。
- 点击添加其他角色
- 添加名为 Cloud SQL Client 的角色。
- 点击保存。
-
运行以下
gcloud
命令以获取项目的服务账号列表:gcloud iam service-accounts list
- 复制 Compute Engine 服务账号的电子邮件地址。
- 运行以下命令,将 Cloud SQL Client 角色添加到 Compute Engine 服务账号:
gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL " \ --role="roles/cloudsql.client"
配置 Cloud SQL 示例应用
利用具有客户端权限的 Cloud SQL 实例、数据库和服务账号,您现在可以配置一个示例应用以连接到您的 Cloud SQL 实例。
公共 IP
对于公共 IP 路径,Cloud Run 提供加密功能,并通过 Unix 套接字使用 Cloud SQL Auth 代理进行连接。- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=gcr.io/
YOUR_PROJECT_ID /run-sql -DskipTests
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
- 在 Cloud Shell Editor 中,打开示例应用的源代码。
- 在在 Cloud Shell 中打开对话框中,点击确认下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
专用 IP
对于专用 IP 路径,您的应用会通过无服务器 VPC 访问通道直接连接到您的实例。此方法使用 TCP 套接字直接连接到 Cloud SQL 实例,而无需使用 Cloud SQL Auth 代理。创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
创建和下载 SSL 服务器和客户端证书
对于 Java 用户,该连接器已提供一个安全连接,因此无需创建和下载 SSL 服务器和客户端证书。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=gcr.io/
YOUR_PROJECT_ID /run-sql -DskipTests
创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
创建和下载 SSL 服务器和客户端证书
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击
quickstart-instance
以查看其概览页面 - 点击连接标签页。
- 在安全部分下,点击创建客户端证书。
- 在创建客户端证书对话框中,输入
quickstart-key
作为名称,然后点击创建。 在已创建新的 SSL 证书对话框中,点击每个下载链接以下载证书。然后,点击关闭。
创建无服务器 VPC 连接以通过专用 IP 地址连接到实例
-
在 Google Cloud 控制台中,转到无服务器 VPC 访问通道 - 创建连接器页面。
- 输入
quickstart-connector
作为名称。 - 从网络下拉菜单中,选择默认
- 从子网下拉菜单中,选择自定义 IP 范围
- 在 IP 范围输入框中,输入
10.8.0.0
- 点击创建以创建连接器。
构建使用 SSL 证书的示例应用
-
在 Cloud Shell Editor 中,打开示例应用的源代码。
打开 Cloud Shell Editor - 在在 Cloud Shell 中打开对话框中,点击确认以下载示例应用代码,然后在 Cloud Shell Editor 中打开示例应用目录。
-
将 SSL 证书文件上传到 certs 文件夹。
- 在 Cloud Shell Editor 中右键点击 certs 文件夹,然后选择上传文件。
- 在本地机器上选择以下文件:
client-key.pem
client-cert.pem
server-ca.pem
- 选择三个 SSL 证书文件后,点击打开以完成将文件上传到 Cloud Shell Editor 的过程。
-
在 Cloud Shell 中运行以下命令,以构建 Docker 容器并将其发布到 Container Registry。将 YOUR_PROJECT_ID 替换为您的项目 ID。
gcloud builds submit --tag gcr.io/
YOUR_PROJECT_ID /run-sql
部署示例应用
将示例部署到 Cloud Run 的步骤取决于您分配给 Cloud SQL 实例的 IP 地址类型。
公共 IP
-
在 Google Cloud 控制台中,转到 Cloud Run 页面。
-
点击创建容器,然后选择服务,以显示“创建服务”表单。
- 在容器映像网址输入字段中,点击选择按钮。
- 选择您在上一步中创建的
gcr.io/YOUR_PROJECT_ID/run-sql
容器映像。 - 在服务名称字段中,输入
quickstart-service
。 - 在身份验证部分中,选择
Allow unauthenticated invocations
选项。 如果您没有选择此选项的权限(Cloud Run Admin 角色),系统会部署服务并要求进行身份验证。 - 展开容器、变量和密钥、连接、安全性部分。
- 点击环境变量下的添加变量,创建以下
Environment variables
。设置环境变量的值,如下所示: - INSTANCE_UNIX_SOCKET:设置为
/cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance
。 - INSTANCE_CONNECTION_NAME:设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称。
- DB_NAME:设置为
quickstart-db
。 - DB_USER:设置为
quickstart-user
。 - DB_PASS:设置为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码。 -
启用连接到 Cloud SQL:
- 点击连接标签页。
- 点击 Cloud SQL 连接部分下的添加连接按钮。
- 从下拉菜单中选择您之前创建的
quickstart-instance
。
-
点击创建以创建 Cloud Run 服务。
- 在部署 Cloud Run 服务之后,服务详情页面的顶部会显示正在运行的服务的网址。点击网址链接,查看在 Cloud Run 上连接到 Cloud SQL 的已部署示例应用。
在运行以下命令之前,请先进行以下替换:
- YOUR_PROJECT_ID 替换为您的项目 ID。
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码。 -
看到 Cloud Run 服务已部署的确认消息后,点击消息中的服务网址链接,查看 Cloud Run 上连接到 Cloud SQL 的示例应用。
按照以下方式运行 gcloud run deploy
命令以创建 Cloud Run 服务:
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE-CONNECTION-NAME \ --set-env-vars INSTANCE_UNIX_SOCKET="/cloudsql/INSTANCE_CONNECTION_NAME " \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME " \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS "
当系统提示您指定区域时,请输入为 us-central1
提供的数字选项。
专用 IP
-
在 Google Cloud 控制台中,转到 Cloud Run 页面。
-
点击创建容器,然后选择服务,以显示“创建服务”表单。
- 保留从现有容器映像部署的选项,然后点击选择以指定您在上一步中创建的
gcr.io/YOUR_PROJECT_ID/run-sql
容器映像。 - 输入
quickstart-service
作为服务名称。 - 在身份验证部分中,选择
Allow unauthenticated invocations
选项。 如果您没有选择此选项的权限(Cloud Run Admin 角色),系统会部署服务并要求进行身份验证。 - 展开容器、变量和密钥、连接、安全性部分。
- 点击环境变量下的添加变量,创建以下环境变量。设置环境变量的值,如下所示:
DB_NAME
:设置为quickstart-db
。DB_USER
:设置为quickstart-user
。DB_PASS
:设置为您在之前的创建用户快速入门步骤中指定的quickstart-user
的密码。INSTANCE_CONNECTION_NAME
:设置为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称。DB_PORT
:设置为5432
。INSTANCE_HOST
:按照 Cloud SQL 实例概览页面中所述,设置为实例的专用 IP 地址。DB_ROOT_CERT
:设置为certs/server-ca.pem
。DB_CERT
:设置为certs/client-cert.pem
。DB_KEY
:设置为certs/client-key.pem
。PRIVATE_IP
:设置为TRUE
。-
启用连接到 Cloud SQL:
- 点击连接。
- 点击 Cloud SQL 连接部分中的添加连接。
- 选择您之前创建的
quickstart-instance
Cloud SQL 实例。 - 从 VPC 网络下拉菜单中选择
default: Serverless VPC Access Connector "quickstart-connector"
。 - 选择通过 VPC 连接器路由所有流量选项。
-
点击创建以创建 Cloud Run 服务。
- 在部署 Cloud Run 服务之后,服务详情页面的顶部会显示正在运行的服务的网址。点击网址链接,查看在 Cloud Run 上连接到 Cloud SQL 的已部署示例应用。
在运行以下命令之前,请先进行以下替换:
- YOUR_PROJECT_ID 替换为您的项目 ID。
-
将 INSTANCE_CONNECTION_NAME 替换为 Google Cloud 控制台中 Cloud SQL 实例页面上显示的实例的连接名称。
-
将 DB_PASS 替换为您在之前的创建用户快速入门步骤中创建的
quickstart-user
的密码。 - 将 INSTANCE_HOST 替换为您的实例的专用 IP 地址。转到 Cloud SQL 实例概览页面,实例专用 IP 地址会显示在该页面中。
-
看到 Cloud Run 服务已部署的确认消息后,点击消息中的服务网址链接,查看 Cloud Run 上连接到 Cloud SQL 的示例应用。
按照以下方式运行 gcloud run deploy
命令以创建 Cloud Run 服务:
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME \ --vpc-connector="quickstart-connector " --vpc-egress=all-traffic \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS " \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME " \ --set-env-vars DB_PORT="5432" \ --set-env-vars INSTANCE_HOST="INSTANCE_HOST " \ --set-env-vars DB_ROOT_CERT="certs/server-ca.pem" \ --set-env-vars DB_CERT="certs/client-cert.pem" \ --set-env-vars DB_KEY="certs/client-key.pem" \ --set-env-vars PRIVATE_IP="TRUE"
Java 用户应如下所示运行不带 INSTANCE_HOST、DB_ROOT_CERT、DB_CERT、DB_KEY 和 PRIVATE_IP --set-env-vars 标志的 gcloud run deploy
命令,以创建 Cloud Run 服务,因为 Java 连接器已提供安全连接:
gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID /run-sql \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME \ --vpc-connector="quickstart-connector " --vpc-egress=all-traffic \ --set-env-vars DB_NAME="quickstart-db " \ --set-env-vars DB_USER="quickstart-user " \ --set-env-vars DB_PASS="DB_PASS " \ --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME " \ --set-env-vars DB_PORT="5432"
当系统提示您指定区域时,请输入为 us-central1
提供的数字选项。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
quickstart-instance
实例以打开实例详情页面。 - 在页面顶部的图标栏中,点击删除。
- 在删除实例对话框中,输入
quickstart-instance
,然后点击删除以删除该实例。 -
在 Google Cloud 控制台中,转到 Cloud Run 页面。
- 选中
quickstart-service
服务名称旁边的复选框。 - 点击 Cloud Run 页面顶部的删除。
可选的清理步骤
如果您未使用分配给 Compute Engine 服务账号的 Cloud SQL client 角色,则可以将其移除。
-
在 Google Cloud 控制台中,转到 IAM 页面。
- 点击名为 Compute Engine 默认服务账号的 IAM 账号对应的修改图标(铅笔图案)。
- 删除 Cloud SQL client 角色。
- 点击保存。
如果您没有使用在本快速入门中启用的 API,则可以将其停用。
- 在本快速入门中启用的 API:
- Compute Engine API
- Cloud SQL Admin API
- Cloud Run API
- Container Registry API
- Cloud Build API
在 Google Cloud 控制台中,转到 API 页面。
选择您要停用的任何 API,然后点击停用 API 按钮。
后续步骤
您可以根据自己的需求详细了解如何创建 Cloud SQL 实例。您还可以了解如何为 Cloud SQL 实例创建 PostgreSQL 用户和数据库。
如需详细了解价格,请参阅 Cloud SQL for PostgreSQL 价格。
详细了解以下内容:
此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: