概览
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 Cloud SQL 数据库实例。创建迁移作业包括:
- 定义迁移作业的设置
- 指定有关您为源数据库创建的连接配置文件(来源连接配置文件)的信息
- 定义目标 Cloud SQL 数据库实例的设置并创建该实例
- 在源数据库实例和目标数据库实例之间建立连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
Database Migration Service 向导可帮助您创建迁移作业。该向导包含多个窗格,您可以在其中提供有关源数据库、目标数据库和连接方法的信息。 在向导中,您还可以在完成迁移作业创建之前对其进行测试。本页面的各个部分介绍了如何填充每个窗格。
定义迁移作业的设置
- 前往Google Cloud 控制台中的迁移作业页面。
- 点击页面顶部的创建迁移作业。
为迁移作业提供名称。
选择一个有助于您识别迁移作业的友好名称。请勿在作业名称中包含敏感信息或个人身份信息。
保留自动生成的迁移作业 ID。
选择源数据库引擎。
选择目标数据库引擎。
为迁移选择目标区域。这是创建 Database Migration Service 实例的区域,应根据需要数据的服务(例如 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.addPeeringIAM 权限。 - 您已为项目配置专用服务访问通道,为此您需要拥有
compute.networkAdminIAM 角色。 - 您的项目中至少有一个非旧版 VPC 网络或一个共享 VPC 网络。
- 如果您使用的是共享 VPC 网络,则还需要执行以下操作:
- 为宿主项目启用 Service Networking API。
- 将您的用户添加到宿主项目中。
- 为用户授予宿主项目中的 compute.networkAdmin IAM 角色。
- 选择要建立对等互连的关联 VPC 网络。如果您计划通过 VPC 对等互连连接到迁移来源,请选择实例所在的 VPC。
- 如果所选 VPC 从未配置过代管式服务网络,您可以选择一个 IP 范围,然后点击连接;也可以使用自动选择的 IP 范围,然后点击分配并连接。
如果您计划通过 IP 许可名单进行连接,请选择公共 IP。
(可选)点击已获授权的网络,然后授权网络或代理连接到 Cloud SQL 实例。Cloud SQL 实例仅接受来自已获授权的地址的连接。如需详细了解如何配置对实例的公开访问权限,请参阅配置公共 IP。
- 为 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 实例将更新以连接到此网络。
- 详细了解如何配置连接。
选择网络连接方法并提供该方法的任何其他信息后,点击配置并继续。
配置迁移数据库
您可以选择要迁移的数据库。
- 在要迁移的数据库列表中,选择以下选项之一:
- 所有数据库:选择源上存在的所有数据库。
- 特定数据库:允许您从源上存在的所有数据库中选择特定数据库。
如果您想迁移特定数据库,可以过滤显示的列表,然后选择您希望 Database Migration Service 迁移到目标位置的数据库。
如果未显示该列表,并且系统显示数据库发现错误,请点击重新加载。如果数据库发现失败,作业会迁移所有数据库。您可以继续创建迁移作业,稍后再修正连接错误。
- 点击保存并继续。
测试并创建迁移作业
在最后一步中,查看迁移作业设置、源、目标和连接方法的摘要,然后测试迁移作业设置的有效性。如果遇到任何问题,您可以修改迁移作业的设置。并非所有设置都可以修改。点击 TEST JOB 以验证:
- 源数据库已根据前提条件正确配置。
- 源实例和目标实例可以相互通信。
- 已完成对目标位置所需的专用或公共 IP 地址的任何更新。
迁移作业有效,源版本和目标版本兼容。
如果测试失败,您可以在流程的适当部分解决问题,然后返回重新测试。
点击创建并启动作业可创建迁移作业并立即启动,点击创建作业可创建迁移作业但不立即启动。
如果作业在创建时未启动,则可以在迁移作业页面中通过点击开始进行启动。
无论迁移作业何时开始,贵组织都需要为目标实例的存在付费。
迁移作业会添加到迁移作业列表中,您可以直接查看。