使用专用 IP 连接到 Cloud SQL for SQL Server 实例
本页面介绍如何使用专用 IP 创建和连接到 SQL Server 实例。如果您及时完成本快速入门中的步骤(包括清理),那么在此期间所创建资源的费用通常不会超过一美元。
准备工作
- 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.
-
启用必要的 Google Cloud API。
控制台
在 Google Cloud 控制台中,转到 API 页面。
启用 Cloud SQL Admin API。 通过启用此 API,您可以运行 Cloud SQL Auth 代理。gcloud
点击以下按钮打开 Cloud Shell,以通过命令行直接在浏览器中访问 Google Cloud 资源。Cloud Shell 可用于运行本快速入门中介绍的
gcloud
命令。按照以下方式使用 Cloud Shell 运行
gcloud services enable
命令,以启用本快速入门所需的 API。gcloud services enable sqladmin.googleapis.com
此命令会启用以下 API:
- Cloud SQL Admin API。通过启用此 API,您可以运行 Cloud SQL Auth 代理。
概览
您可以通过多种方式使用专用 IP 地址连接到 Cloud SQL 实例,具体取决于来源所在的位置。关键因素是源机器必须与 Cloud SQL 实例位于同一 VPC 网络中。如果来源不在 Google Cloud 中或不在同一 Google Cloud 项目中,则您必须以不同于我们在此处显示的方式配置连接。
在本快速入门中,我们将通过最直接的路径配置连接。来源和目标位于同一 Google Cloud 项目和同一 VPC 网络中。我们创建一个使用专用 IP 地址(目标)和 Compute Engine 虚拟机(来源)的 Cloud SQL 实例。我们使用虚拟机安装和使用从虚拟机连接到 Cloud SQL 实例所需的工具。
执行以下操作:
- 创建使用专用 IP 地址的 Cloud SQL 实例。
查找并保存实例的
connection name
以供日后使用。 - 创建 Compute Engine 虚拟机。
- 打开与 Compute Engine 虚拟机的两个 SSH 连接。
您将使用第一个窗口来安装 sqlcmd 并安装和启动 Cloud SQL Auth 代理。然后,您将使用第二个窗口,通过连接到 Cloud SQL Auth 代理来连接到 Cloud SQL 实例。
- 在 SSH 窗口 #1 中,执行以下操作:
- 安装 sqlcmd 客户端。
- 安装 Cloud SQL Auth 代理
Cloud SQL Auth 代理充当 sqlcmd 客户端和 Cloud SQL 实例之间的连接器。
- 启动 Cloud SQL Auth 代理。
成功后,Cloud SQL Auth 代理会监听连接请求。
- 在 SSH 窗口 #2 中,通过将 sqlcmd 客户端连接到 Cloud SQL Auth 代理来连接到 Cloud SQL 实例。
成功后,您会在此窗口中看到 sqlcmd 提示符,并在 SSH 窗口 #1(运行着 Cloud SQL Auth 代理)中看到一条成功的连接消息。
- 清理。
创建使用专用 IP 地址的 Cloud SQL 实例。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 点击创建实例。
- 点击选择 SQL Server (Choose SQL Server)。
- 如果系统提示您启用 Compute API,请点击启用 API 按钮。
- 在实例信息部分,输入实例 ID 的名称。
- 为 sqlserver 用户输入密码。 记下您创建的密码,稍后您将用到它。
- 在选择区域和可用区可用性部分中,选择单可用区选项。
- 展开显示配置选项。
- 展开连接。
- 清除公共 IP。
- 选择专用 IP。
- 从网络下拉列表中,选择默认。
- 如果您使用的是新项目,则系统会提示您:需要专用服务连接。然后按以下步骤操作:
- 点击设置连接。
- 点击启用 Service Networking API。
- 在分配 IP 范围部分中,选择使用自动分配的 IP 范围。
- 点击继续。
- 点击创建连接,然后等待连接创建完成。
点击创建实例。
您将转到实例“概览”页。点击进入新实例,查看包括其专用 IP 地址在内的详细信息。
在连接到此实例部分中,复制并保存实例的连接名称。connection name
的格式为 projectID:region:instanceID
。
稍后您将在启动 Cloud SQL Auth 代理时使用此 connection name
。
创建 Compute Engine 虚拟机
-
在 Google Cloud 控制台中,转到虚拟机实例页面。
- 点击创建实例。
- 输入实例的名称。
- 在访问权限范围中,选择允许所有 Cloud API 的全面访问权限。
- 点击创建并等待虚拟机完成创建。
打开与 Compute Engine 虚拟机的两个 SSH 连接
我们在虚拟机中使用两个窗口。第一个窗口用于安装 sqlcmd 客户端和 Cloud SQL Auth 代理,获取实例连接名称,然后使用此名称启动代理。第二个窗口用于通过代理连接到 Cloud SQL 实例。
- 展开 Compute Engine 虚拟机实例的SSH列中的 SSH 菜单。
- 选择在浏览器窗口中打开以打开 SSH 窗口 #1。
窗口中的提示可能需要几秒钟才能使用。
- 出现提示时,输入
pwd
以验证您是否位于/home/$USER
目录中。在该窗口中,您将安装 sqlcmd 客户端和 Cloud SQL Auth 代理,并启动 Cloud SQL Auth 代理。
- 再次选择在浏览器窗口中打开,以打开 SSH 窗口 #2。
您将使用此窗口连接到 Cloud SQL 实例。
安装 sqlcmd 客户端
使用 SSH 窗口 #1 执行此步骤。
按照 这些说明安装适用于 Ubuntu 的 SQL Server 命令行工具 (mssql-tools)。
安装 Cloud SQL Auth 代理
使用 SSH 窗口 #1 执行此步骤。
- 安装
wget
:sudo apt-get install wget
- 下载 Cloud SQL Auth 代理:
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- 使 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 --private-ip INSTANCE_CONNECTION_NAME
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
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
-
在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。
- 选择
myinstance
实例以打开实例详情页面。 - 在页面顶部的图标栏中,点击删除。
- 在删除实例窗口中,输入实例的名称,然后点击删除。
可选的清理步骤
如果您没有使用在本快速入门中启用的 API,则可以将其停用。
- 在本快速入门中启用的 API:
- Cloud SQL Admin API
后续步骤
您可以根据自己的需求详细了解如何创建 Cloud SQL 实例。
您还可以了解如何为 Cloud SQL 实例创建 SQL Server 用户和数据库。
此外,您还可以了解如何从其他 Google Cloud 应用连接到 Cloud SQL 实例: