概览
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 AlloyDB 数据库实例。对于专用 IP 连接,当您迁移到使用 Database Migration Service 创建的 AlloyDB for PostgreSQL 集群时,只能使用专用服务访问通道方法。如果您想将 Private Service Connect 与目标 集群搭配使用,请先 在 Database Migration Service 外部创建 AlloyDB for PostgreSQL 目标, 然后按照 迁移到现有实例 流程操作。
创建迁移作业包括:
- 定义迁移作业的设置
- 指定有关您为源数据库创建的连接配置文件(来源连接配置文件)的信息
- 定义目标 AlloyDB 数据库实例的设置并创建该实例
- 在源数据库实例和目标数据库实例之间建立连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
Database Migration Service 向导可帮助您创建迁移作业。该向导包含多个窗格,您可以在其中提供有关源数据库、目标数据库和连接方法的信息。 在向导中,您还可以在完成创建迁移作业之前对其进行测试。本页面的各个部分提供了有关如何填写每个窗格的信息。
定义迁移作业的设置
- 进入迁移作业页面,在 Google Cloud 控制台中。
- 点击页面顶部的创建迁移作业 。
为迁移作业提供名称。
选择一个便于您识别迁移作业的友好名称。请勿在作业名称中包含敏感信息或个人身份信息。
保留自动生成的迁移作业 ID 。
选择源数据库引擎。
选择 AlloyDB for PostgreSQL 作为目标引擎。
选择迁移的目标区域。这是创建 Database Migration Service 实例的位置,应根据需要数据的服务(例如 Compute Engine 实例、App Engine 应用及其他服务)的位置进行选择。选择目标区域后,便无法更改此选择。
选择持续 (快照 + 持续更改)作为迁移服务类型。
查看自动生成的必要前提条件,以反映如何为迁移作业准备环境。这些前提条件可能包括如何配置源数据库以及如何将其连接到目标 AlloyDB 数据库实例。最好在此步骤中完成这些前提条件,但您可以在测试或启动迁移作业之前随时完成。如需详细了解这些前提条件,请参阅配置来源。
点击保存并继续 。
指定有关来源连接配置文件的信息
-
如果您已创建连接配置文件,则从现有连接配置文件列表中选择它。
如果您尚未创建连接配置文件,请通过点击该下拉列表底部的 创建连接配置文件 创建一个,然后执行 创建来源连接配置文件中的步骤。
建议您为 AlloyDB 迁移创建指定的连接配置文件。
- 在自定义数据转储配置 部分中,
点击 显示数据转储配置。
数据转储并行处理的速度与源数据库上的负载量 有关。您可以使用以下设置:
- 最佳(推荐):平衡的性能和源数据库负载。
- 最高:提供最高的转储速度,但可能会导致源数据库负载增加。
- 最低:占用源数据库上最少的计算资源,但转储吞吐量可能会较慢。
如果您想使用调整后的数据转储并行处理设置, 请务必增加源数据库上的
max_replication_slots、max_wal_senders和max_worker_processes参数。您可以通过 运行迁移作业测试在迁移作业创建结束时验证配置。 - 点击保存并继续 。
定义和创建目标 AlloyDB 实例
您现在将为迁移作业创建一个新的目标 AlloyDB 集群。集群是 AlloyDB 中的顶级资源。它们包含一个主实例,用于对您在迁移过程中创建的数据库进行读写访问。
如需创建目标集群,请执行以下操作:
- 选择集群类型。Database Migration Service 目前支持高可用性 AlloyDB 集群。它们可以从一个区域中的多个可用区提供数据,而无需读取池。
- 点击继续 。
- 配置集群:
- 在集群 ID 字段中,输入集群的 ID。
- 在密码 字段中,输入默认
postgres用户的密码。您需要使用此密码登录数据库。 - 在网络 字段中:
- 选择网络路径以定义在 设置迁移连接性时哪些资源可用。只能为集群配置 专用 IP 网络路径。如果您计划使用 VPC 对等互连连接到源数据库 ,请选择源数据库所在的 VPC。
- 如果您的网络未配置专用服务访问通道,请点击设置连接,然后按照连接 配置向导操作。
- 如果从未为所选 VPC 配置代管式服务网络,您可以选择选择 IP 范围并点击连接 ,也可以使用自动选择的 IP 范围并点击分配并连接。
- 可选:在 加密 部分中,指定是否要
管理从来源迁移到目标的数据的加密。
默认情况下,您的数据会使用由管理的密钥进行加密 Google Cloud。
如果您希望管理加密,可以使用由客户管理的加密密钥 (CMEK)。 密钥必须与 AlloyDB 集群位于同一位置。例如,位于 us-west1 中的集群只能使用 us-west1 中的密钥。
- 选择使用客户管理的加密密钥 (CMEK) 单选按钮。
- 从选择客户管理的密钥 菜单中,选择您的 CMEK。
如果您没有看到密钥,请点击输入密钥资源名称 以提供要使用的密钥的资源名称。例如,您可以在密钥资源名称 字段中输入
projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key,然后点击保存。 - 点击继续 。
- 配置主实例。主实例决定集群的计算容量,且支持读写操作:
- 在实例 ID 字段中,输入主实例的 ID。
- 选择机器类型。
- 如果您计划使用 IP 许可名单 连接方法,请选中启用出站公共 IP 复选框。
- 可选:为实例设置标志。您可以使用标志自定义实例。如需了解支持的标志,请参阅 AlloyDB 文档。对于每个标志:
- 点击添加标志 。
- 从新增数据库标志 列表中选择一个标志。
- 为标志提供值。
- 点击完成 。
- 点击保存并继续 。
- 点击创建目标并继续 以确认您的选择。
- 等待目标实例创建完成。
在源数据库实例和目标数据库实例之间建立连接
从连接方法 下拉菜单中,选择一种网络连接方法。此方法用于指定新建的 AlloyDB 实例连接源数据库的方式。当前的网络连接方法包括 IP 许可名单、VPC 对等互连、反向 SSH 隧道以及通过云托管虚拟机实现的 TCP 代理。
- 如果您选择 IP 许可名单网络连接方法,则需要指定目标实例的传出 IP 地址。复制主实例和辅助实例的传出 IP 地址,并使用它们在源数据库服务器的网络防火墙和
pg_hba.conf文件中进行配置,以便源数据库可以接受来自这些地址的连接。 如果您选择反向 SSH 隧道网络连接方法,请选择将托管隧道的 Compute Engine 虚拟机实例。
指定实例后,Google 将提供一个脚本,该脚本将执行在源数据库和目标数据库之间设置隧道的步骤。您需要在 Google Cloud CLI 中运行该脚本。
在可以连接到源数据库和 Google Cloud 的机器上运行命令。
- 如果您选择 VPC 对等互连网络连接方法,请选择源数据库所在的 VPC 网络。Cloud SQL 实例将更新以连接到此网络。
如果您选择通过云托管虚拟机实现的 TCP 代理连接方法,请输入将托管 TCP 代理的新 Compute Engine 虚拟机实例的必要详细信息。
指定详细信息后, Google Cloud 控制台将提供一个脚本,该脚本将执行在源数据库和目标数据库之间设置代理的步骤。您需要在安装了更新版 Google Cloud CLI 的机器上运行该脚本。
运行脚本后,它将输出新创建的虚拟机的专用 IP。输入 IP,然后点击配置并继续 。
- 详细了解如何配置连接。
选择网络连接方法并为该方法提供任何其他信息后,点击配置并继续 。
配置迁移数据库
您可以选择要迁移的数据库。
- 从要迁移的数据库 列表中,选择以下选项之一:
- 所有数据库:选择来源中存在的所有数据库。
- 特定数据库:允许您从来源中存在的所有数据库中选择特定数据库。
如果您想迁移特定数据库,可以过滤显示的列表,然后选择您希望 Database Migration Service 迁移到目标位置的数据库。
如果未显示列表且显示数据库发现错误,请点击重新加载 。如果数据库发现失败,作业将迁移所有数据库。您可以继续创建迁移作业,稍后再修复连接错误。
- 点击保存并继续 。
测试并创建迁移作业
在此最后一步中,请查看迁移作业设置、来源、目标和连接方法的摘要,然后测试迁移作业设置的有效性。如果遇到任何问题,您可以修改迁移作业的设置。并非所有设置都是可修改的。点击测试作业 以验证:
- 已根据前提条件正确配置源数据库。
- 来源实例和目标实例可以相互通信。
- 已完成对目标所需的专用 IP 地址的任何更新。
迁移作业有效,并且来源版本和目标版本兼容。
如果测试失败,您可以在流程的相应部分解决问题,然后返回重新测试。
即使测试失败,也可以创建迁移作业,但作业启动后,可能会在运行期间的某个时间点失败。
点击创建并启动作业 以创建迁移作业并立即启动,或点击创建作业 以创建迁移作业而不立即启动。
如果作业在创建时未启动,则可以在迁移作业 页面中通过点击启动 来启动。
无论迁移作业何时启动,系统都会针对目标实例的存在向您的组织收费。
迁移作业会添加到迁移作业列表中,您可以直接查看。