从 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.
-
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
gcloud
点击以下按钮打开 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 实例
创建数据库
控制台
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
quickstart-instance
。 - 从 SQL 导航菜单中选择数据库。
- 点击创建数据库。
- 在新建数据库对话框的数据库名称字段中,输入
quickstart-db
。 - 点击创建。
gcloud
运行 gcloud
sql databases create
命令以创建数据库。
gcloud sql databases create quickstart-db --instance=quickstart-instance
创建用户
控制台
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 如需打开实例的概览页面,请点击实例名称。
- 从 SQL 导航菜单中选择用户。
- 点击添加用户账号。
- 在将一个用户账号添加到实例 instance_nameinstance_name 页面上,添加以下信息:
- 在用户名字段中,输入
quickstart-user
。 - 在密码字段中,指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
- 在用户名字段中,输入
- 点击添加。
gcloud
在运行以下命令之前,请先进行以下替换:
- 将 PASSWORD 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。
运行 gcloud sql users create
命令以创建用户。
gcloud sql users create quickstart-user \ --instance=quickstart-instance \ --password=PASSWORD
Cloud SQL 和本地 PostgreSQL 的用户名长度限制一样。
将示例应用部署到 Cloud Run
配置 Cloud Run 服务账号
控制台
-
在 Google Cloud 控制台中,转到 IAM 页面。
- 对于名为 Compute Engine 默认服务账号的服务账号,点击铅笔图标。
- 点击添加其他角色
- 添加名为 Cloud SQL Client 的角色。
- 点击保存。
gcloud
-
运行以下
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 实例。
部署示例应用
将示例部署到 Cloud Run 的步骤取决于您分配给 Cloud SQL 实例的 IP 地址类型。
清理
为避免因本页中使用的资源导致您的 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 实例: