概览
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 迁移到目标位置的数据库。
如果未显示该列表,并且系统显示数据库发现错误,请点击重新加载。如果数据库发现失败,作业会迁移所有数据库。您可以继续创建迁移作业,稍后再修正连接错误。
- 点击保存并继续。
测试并创建迁移作业
在最后一步中,查看迁移作业设置、源、目标和连接方法的摘要,然后测试迁移作业设置的有效性。如果遇到任何问题,您可以修改迁移作业的设置。并非所有设置都可以修改。点击 TEST JOB 以验证以下内容:
- 源数据库已根据前提条件正确配置。
- 源实例和目标实例可以相互通信。
- 已完成对目标上所需的专用 IP 地址的任何更新。
迁移作业有效,源版本和目标版本兼容。
如果测试失败,您可以在流程的适当部分解决问题,然后返回重新测试。
即使测试失败,也可以创建迁移作业,但作业开始后,在运行期间可能会在某个时间点失败。
点击创建并启动作业可创建迁移作业并立即启动,点击创建作业可创建迁移作业但不立即启动。
如果作业在创建时未启动,则可以在迁移作业页面中通过点击开始进行启动。
无论迁移作业何时开始,贵组织都需要为目标实例的存在付费。
迁移作业会添加到迁移作业列表中,您可以直接查看。