概览
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。创建迁移作业包括以下步骤:
- 定义迁移作业的设置
- 指定您为源数据库创建的连接配置文件(来源连接配置文件)的相关信息
- 为目标 Cloud SQL 数据库实例定义设置并创建实例
- 在源数据库实例和目标数据库实例之间建立连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
定义迁移作业的设置
- 前往Google Cloud 控制台中的迁移作业页面。
- 点击页面顶部的创建迁移作业。
- 为迁移作业提供名称。选择一个有助于您识别迁移作业的简单易记的名称。请勿在作业名称中包含敏感信息或个人身份信息。
- 保留自动生成的迁移作业 ID。
- 选择源数据库引擎。
- 选择目标数据库引擎。
选择迁移的目标区域。这是创建数据库迁移服务实例的位置,应根据需要数据的服务(例如 Compute Engine 实例、App Engine 应用及其他服务)的位置进行选择。选择目标区域后,此选择便无法更改。
指定迁移作业类型:一次性(仅快照)或持续(快照 + 持续更改)。
查看自动生成的必要前提条件,以反映如何为迁移作业准备环境。这些前提条件可能包括如何配置源数据库,以及如何将其连接到目标 Cloud SQL 数据库实例。最好在此步骤中完成这些前提条件,但您可以在测试或启动迁移作业之前随时完成。如需详细了解这些前提条件,请参阅配置来源。
点击保存并继续。
指定有关来源连接配置文件的信息
-
如果您已创建连接配置文件,请从现有连接配置文件列表中选择它。
如果您尚未创建连接配置文件,请通过点击该下拉列表底部的创建连接配置文件创建一个,然后执行创建来源连接配置文件中的步骤。
- 在自定义数据转储配置部分中,点击显示数据转储配置。
数据转储并行速度与源数据库上的负载量相关。您可以使用以下设置:
- 最佳(推荐):平衡的性能,源数据库上的负载最优。
- 最大:提供最高的转储速度,但可能会导致来源数据库的负载增加。
- 最小:占用源数据库上最少的计算资源,但转储吞吐量可能会较慢。
如果您想使用经过调整的数据转储并行设置,请务必在源数据库上增加
max_replication_slots
、max_wal_senders
和max_worker_processes
参数。您可以在创建迁移作业结束时 运行迁移作业测试来验证配置。 - 点击保存并继续。
定义并创建目标 Cloud SQL 实例
- 从目标实例类型下拉菜单中,选择新实例。
您还可以迁移到现有实例,请参阅 现有实例的迁移作业。
- 为 Cloud SQL 实例提供 ID,或使用自动生成的 ID。 请勿在 ID 中包含敏感信息或个人身份信息,因为此 ID 对外可见。无需在实例名称中包含项目 ID。此操作将在适当的位置(例如在日志文件中)自动完成。
为目标 Cloud SQL 实例提供字母数字密码。这是实例中
postgres
管理员账号的密码。您可以手动输入密码,也可以点击生成以让 Database Migration Service 自动为您创建密码。
- 从指定数据库引擎支持的 Database Migration Service 版本列表中,为目标实例选择数据库版本。 详细了解跨版本迁移支持。
- 为目标实例选择 Cloud SQL for PostgreSQL 版本。有两个选项可供选择:Cloud SQL for PostgreSQL 企业版和 Cloud SQL for PostgreSQL 企业 Plus 版。
Cloud SQL for PostgreSQL 版本具有不同的功能集、可用机器类型和价格。请务必参阅 Cloud SQL 文档,选择适合您需求的版本。如需了解详情,请参阅 Cloud SQL for PostgreSQL 版本简介。
实例将在您为迁移作业定义设置时选择的区域中创建。选择该区域内的可用区,或者将可用区设置为不限,以便 Google 自动选择一个可用区。
如果您要将实例配置为高可用性实例,请选择多个可用区(高可用性)。您可以同时选择主要可用区和次要可用区。 在创建实例期间使用次要可用区时,适用以下条件:
- 主要可用区默认为任意,次要可用区默认为任意(不同于主要可用区)。
- 如果同时指定主要可用区和次要可用区,则它们必须是不同的可用区。
- 选择是通过专用 IP 地址还是公共 IP 地址连接到此实例。
- 如果您计划通过 VPC 对等互连或反向 SSH 隧道进行连接,请选中专用 IP复选框。
- 请确保满足以下条件,以便启用专用 IP:
- Service Networking API 已启用。您可以使用 Google Cloud 控制台启用 Service Networking API。
- 您拥有
servicenetworking.services.addPeering
IAM 权限。 - 您已为项目配置了专用服务访问通道,为此您需要拥有
compute.networkAdmin
IAM 角色。 - 您的项目中至少有一个非旧版 VPC 网络或共享 VPC 网络。
- 如果您使用的是共享 VPC 网络,则还需要执行以下操作:
- 为宿主项目启用 Service Networking API。
- 将您的用户添加到宿主项目中。
- 为用户授予宿主项目中的 compute.networkAdmin IAM 角色。
- 选择要建立对等互连的关联 VPC 网络。如果您计划通过 VPC 对等互连连接到迁移来源,请选择实例所在的 VPC。
- 如果从未为所选 VPC 配置托管式服务网络,您可以选择选择一个 IP 地址范围并点击连接,也可以使用自动选择的 IP 地址范围并点击分配并连接。
- 如果您计划通过 IP 许可名单进行连接,请选中公共 IP 复选框。
您可以选择点击已获授权的网络字段,然后授权网络或代理连接到 Cloud SQL 实例。网络只能通过您提供的地址获得授权。详细了解如何配置对实例的公开访问权限。
- 选择 Cloud SQL 实例的机器类型。磁盘大小必须等于或大于源数据库的大小。
详细了解 PostgreSQL 机器类型。
- 对于 Cloud SQL for PostgreSQL 企业 Plus 版:如果您想在目标数据库中使用数据缓存功能,请选中启用数据缓存复选框。
数据缓存是一项适用于 Cloud SQL for PostgreSQL 企业 Plus 版实例的可选功能,可向目标数据库添加高速本地固态硬盘。此功能可能会给您的 Cloud SQL 带来额外费用。 如需详细了解数据缓存,请参阅 Cloud SQL 文档中的数据缓存概览。
- 指定 Cloud SQL 实例的存储类型。您可以选择 固态硬盘 (SSD) 或普通硬盘 (HDD)。
- 指定 Cloud SQL 实例的存储容量(以 GB 为单位)。
- (可选)点击显示可选配置,然后执行以下操作:
指定您是否要管理从源迁移到目标的数据的加密。默认情况下,您的数据使用由 Google Cloud管理的密钥进行加密。如果您希望管理加密,可以使用由客户管理的加密密钥 (CMEK)。为此,请执行以下操作:
- 选中使用客户管理的加密密钥 (CMEK) 复选框。
- 从选择客户管理的密钥菜单中,选择您的 CMEK。
如果您没有看到密钥,请点击输入密钥资源名称以提供要使用的密钥的资源名称。例如,您可以在密钥资源名称字段中输入
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key
,然后点击保存。- 添加将应用于数据库服务器的所有必要标志。请尽可能确保创建的目标 Cloud SQL 实例上的数据库标志与源数据库上的数据库标志相同。 详细了解 PostgreSQL 支持的数据库标志。
- 添加特定于 Cloud SQL 实例的任何标签。
标签可帮助您整理实例。例如,您可以按成本中心或环境来整理标签。您的账单中也会包含标签,便于您按标签查看费用分布情况。
点击创建并继续。
- 在创建目标数据库窗口中,点击创建目标位置并继续以创建新实例。此过程最多可能需要几分钟。
- 等待目标实例创建完成。
在源数据库实例和目标数据库实例之间建立连接
从连接方法下拉菜单中,选择一种网络连接方法。此方法用于指定新建的 Cloud SQL 实例连接源数据库的方式。当前的网络连接方法包括 IP 许可名单、反向 SSH 隧道和 VPC 对等互连。
- 如果您选择 IP 许可名单网络连接方法,则需要指定目标实例的出站 IP 地址。如果您创建的 Cloud SQL 实例是高可用性实例,请添加主实例和辅助实例的传出 IP 地址。
如果您选择了反向 SSH 隧道网络连接方法,请选择将托管隧道的 Compute Engine 虚拟机实例。
指定实例后,Google 会提供一个脚本,可执行用于设置源数据库和目标数据库之间的隧道的步骤。您需要在 Google Cloud CLI 中运行该脚本。
从同时连接到源数据库和 Google Cloud 的机器上运行命令。
- 如果您选择 VPC 对等互连网络连接方法,请选择来源数据库所在的 VPC 网络。Cloud SQL 实例将更新以连接到此网络。
- 详细了解如何配置连接。
选择网络连接方法并提供该方法的任何其他信息后,点击配置并继续。
测试并创建迁移作业
在最后一步中,查看迁移作业设置、源、目标和连接方法的摘要,然后测试迁移作业设置的有效性。如果遇到任何问题,您可以修改迁移作业的设置。并非所有设置都可以修改。点击测试作业,验证以下各项:
- 源数据库已根据前提条件正确配置。
- 源实例和目标实例可以相互通信。
- 完成对目标位置所需的任何专用 IP 地址或公共 IP 地址的更新。
迁移作业有效,源版本和目标版本兼容。
如果测试失败,您可以在流的适当部分解决问题,然后返回重新测试。
点击创建并启动作业以创建迁移作业并立即启动,或点击创建作业以创建迁移作业而不立即启动。
如果作业未在创建时启动,则可以在迁移作业页面中通过点击开始启动作业。
无论迁移作业何时开始,贵组织都需要为目标实例的存在付费。
迁移作业会添加到迁移作业列表中,您可以直接查看。