正在加载…
未找到任何结果。

在 Google Cloud 控制台中运用您的技能

访问 700 多个实验和课程

使用 Database Migration Service 从 PostgreSQL 迁移到 AlloyDB

实验 1 小时 30 分钟 universal_currency_alt 1 个积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
访问 700 多个实验和课程

GSP1084

Google Cloud 自学实验的徽标

概览

在 Google Cloud 中,您可以使用 Database Migration Service 将 PostgreSQL 数据库迁移到 AlloyDB for PostgreSQL。为此,AlloyDB 需要使用专用服务访问通道。为了实现此访问通道,需要在您的 VPC 网络与 AlloyDB 资源所在的底层 Google Cloud VPC 网络之间建立 VPC 对等互连连接。

在本实验中,您将使用持续的 Database Migration Service 作业和 VPC 对等互连连接,将一个独立的 PostgreSQL 数据库(在虚拟机上运行)迁移到 AlloyDB for PostgreSQL。

通过 Database Migration Service 迁移数据库,需要针对源数据库进行一些准备工作。这些任务已在源环境中为您完成,其中最重要的是在源实例上设置 pglogical 软件包。

创建并运行迁移作业后,您需要确认数据库的初始副本已成功迁移到您的 AlloyDB for PostgreSQL 实例。您还将探索持续迁移作业如何将源数据库中的数据更新应用到 AlloyDB for PostgreSQL 实例。

您将执行的操作

在本实验中,您将学习如何配置持续的 Database Migration Service 作业,以将数据库从 PostgreSQL 实例迁移到 AlloyDB for PostgreSQL。

  • 验证源实例中的数据适合迁移
  • 为源 PostgreSQL 实例(例如独立 PostgreSQL)创建连接配置文件。
  • 创建并启动持续迁移作业
  • 确认数据已加载到 AlloyDB for PostgreSQL 实例中
  • 将实时更新传播到 AlloyDB 实例

设置和要求

点击“开始实验”按钮前的注意事项

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 Google Cloud 资源可供您使用多长时间。

此实操实验可让您在真实的云环境中开展实验活动,免受模拟或演示环境的局限。为此,我们会向您提供新的临时凭据,您可以在该实验的规定时间内通过此凭据登录和访问 Google Cloud。

为完成此实验,您需要:

  • 能够使用标准的互联网浏览器(建议使用 Chrome 浏览器)。
注意:请使用无痕模式(推荐)或无痕浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。
  • 完成实验的时间 - 请注意,实验开始后无法暂停。
注意:请仅使用学生账号完成本实验。如果您使用其他 Google Cloud 账号,则可能会向该账号收取费用。

如何开始实验并登录 Google Cloud 控制台

  1. 点击开始实验按钮。如果该实验需要付费,系统会打开一个对话框供您选择支付方式。左侧是“实验详细信息”窗格,其中包含以下各项:

    • “打开 Google Cloud 控制台”按钮
    • 剩余时间
    • 进行该实验时必须使用的临时凭据
    • 帮助您逐步完成本实验所需的其他信息(如果需要)
  2. 点击打开 Google Cloud 控制台(如果您使用的是 Chrome 浏览器,请右键点击并选择在无痕式窗口中打开链接)。

    该实验会启动资源并打开另一个标签页,显示“登录”页面。

    提示:将这些标签页安排在不同的窗口中,并排显示。

    注意:如果您看见选择账号对话框,请点击使用其他账号
  3. 如有必要,请复制下方的用户名,然后将其粘贴到登录对话框中。

    {{{user_0.username | "<用户名>"}}}

    您也可以在“实验详细信息”窗格中找到“用户名”。

  4. 点击下一步

  5. 复制下面的密码,然后将其粘贴到欢迎对话框中。

    {{{user_0.password | "<密码>"}}}

    您也可以在“实验详细信息”窗格中找到“密码”。

  6. 点击下一步

    重要提示:您必须使用实验提供的凭据。请勿使用您的 Google Cloud 账号凭据。 注意:在本实验中使用您自己的 Google Cloud 账号可能会产生额外费用。
  7. 继续在后续页面中点击以完成相应操作:

    • 接受条款及条件。
    • 由于这是临时账号,请勿添加账号恢复选项或双重验证。
    • 请勿注册免费试用。

片刻之后,系统会在此标签页中打开 Google Cloud 控制台。

注意:如需访问 Google Cloud 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

激活 Cloud Shell

Cloud Shell 是一种装有开发者工具的虚拟机。它提供了一个永久性的 5GB 主目录,并且在 Google Cloud 上运行。Cloud Shell 提供可用于访问您的 Google Cloud 资源的命令行工具。

  1. 点击 Google Cloud 控制台顶部的激活 Cloud Shell “激活 Cloud Shell”图标

  2. 在弹出的窗口中执行以下操作:

    • 继续完成 Cloud Shell 信息窗口中的设置。
    • 授权 Cloud Shell 使用您的凭据进行 Google Cloud API 调用。

如果您连接成功,即表示您已通过身份验证,且项目 ID 会被设为您的 Project_ID 。输出内容中有一行说明了此会话的 Project_ID

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud 是 Google Cloud 的命令行工具。它已预先安装在 Cloud Shell 上,且支持 Tab 自动补全功能。

  1. (可选)您可以通过此命令列出活跃账号名称:
gcloud auth list
  1. 点击授权

输出:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (可选)您可以通过此命令列出项目 ID:
gcloud config list project

输出:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注意:如需查看在 Google Cloud 中使用 gcloud 的完整文档,请参阅 gcloud CLI 概览指南

任务 1. 验证源实例中的数据适合迁移

验证源实例中的数据

在此步骤中,连接到 pg14-source 虚拟机实例上的 postgres 数据库,并验证其中的数据。

  1. 导航菜单 (console_nav_small.png) 中,点击 Compute Engine 下的虚拟机实例

  2. 对名为 pg14-source 的实例,在连接列中点击 SSH,打开一个终端窗口。

  3. 使用以下命令启动 PostgreSQL (psql) 客户端。

sudo -u postgres psql
  1. 您将看到类似于下图的 psql 终端提示。
psql (14.5 (Debian 14.5-1.pgdg110+1)) Type "help" for help.
  1. 输入并运行以下 SQL 命令,以查看 postgres 数据库中与 HR 相关的表。
\dt
  1. 运行以下查询,确定每个表的行数。
select count (*) as countries_row_count from countries; select count (*) as departments_row_count from departments; select count (*) as employees_row_count from employees; select count (*) as jobs_row_count from jobs; select count (*) as locations_row_count from locations; select count (*) as regions_row_count from regions;
  1. 源表的行数如下所示。
名称 行数
countries 25
departments 27
employees 107
jobs 19
locations 23
regions 4



  1. 输入 \q 以退出 psql 客户端。

  2. 输入 exit 以关闭终端窗口。

任务 2. 为独立 PostgreSQL 数据库创建 Database Migration Service 连接配置文件

在此任务中,您将为 PostgreSQL 源实例创建连接配置文件。

获取 PostgreSQL 源实例的连接和部署信息

在此步骤中,您需要确定要迁移到 AlloyDB 的源数据库实例的内部 IP 地址。

  1. 导航菜单 (console_nav_small.png) 中,点击 Compute Engine 下的虚拟机实例

  2. 找到 pg14-source 实例所在的行。

  3. 复制内部 IP 字段的值(例如 10.128.15.208)。

为 PostgreSQL 源实例创建新的连接配置文件

连接配置文件中存储着有关源数据库实例(例如独立 PostgreSQL)的信息,Database Migration Service 用它将数据从源数据库迁移到目标 AlloyDB for PostgreSQL 数据库实例。创建连接配置文件后,可以在迁移作业中重复使用此配置文件。

在此步骤中,您将为 PostgreSQL 源实例创建一个新的连接配置文件。

  1. 在 Google Cloud 控制台的导航菜单 (console_nav_small.png) 中,点击“数据库”部分下的查看所有产品,然后依次点击数据库迁移 > 连接配置文件

  2. 点击 + 创建配置文件

  3. 对于配置文件角色,选择来源

  4. 对于数据库引擎,选择 PostgreSQL

  5. 对于连接配置文件名称,输入 pg14-source

  6. 对于区域,选择

  7. 定义连接配置下,点击定义

  8. 对于主机名或 IP 地址,输入您在上一个任务中复制的 PostgreSQL 源实例的内部 IP(例如 10.128.15.208)

  9. 对于端口,输入 5432

  10. 对于用户名,输入 postgres

  11. 对于密码,输入 Change3Me

  12. 对于所有其他字段,保留默认值。

  13. 点击保存

  14. 点击创建

一个名为 pg14-source 的新连接配置文件会显示在连接配置文件列表中。

  1. 点击检查我的进度,验证已完成以下目标: 为 PostgreSQL 源实例创建连接配置文件

任务 3. 创建并启动持续迁移作业

在创建新的迁移作业时,首先需要使用先前创建的连接配置文件定义源数据库实例。然后,创建一个新的目标数据库实例,并配置源实例与目标实例之间的连接。

在此任务中,您将使用迁移作业界面来创建一个新的 AlloyDB for PostgreSQL 集群,并将其设置为从 PostgreSQL 源实例迁移数据的持续迁移作业的目标。

创建新的持续迁移作业

在此步骤中,您将创建一个新的持续迁移作业。

  1. 在 Google Cloud 控制台的导航菜单 (console_nav_small.png) 中,点击“数据库”部分下的查看所有产品,然后依次点击数据库迁移 > 迁移作业

  2. 点击 + 创建迁移作业

  3. 对于迁移作业名称,输入 postgres-to-alloydb

  4. 对于源数据库引擎,选择 PostgreSQL

  5. 对于目标数据库引擎,选择 AlloyDB for PostgreSQL

  6. 对于目标区域,选择

  7. 目前,对于从 PostgreSQL 到 AlloyDB 的迁移,持续是唯一可用的迁移作业类型

  8. 对于其他设置,保留默认值。

  9. 点击保存并继续

定义源实例

在此步骤中,您将定义要迁移的源实例。

  1. 选择来源连接配置文件部分,选择您在几个步骤前创建的 pg14-source 连接配置文件。

  2. 点击保存并继续

创建目标实例

在此步骤中,DMS 向导将代表您创建 AlloyDB 集群和实例。

  1. 对于目标集群类型,已选择新集群

  2. 点击继续,进入检查集群配置

  3. 对于集群 ID,输入 alloydb-target-cluster

  4. 对于密码,输入 Change3Me

  5. 对于网络,选择 peering-network

  6. 点击继续

  7. 对于实例 ID,输入 alloydb-target-instance

  8. 选择 2 个 vCPU、16 GB 作为机器类型。

  9. 点击保存并继续

  10. 在弹出式窗口中,点击创建目标并继续以继续。

  11. 在系统创建 AlloyDB 实例和集群的同时,您可以从连接方法选项列表中选择 VPC 对等互连

  12. 请等待集群和实例创建完成。数据库可用后,配置并继续(Configure & Continue)链接将变为可用状态。

  13. 点击配置并继续

  14. 选择要迁移的对象页面上,在要迁移的数据库下,选择所有数据库

  15. 点击保存并继续

测试并启动持续迁移作业

在此步骤中,您将测试并启动迁移作业。

  1. Database Migration Service 向导现在将开始测试并创建迁移作业步骤。

  2. 点击测试作业

  3. 在测试成功后,点击创建并启动作业

注意:您必须点击创建并启动作业,否则作业不会开始。另一个链接只会创建并保存作业详情。

如果系统提示您确认,点击创建并启动

查看持续迁移作业的状态

在此步骤中,您将确认持续迁移作业正在运行。

  1. 在 Google Cloud 控制台的导航菜单 (console_nav_small.png) 中,点击“数据库”部分下的查看所有产品,然后依次点击数据库迁移 > 迁移作业

  2. 点击迁移作业 postgres-to-alloydb,查看详情页面。

  3. 查看迁移作业状态。

  • 如果作业尚未启动,状态会显示为尚未开始。您可以选择启动或删除该作业。
  • 作业启动后,状态将显示为正在启动,然后变为“正在运行”|“正在进行完全转储”,表示正在执行初始数据库转储。
  • 初始加载完成后,作业状态将变为“正在运行”|“正在进行变更数据捕获 (CDC)”,DMS 即可用于持续运行。

当作业状态变为“正在运行”|“正在进行变更数据捕获 (CDC)”时,继续执行下一项任务。

任务 4. 确认数据已加载到 AlloyDB for PostgreSQL 实例中

检查 AlloyDB for PostgreSQL 实例

  1. 在 Cloud 控制台的导航菜单 (console_nav_small.png) 中,点击“数据库”部分下的查看所有产品,然后点击 AlloyDB for PostgreSQL,再点击集群,以查看集群的详细信息。

  2. 集群名为 alloydb-target-cluster,实例名为 alloydb-target-cluster-primary

  3. 请记下实例部分中的专用 IP 地址。将专用 IP 地址复制到文本文件中,以便在后续步骤中粘贴该值。

  4. 导航菜单 (“导航菜单”图标) 中,点击 Compute Engine 下的虚拟机实例

  5. 对于名为 alloydb-client 的实例,在连接列中点击 SSH,打开一个终端窗口。

  6. 设置以下环境变量,并将 ALLOYDB_ADDRESS 替换为 AlloyDB 实例的专用 IP 地址。

export ALLOYDB=ALLOYDB_ADDRESS
  1. 运行以下命令,将 AlloyDB 实例的专用 IP 地址存储在 AlloyDB 客户端虚拟机上,以便在整个实验过程中保留该地址。
echo $ALLOYDB > alloydbip.txt
  1. 连接到 psql 客户端并运行以下查询,以验证 AlloyDB 实例现在包含五个源表。系统会提示您提供 postgres 用户的密码 (Change3Me),该密码是在创建集群时指定的。
psql -h $ALLOYDB -U postgres \dt List of relations Schema | Name | Type | Owner --------+-------------+-------+--------------------- public | countries | table | alloydbexternalsync public | departments | table | alloydbexternalsync public | employees | table | alloydbexternalsync public | jobs | table | alloydbexternalsync public | locations | table | alloydbexternalsync public | regions | table | alloydbexternalsync (6 rows)
  1. 运行以下查询,确定已迁移表的行数。这些值将与源实例上的查询输出相匹配。
select count (*) as countries_row_count from countries; select count (*) as departments_row_count from departments; select count (*) as employees_row_count from employees; select count (*) as jobs_row_count from jobs; select count (*) as locations_row_count from locations; select count (*) as regions_row_count from regions;
  1. 目标表的行数如下。
名称 行数
countries 25
departments 27
employees 107
jobs 19
locations 23
regions 4



  1. 运行以下查询,验证 regions 表中的数据。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa (4 rows) .

任务 5. 将实时更新传播到 AlloyDB 实例

  1. 由于 Database Migration Service 作业设置为持续更新配置,因此您对源实例所做的任何更新都将应用于 AlloyDB 目标。

  2. 导航菜单 (console_nav_small.png) 中,点击 Compute Engine 下的虚拟机实例

  3. 对名为 pg14-source 的实例,在连接列中点击 SSH,打开一个终端窗口。

  4. 使用以下命令启动 PostgreSQL (psql) 客户端。

sudo -u postgres psql
  1. 系统会显示 psql 终端提示。输入并运行以下 SQL 命令,向 regions 表中添加一行数据。
insert into regions values (5, 'Oceania');
  1. 确认该行已在本地插入。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa 5 | Oceania (5 rows)

查看 AlloyDB for PostgreSQL 实例中的数据

  1. 返回 alloydb-client 的终端 shell。psql 客户端应该仍处于打开状态。运行以下查询,验证 Oceania 行已经添加到目标 AlloyDB 实例。
select region_id, region_name from regions; region_id | region_name -----------+------------------------ 1 | Europe 2 | Americas 3 | Asia 4 | Middle East and Africa 5 | Oceania (5 rows)
  1. 点击检查我的进度,验证已完成以下目标: 测试数据的持续迁移

恭喜!

您现在已使用持续的 Database Migration Service 作业,成功将一个独立 PostgreSQL 数据库(在虚拟机上运行)迁移到 AlloyDB for PostgreSQL。

上次更新手册的时间:2025 年 2 月 14 日

上次测试实验的时间:2025 年 2 月 14 日

版权所有 2025 Google LLC 保留所有权利。Google 和 Google 徽标是 Google LLC 的商标。其他所有公司名和产品名可能是其各自相关公司的商标。

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

请使用无痕模式或无痕式浏览器窗口运行此实验。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。