将数据库迁移到 AlloyDB for PostgreSQL
准备工作
- 登录您的 Google Cloud 账号。如果您是 Google Cloud新手, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
启用 Database Migration Service API。
启用 API 所需的角色
如需启用 API,您需要拥有 Service Usage Admin IAM 角色 (
roles/serviceusage.serviceUsageAdmin),该角色包含serviceusage.services.enable权限。了解如何授予角色。 - 确保您已将 Database Migration Admin 角色分配给您的用户账号。
要求
Database Migration Service 提供各种源数据库选项和连接方法。不同源使用某些连接方法的效果比使用其他方法更好。在本快速入门中,我们假设您在将网络配置为添加入站防火墙规则的环境中使用独立的 PostgreSQL 数据库。源数据库可以位于本地,也可以位于云提供方。由于我们无法获知您环境的具体细节,因此我们无法提供网络配置的详细步骤。
在本快速入门中,您将为源数据库引擎 选择 PostgreSQL ,为目标数据库引擎 选择 AlloyDB for PostgreSQL ,并选择 VPC 对等互连 作为网络方法。
创建源连接配置文件
通过创建连接配置文件,您可以创建包含源数据库相关信息的记录。Database Migration Service 使用连接配置文件中的信息将数据从源数据库迁移到目标 AlloyDB 数据库实例。在 控制台 Google Cloud 中,前往 Database Migration Service 的“连接配置文件”页面。
点击创建配置文件 。
在创建连接配置文件 页面,从配置文件角色 列表中选择来源 。
从数据库引擎 列表中,选择源数据库的以下分类类型之一:
- 独立的 PostgreSQL 实例 (PostgreSQL)
- 现有的 Cloud SQL for PostgreSQL 实例 (Cloud SQL for PostgreSQL)
- Amazon RDS for PostgreSQL 实例 (Amazon RDS for PostgreSQL)
在本快速入门中,请选择 PostgreSQL 。
- 提供以下信息:
- 在连接配置文件名称 字段中,为源数据库的连接配置文件输入一个名称,例如
My Connection Profile。 - 保留自动生成的连接配置文件 ID 。
- 输入连接信息:
- 如果您要从自托管数据库复制,请输入主机名或 IP 地址 (网域或 IP)和端口 以访问主机。(默认 PostgreSQL 端口为 5432。)
- 如果您要从 Cloud SQL 数据库复制,请从下拉列表中选择 Cloud SQL 实例。
- 输入用户名 和密码 ,对源实例进行身份验证。
- 在连接配置文件名称 字段中,为源数据库的连接配置文件输入一个名称,例如
在页面的连接配置文件区域 部分,选择您要在其中保存连接配置文件的区域。
- 点击创建 。
创建迁移作业
Database Migration Service 会使用迁移作业将数据从源数据库实例迁移到目标 AlloyDB 数据库实例。创建迁移作业包括:
- 定义作业的设置
- 选择您为源数据库创建的连接配置文件(源连接配置文件)
- 定义目标 AlloyDB 数据库实例的设置
- 在源数据库实例和目标数据库实例之间建立连接
- 测试迁移作业,以确保您为作业提供的连接信息有效
定义迁移作业的设置
在控制台中,前往 Database Migration Service 的“迁移作业”页面。 Google Cloud
点击创建迁移作业 。
在迁移作业名称 字段中,为迁移作业输入名称,例如
My Migration Job。保留自动生成的迁移作业 ID 。
打开源数据库引擎 下拉列表,然后选择源数据库的分类类型。在本快速入门中,请选择 AlloyDB for PostgreSQL 。
选择要在其中创建目标实例的目标区域 。
将迁移作业类型 设置为“持续”,因为您希望将源数据库中正在进行的更改迁移到目标 AlloyDB 数据库实例。
查看自动生成的必要前提条件,以反映如何为迁移作业准备环境。这些前提条件可能包括如何配置源数据库以及如何将其连接到目标 AlloyDB 数据库实例。最好在此步骤中完成这些前提条件,但您可以在测试迁移作业或启动迁移作业之前随时完成。如需详细了解这些前提条件,请参阅配置来源。
点击保存并继续 。
指定有关来源连接配置文件的信息
打开选择来源连接配置文件 下拉列表,然后选择您创建的连接配置文件。
点击保存并继续 。
创建目标 AlloyDB 集群
集群是 AlloyDB 中的顶级资源。如需创建目标集群,请执行以下操作:
- 选择集群类型。Database Migration Service 目前支持高可用性 AlloyDB 集群。它们可以从一个区域中的多个可用区提供数据,而无需读取池。
- 点击继续 。
- 配置集群:
- 在集群 ID 字段中,为集群输入一个 ID。
- 在密码 字段中,为默认
postgres用户输入密码。您需要使用此密码登录数据库。 - 在网络 字段中,选择网络路径以定义在设置迁移连接性时哪些资源可用。只能为集群配置专用 IP 网络路径。如果您计划通过 VPC 对等互连连接到源数据库,请选择源数据库所在的 VPC。
- (可选)选择分配的 IP 范围名称,以指定您的实例可连接的 IP 地址。
- 点击继续 。
- 配置主实例。主实例决定集群的计算容量,且支持读写操作:
- 在实例 ID 字段中,输入主实例的 ID。
- 选择机器类型。
- 可选:为实例设置标志。您可以使用标志自定义实例。如需了解支持的标志,请参阅 AlloyDB 文档。对于每个标志:
- 点击添加标志 。
- 从新增数据库标志 列表中选择一个标志。
- 为标志提供值。
- 点击完成 。
- 点击保存并继续 。
- 点击创建目标并继续 ,确认您的选择。
- 等待目标实例创建完成。
设置连接
- 选择您要在源数据库和目标数据库之间建立连接时使用的网络方法 。在本快速入门中,请使用 连接方法 列表 选择 VPC 对等互连 作为网络方法。
- 检查源数据库的 VPC 网络。点击配置并继续 以完成连接配置文件配置。
配置迁移数据库
您可以选择要迁移的数据库。
- 从要迁移的数据库 列表中,选择所有数据库 。
系统会选择源数据库上的所有数据库进行迁移。
- 点击保存并继续 。
测试并创建迁移作业
查看您为迁移作业选择的设置。
点击测试作业 ,验证源实例是否已正确配置,源实例和目标实例是否能够相互通信,以及迁移作业是否有效。
验证您是否看到“测试已成功通过!”状态。
如果测试失败,您可以在流的适当部分解决问题,然后返回重新测试。
点击创建并启动作业 ,创建迁移作业并立即启动。
在后续对话框中,点击启动 。
在迁移作业 页面中,验证迁移作业的状态是否为“正在启动”。几分钟后,确认状态变为“正在运行”。
验证迁移作业
在本部分中,您将确认 Database Migration Service 是否使用了迁移作业将数据从源数据库实例迁移到目标 AlloyDB 数据库实例。
- 在控制台中,前往 AlloyDB 的集群 页面。 Google Cloud
- 点击迁移作业的读取副本条目。
- 点击页面右上角显示的激活 Cloud Shell 图标。
- 在 Cloud Shell 提示符处,按 Enter 键。
- 可选:如果系统显示为 Cloud Shell 提供授权 对话框,请点击授权 。
- 在输入密码 提示符处,输入您在定义和创建目标 AlloyDB 实例中提供或由 Database Migration Service 为您生成的密码。
- 在 postgres 提示符处,输入
\list以列出数据库并验证您是否看到源数据库实例。 - 在 postgres 提示符处,输入
\connect SOURCE_DB_NAME,因为您想要查看与此数据库实例关联的表。提示的名称从postgres更改为 SOURCE_DB_NAME。 - 在 SOURCE_DB_NAME 提示符处,输入
\dt以查看此实例的表。 - 在 SOURCE_DB_NAME 提示符处,输入
GRANT alloydbexternalsync to USER;,因为您想要向此用户授予访问此实例表中数据的权限。 - 在 SOURCE_DB_NAME 提示符处,输入
SELECT * from TABLE_NAME;以查看从源数据库实例中的表复制的信息。 - 验证您是否在表中看到正确的信息。
这证实 Database Migration Service 已迁移数据。
提升迁移作业
您已准备好提升迁移作业。因此,目标 AlloyDB 数据库实例将替换源数据库实例,成为主数据库。
返回迁移作业 页面。
点击要提升的迁移作业。系统会显示迁移作业详情 页面。
等待复制延迟趋近于零。
停止对来源数据库执行的所有写入操作 。
等待复制延迟为零。
点击要提升的迁移作业。此作业的状态应为“正在运行”。
点击提升 以提升迁移作业。
在后续对话框中,再次点击提升 。
验证迁移作业的状态是否为“正在提升”。几分钟后,确认状态变为“已完成”。
新的 AlloyDB 数据库实例已可供使用。
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
- 使用 Google Cloud 控制台 删除您不需要的迁移作业、连接配置文件、AlloyDB 集群和 项目。
后续步骤
- 详细了解 如何管理连接配置文件。
- 详细了解 迁移作业状态。
- 详细了解 迁移作业指标。