快速入门:从 Cloud Run 连接到 Cloud SQL for PostgreSQL

从 Cloud Run 连接到 Cloud SQL for PostgreSQL

了解如何使用 Google Cloud 控制台和客户端应用在连接到 PostgreSQL 实例的 Cloud Run 上部署示例应用。

假设您及时完成所有步骤,则本快速入门中所创建资源的费用通常不会超过 1 美元 (USD)。

准备工作

  1. 登录您的 Google Cloud 帐号。如果您是 Google Cloud 新手,请创建一个帐号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 确保您的 Cloud 项目已启用结算功能。了解如何检查项目是否已启用结算功能

  6. 启用在 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

    使用 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 实例

创建数据库

控制台

  1. 在 Google Cloud Console 中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 quickstart-instance
  3. 打开数据库标签页。
  4. 点击创建数据库
    1. 新建数据库对话框中,输入 quickstart_db 作为数据库的名称。
    2. 点击创建

gcloud

运行 gcloud sql databases create 命令以创建数据库。

gcloud sql databases create quickstart_db --instance=quickstart-instance

创建用户

控制台

  1. 在 Google Cloud Console 中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 从 SQL 导航菜单中选择用户
  4. 点击添加用户帐号
  5. 将一个用户帐号添加到实例 instance_name 页面上,添加以下信息:
    • 用户名字段中,输入 quickstart-user
    • 密码字段中,指定数据库用户的密码。记下此密码,以便在本快速入门的后续步骤中使用。
  6. 点击添加

gcloud

在运行以下命令之前,请先进行以下替换:

  1. PASSWORD 替换为您的数据库用户密码。记下此密码,以便在本快速入门的后续步骤中使用。

运行 gcloud sql users create 命令以创建用户。

gcloud sql users create quickstart-user \
--instance=quickstart-instance \
--password=PASSWORD

Cloud SQL 和本地 PostgreSQL 的用户名长度限制一样。

将示例应用部署到 Cloud Run

配置 Cloud Run 服务帐号

配置 Cloud Run 使用的服务帐号,使其具有可连接到 Cloud SQL 的 Cloud SQL Client 角色。

控制台

  1. 在 Google Cloud Console 中,转到 IAM 页面。

    转到 IAM

  2. 对于名为 Compute Engine 默认服务帐号的服务帐号,点击铅笔图标。
  3. 点击添加其他角色
  4. 添加名为 Cloud SQL Client角色
  5. 点击保存

gcloud

  1. 运行以下 gcloud 命令以获取项目的服务帐号列表:
    gcloud iam service-accounts list
  2. 复制 Compute Engine 服务帐号电子邮件地址
  3. 运行以下命令,将 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 帐号产生费用,请按照以下步骤操作。

  1. 在 Google Cloud Console 中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 选择 quickstart-instance 实例以打开实例详情页面。
  3. 在页面顶部的图标栏中,点击删除
  4. 删除实例对话框中,输入 quickstart-instance,然后点击删除以删除该实例。
  5. 在 Google Cloud Console 中,转到 Cloud Run 页面。

    转到 Cloud Run

  6. 选中 quickstart-service 服务名称旁边的复选框。
  7. 点击 Cloud Run 页面顶部的删除

可选的清理步骤

如果您未使用分配给 Compute Engine 服务帐号的 Cloud SQL client 角色,则可以将其移除。

  1. 在 Google Cloud Console 中,转到 IAM 页面。

    转到 IAM

  2. 点击名为 Compute Engine 默认服务帐号的 IAM 帐号对应的修改图标(铅笔图案)。
  3. 删除 Cloud SQL client 角色。
  4. 点击保存

如果您没有使用在本快速入门中启用的 API,则可以将其停用。

  • 在本快速入门中启用的 API:
    • Compute Engine API
    • Cloud SQL Admin API
    • Cloud Run API
    • Container Registry API
    • Cloud Build API
  1. 在 Google Cloud Console 中,转到 API 页面。

    转到“API”

  2. 选择您要停用的任何 API,然后点击停用 API 按钮。

后续步骤

您可以根据自己的需求详细了解如何创建 Cloud SQL 实例

您还可以了解如何为 Cloud SQL 实例创建 PostgreSQL 用户数据库

如需详细了解价格,请参阅 Cloud SQL for PostgreSQL 价格

详细了解以下内容:

  • 使用公共 IP 地址配置 Cloud SQL 实例。
  • 使用专用 IP 地址配置 Cloud SQL 实例。

此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: