您可以单独创建连接配置文件,也可以在创建特定迁移作业的过程中创建连接配置文件。无论采用哪种方式,您都可以在“连接配置文件”页面上查看和修改所有连接配置文件,并且可以在各种迁移作业中重复使用这些配置文件。
如果拥有源访问信息的用户与创建迁移作业的用户不是同一人,则单独创建源连接配置文件会很有用。您还可以在多个迁移作业中重复使用源连接配置文件定义。
如需创建来源连接配置文件,请按以下步骤操作:
控制台
- 前往 Google Cloud 控制台中的连接配置文件页面。
- 点击 Create profile(创建配置文件)。
- 在创建连接配置文件页面上,从配置文件角色列表中,选择来源。
- 从数据库引擎列表中,选择您的源数据库引擎。
- 在连接配置文件名称字段中,为连接配置文件输入一个可读取的名称。此值会显示在连接配置文件列表中。
- 保留自动生成的连接配置文件 ID。
- 输入主机名或 IP 地址。
如果源数据库托管在 Google Cloud中,或者使用反向 SSH 隧道将目标数据库连接到源数据库,请为源数据库指定专用(内部)IP 地址。 Cloud SQL 目标位置将能够访问此地址。如需了解详情,请参阅 使用 VPC 对等互连配置连接。
对于其他连接方法(例如 IP 许可名单),请提供公共 IP 地址。
- MySQL 限制主机名不得超过 60 个字符。Amazon RDS 数据库主机名通常超过 60 个字符。如果您要迁移的数据库存在这种情况,请配置 DNS 重定向以创建 CNAME 记录,将您的域名与 RDS 数据库实例的域名相关联。 您可以详细了解如何在 Google Cloud 或 AWS Route53 中设置 DNS CNAME。
- 输入用于访问主机的端口。默认 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]