您可以单独创建连接配置文件,也可以在创建特定迁移作业时创建连接配置文件。无论采用哪种方式,您都可以在“连接配置文件”页面上查看和修改所有连接配置文件,并且可以在迁移作业中重复使用这些配置文件。
如果您知道来源访问信息的人员与创建迁移作业的人员不同,则单独创建来源连接配置文件会很有用。您还可以在多个迁移作业中重复使用来源连接配置文件定义。
如需创建来源连接配置文件,请按以下步骤操作:
控制台
- 前往控制台中的“连接配置文件 ”页面。 Google Cloud
- 点击创建配置文件 。
- 在创建连接配置文件 页面,从配置文件角色 列表中选择来源 。
- 从数据库引擎 列表中,选择您的来源数据库引擎。 选择要迁移的 Cloud SQL 实例的 ID。
- 在 连接配置文件名称 字段中,输入 连接配置文件的易记名称。此值会显示在连接配置文件列表中。
- 保留自动生成的连接配置文件 ID 。
- 输入主机名 或 IP 地址 。
如果源数据库托管在 Google Cloud, 或者使用反向 SSH 隧道将目标数据库连接到源数据库, 则指定源数据库的专用(内部)IP 地址。 Cloud SQL 目标实例可以访问此地址。如需了解详情,请参阅 使用 VPC 对等互连配置连接。
对于其他连接方法(例如 IP 许可名单), 请提供公共 IP 地址。
- MySQL 将主机名限制为 60 个字符。Amazon RDS 数据库主机名通常超过 60 个字符。如果您要迁移的数据库属于这种情况,请配置 DNS 重定向,以创建将您的域名与 RDS 数据库实例的域名相关联的 CNAME 记录。如需详细了解如何设置 DNS CNAME,请参阅 Google Cloud 或 AWS Route53。
- 输入用于访问主机的端口 。默认 MySQL 端口为 3306。
- 输入目标数据库的用户名和密码。 用户账号必须具有访问数据所需的权限。 如需了解详情,请参阅 配置源数据库。
- 在页面的连接配置文件区域 部分,选择 您要在其中保存连接配置文件的区域。
可选:如果连接是通过公共网络 (使用 IP 许可名单)建立的,则我们建议您对源数据库和目标数据库之间的连接使用 SSL/TLS 加密。
在保护连接安全 部分,您可以从加密类型 列表中选择以下 SSL/TLS 配置选项之一:
- 无:Cloud SQL 目标实例在不加密的情况下连接到源数据库。如果您的数据库需要加密连接,我们建议您不要使用此选项。
- 基本:Cloud SQL 目标实例在加密的情况下连接到源数据库,但不验证证书授权机构 (CA)。
TLS 身份验证:当 Cloud SQL 目标实例连接到源数据库时,该实例会对源数据库进行身份验证,从而确保实例安全地连接到正确的主机。这样可以防止中间人 (PITM) 攻击。对于 TLS 身份验证, 源数据库不会对该实例进行身份验证。
如需使用 TLS 身份验证,您必须提供签署外部服务器证书的 CA 的 x509 PEM 编码证书。
- mTLS 身份验证:当目标实例连接到来源时,该实例会对来源进行身份验证,并且来源会对该实例进行身份验证。
mTLS 身份验证提供最高级别的安全防护。但是, 如果您不想在创建 Cloud SQL 目标实例时提供客户端证书和私钥,则仍可以使用 TLS 身份验证。
如需使用 mTLS 身份验证,您必须在创建目标连接配置文件时提供以下内容:
- 签署源数据库服务器证书的 CA 的证书(CA 证书)。
- 实例用来对源数据库服务器进行身份验证的证书(客户端证书)。
- 与客户端证书关联的私钥(客户端密钥)。
如果您在上传密钥时遇到问题,请选择手动输入 选项,然后将密钥复制并粘贴到文本区域中。
点击创建 。
随即会显示连接配置文件 页面,并显示新创建的连接配置文件。
gcloud
此示例使用可选的 --no-async 标志,以便所有操作都同步执行。这意味着某些命令可能需要一段时间才能完成。您可以跳过 --no-async 标志以异步运行命令。
如果这样做,您需要使用
gcloud database-migration operations describe命令来验证操作
是否成功。
在使用下面的命令数据之前, 请先进行以下替换:
- 将 CONNECTION_PROFILE_ID 替换为 连接配置文件的机器可读标识符。
- 将 REGION 替换为您要在其中保存连接配置文件的区域的标识符。
- 将 HOST_IP_ADDRESS 替换为 Database Migration Service 可以访问您的源数据库实例的 IP 地址。此值可能会因您用于迁移的连接方法而异 。
- 将 PORT_NUMBER 替换为您的源 数据库接受传入连接的端口号。默认 MySQL 端口为 3306。
- 将 USERNAME 替换为您希望 Database Migration Service 以其身份连接到源数据库实例的数据库用户 账号的名称。
- 将 PASSWORD 替换为数据库 用户账号的密码。
- (可选)将 CONNECTION_PROFILE_NAME 替换为连接配置文件的易记名称。此值会显示在 控制台中。 Google Cloud
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud database-migration connection-profiles \ create mysql CONNECTION_PROFILE_ID \ --no-async \ --region=REGION \ --host=HOST_IP_ADDRESS \ --port=PORT_NUMBER \ --username=USERNAME \ --password=PASSWORD \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create mysql CONNECTION_PROFILE_ID ` --no-async ` --region=REGION ` --host=HOST_IP_ADDRESS ` --port=PORT_NUMBER ` --username=USERNAME ` --password=PASSWORD ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create mysql CONNECTION_PROFILE_ID ^ --no-async ^ --region=REGION ^ --host=HOST_IP_ADDRESS ^ --port=PORT_NUMBER ^ --username=USERNAME ^ --password=PASSWORD ^ --display-name=CONNECTION_PROFILE_NAME
您应该会收到类似如下所示的响应:
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]