使用专用 IP 的 Cloud SQL 快速入门

本页面介绍如何使用专用 IP 创建和连接到 SQL Server 实例。如果您及时完成本快速入门中的步骤(包括清理),那么在此期间所创建资源的费用通常不会超过一美元。

设置项目

在执行本快速入门中的步骤之前,请完成以下任务:

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. 确保您的用户帐号具有 Cloud SQL Admin 角色。
    1. 转到 IAM 页面。
      转到 IAM 页面
    2. 点击添加
    3. 新主帐号中,添加您的用户帐号名称。
    4. 选择角色中,过滤 Cloud SQL Admin,然后从列表中选择该角色。
    5. 点击保存
  7. 启用 Cloud SQL Admin API 和 Compute Engine API。
    启用 API

概览

您可以通过多种方式使用专用 IP 地址连接到 Cloud SQL 实例,具体取决于来源所在的位置。关键因素是源机器必须与 Cloud SQL 实例位于同一 VPC 网络中。如果来源不在 Google Cloud 中或不在同一 Google Cloud 项目中,则您必须以不同于我们在此处显示的方式配置连接

在本快速入门中,我们将通过最直接的路径配置连接。来源和目标位于同一 Google Cloud 项目和同一 VPC 网络中。我们创建一个使用专用 IP 地址(目标)和 Compute Engine 虚拟机(来源)的 Cloud SQL 实例。我们使用虚拟机安装和使用从虚拟机连接到 Cloud SQL 实例所需的工具。

执行以下操作:

  1. 创建使用专用 IP 地址的 Cloud SQL 实例

    查找并保存实例的 connection name 以供日后使用。

  2. 创建 Compute Engine 虚拟机
  3. 在虚拟机中打开两个 SSH 窗口

    您将使用第一个窗口来安装 sqlcmd 并安装和启动 Cloud SQL Auth 代理。然后,您将使用第二个窗口,通过连接到 Cloud SQL Auth 代理连接到 Cloud SQL 实例。

  4. 在 SSH 窗口 #1 中安装 sqlcmd 客户端
  5. 在 SSH 窗口 #1 中安装 Cloud SQL Auth 代理

    Cloud SQL Auth 代理充当 sqlcmd 客户端和 Cloud SQL 实例之间的连接器。

  6. 在 SSH 窗口 #1 中启动 Cloud SQL Auth 代理

    成功后,Cloud SQL Auth 代理会侦听连接请求。

  7. 在 SSH 窗口 2 中,通过将 sqlcmd 客户端连接到 Cloud SQL Auth 代理来连接到 Cloud SQL 实例

    成功后,您会在此窗口中看到 sqlcmd 提示符,并在 SSH 窗口 #1(运行 Cloud SQL Auth 代理)中看到一条成功的连接消息。

  8. 清理.

    同时删除 Cloud SQL 实例和 Compute Engine 虚拟机。

创建使用专用 IP 地址的 Cloud SQL 实例。

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

    转到“Cloud SQL 实例”

  2. 点击创建实例
  3. 点击选择 SQL Server (Choose SQL Server)。
  4. 如果系统提示您启用 Compute API,请点击启用 API 按钮。
  5. 实例信息部分,输入实例 ID 的名称。
  6. 为 sqlserver 用户输入密码。 记下您创建的密码,稍后您将用到它。
  7. 选择区域和可用区可用性部分中,选择单可用区选项。
  8. 展开显示配置选项
  9. 展开连接
  10. 清除公共 IP
  11. 选择专用 IP
  12. 网络下拉列表中,选择默认
  13. 如果您使用的是新项目,则系统会提示您:需要专用服务连接。然后按以下步骤操作:
    1. 点击设置连接
    2. 点击启用 Service Networking API
    3. 分配 IP 范围部分中,选择使用自动分配的 IP 范围
    4. 点击继续
    5. 点击创建连接,然后等待连接创建完成。
  14. 点击创建实例

您将转到实例“概览”页。点击进入新实例,查看包括其专用 IP 地址在内的详细信息。

连接到此实例部分中,复制并保存实例的连接名称connection name 的格式为 projectID:region:instanceID

稍后您将在启动 Cloud SQL Auth 代理时使用此 connection name

创建 Compute Engine VM

  1. 在 Google Cloud Console 中,转到虚拟机实例页面。

    转到“虚拟机实例”

  2. 点击创建实例
  3. 输入实例的名称
  4. 访问权限范围中,选择允许所有 Cloud API 的全面访问权限
  5. 点击创建并等待虚拟机完成创建。

打开与 Compute Engine 虚拟机的两个 SSH 连接

我们在虚拟机中使用两个窗口。第一个窗口用于安装 sqlcmd 客户端和 Cloud SQL Auth 代理,获取实例连接名称,然后使用此名称启动代理。第二个窗口用于通过代理连接到 Cloud SQL 实例。

  1. 展开 Compute Engine 虚拟机实例的连接列中的 SSH 菜单。
  2. 选择在浏览器窗口中打开以打开 SSH 窗口 #1。

    窗口中的提示可能需要几秒钟才能使用。

  3. 出现提示时,输入 pwd 以验证您是否位于 /home/$USER 目录中。

    在该窗口中,您将安装 sqlcmd 客户端和 Cloud SQL Auth 代理,并启动 Cloud SQL Auth 代理。

  4. 再次选择在浏览器窗口中打开,以打开 SSH 窗口 #2。

    您将使用此窗口连接到 Cloud SQL 实例。

安装 sqlcmd 客户端

使用 SSH 窗口 #1 执行此步骤。

按照 这些说明安装适用于 Ubuntu 的 SQL Server 命令行工具 (mssql-tools)。

安装 Cloud SQL Auth 代理

使用 SSH 窗口 #1 执行此步骤。

  1. 安装 wget
    sudo apt-get install wget
        
  2. 下载 Cloud SQL Auth 代理:
    wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
      
  3. 使 Cloud SQL Auth 代理可执行:
    chmod +x cloud_sql_proxy
      

启动 Cloud SQL Auth 代理

使用 SSH 窗口 #1 执行此步骤。

启动 Cloud SQL Auth 代理,以便您可以监控其输出。将 INSTANCE_CONNECTION_NAME 替换为您在创建 Cloud SQL 实例时复制的 connection name

./cloud_sql_proxy -instances=INSTANCE_CONNECTION_NAME=tcp:1433

Cloud SQL Auth 代理成功启动后,SSH 窗口中会显示以下类似消息:

Listening on 127.0.0.1:1433 for myInstance
Ready for new connections

连接到您的 Cloud SQL 实例

使用 SSH 窗口 #2 执行此步骤。

运行以下命令,将 USER_NAME 替换为您的 SQL Server 用户名。

sqlcmd -S 127.0.0.1 -U USER_NAME

返回到您启动了 Cloud SQL Auth 代理的终端窗口。您应该会看到如下所示的消息:

New connection for myInstance

清理

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

    转到“Cloud SQL 实例”

  2. 选择实例名称以打开概览页面。
  3. 在页面顶部的图标栏中,点击删除
  4. 删除实例窗口中,输入实例名称,然后点击删除

在删除实例后的大约七天内,您不能重新使用相应的实例名称。

  1. 在 Google Cloud Console 中,转到虚拟机实例页面。

    转到“虚拟机实例”

  2. 选择实例的名称。
  3. 更多操作菜单中,选择删除

后续步骤

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

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

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