实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

创建和管理 Cloud SQL for PostgreSQL 实例:实验室挑战赛

实验 1 小时 universal_currency_alt 1 个点数 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。

GSP355

Google Cloud 自学实验的徽标

概览

在实验室挑战赛中,我们会为您提供一个场景和一系列任务。您将使用从课程的各个实验中学到的技能自行确定如何完成这些任务,而不是按照分步说明进行操作。自动评分系统(显示在本页面中)会提供有关您是否已正确完成任务的反馈。

在您参加实验室挑战赛期间,我们不会再教授新的 Google Cloud 概念知识。您需要拓展所学的技能,例如通过更改默认值和查看并研究错误消息来更正您自己所犯的错误。

要想获得满分,您必须在该时间段内成功完成所有任务!

建议已报名参加创建和管理 Cloud SQL for PostgreSQL 实例技能徽章课程的学员参加此实验。准备好接受挑战了吗?

设置和要求

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

请阅读以下说明。实验是计时的,并且您无法暂停实验。计时器在您点击开始实验后即开始计时,显示 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 产品和服务,请点击导航菜单,或在搜索字段中输入服务或产品的名称。 “导航菜单”图标和“搜索”字段

挑战场景

Cymbal Shops 是一家成立于 1974 年的零售连锁企业,主要销售家居用品、电子产品和服装,在北美拥有 714 家门店。为实现数据库基础设施现代化,同时保障数据完整性、最大限度减少停机时间、强化安全性并具备可靠的灾难恢复能力,Cymbal Shops 计划迁移其现有的本地产品目录管理系统。

数据库管理团队 (DBA) 决定将重要的自行管理 PostgreSQL 数据库迁移到云端,以充分利用云端更出色的可伸缩性和可靠性。迁移过程需无缝衔接,避免干扰日常运营。数据库迁移至云端后,数据库管理员希望借助 Google Cloud 的集中式身份管理功能增强安全性,并部署可靠的恢复解决方案,以满足合规要求并保障数据安全。

您的挑战

作为 DBA 团队的一员,您的任务是使用 Database Migration Service 将重要的 PostgreSQL 数据库迁移到 Cloud SQL for PostgreSQL。迁移完成后,您需要将 Cloud SQL 数据库提升为可独立处理读写操作的实例,通过配置 IAM 数据库身份验证为数据库提供安全保障,最后完成数据库的时间点恢复测试。

任务 1. 将独立 PostgreSQL 数据库迁移至 Cloud SQL for PostgreSQL 实例

在本任务中,您需要使用 Database Migration Service 持续迁移作业和 VPC 对等互连连接,将在 postgres-vm 虚拟机上运行的独立 PostgreSQL 数据库 orders 迁移至 Cloud SQL for PostgreSQL 实例。

针对此独立 PostgreSQL 数据库做好迁移准备

针对该独立 PostgreSQL 数据库做好准备,使其满足 Database Migration Service 的迁移要求。

  1. 在 Google Cloud 控制台标题栏中,搜索 Database Migration APIService Networking API,确认这两项 API 均已启用;如果未启用,请针对每项 API 点击启用

  2. postgres-vm 虚拟机上的目标数据库安装 pglogical 数据库扩展程序并完成升级。

  3. 在计算实例虚拟机 postgres-vm 上的独立 PostgreSQL 数据库中安装并配置 pglogical 数据库扩展程序。需要安装的 pglogical 数据库扩展程序软件包名为 postgresql-14-pglogical

  4. 通过修改 PostgreSQL 配置文件 /etc/postgresql/14/main/postgresql.conf 以启用 pglogical 数据库扩展程序,并修改 /etc/postgresql/14/main/pg_hba.conf 文件以允许来自所有主机的访问,完成 pglogical 数据库扩展程序的配置。

  5. postgres-vm 虚拟机的独立 PostgreSQL 数据库中创建一个新用户,为其指定以下用户名和密码:

  • 迁移用户名
  • 迁移用户密码DMS_1s_cool!
  1. 为该用户授予迁移数据库所需的特权和权限。

Database Migration Service 要求此迁移用户对迁移目标数据库(在这里为 orders 数据库)的特定架构和关联对象拥有相应特权。

Database Migration Service 要求所有要迁移的表必须拥有主键。

  1. 启动迁移流程前,请确保 orders 数据库中的所有表都已设置主键。
  • distribution_centers
  • inventory_items
  • order_items
  • products
  • users
注意:Cloud 控制台 Database Migration Service 界面的建议链接中提供了将独立 PostgreSQL 数据库迁移至 Cloud SQL for PostgreSQL 的详细前提条件。

如果需要了解具体操作步骤,您可参考该文档,或查阅本课程配套迁移实验中的详细指南。
为独立 PostgreSQL 数据库进行迁移到 Cloud SQL for PostgreSQL 的准备。

将独立 PostgreSQL 数据库迁移至 Cloud SQL for PostgreSQL 实例

如需使用 Database Migration Service 执行迁移,请完成以下步骤:

  1. 使用前面创建的 迁移用户的凭证,为此独立 PostgreSQL 数据库创建一个新的 Database Migration Service 连接配置文件。
  • 用户名
  • 密码DMS_1s_cool!
  • 区域必须设置为
  1. 使用源计算实例的内部 IP 地址配置连接配置文件。

  2. 创建新的 Database Migration Service 持续作业。

在迁移作业配置过程中,请确保为目标 Cloud SQL 实例指定以下属性:

填写完毕的“迁移作业类型”字段;持续。

  1. 选择现有实例作为目标类型,然后选择 作为目标实例 ID
注意:请等待专用 IP 地址分配完成。“创建并继续”按钮显示后,您就可以继续操作了。
  1. 对于连接方法,需要使用与默认 VPC 网络建立的 VPC 对等互连

  2. 测试并启动此持续迁移作业。

如果您未能正确准备源 PostgreSQL 环境,迁移可能完全无法进行,或者可能无法迁移部分表。如果迁移看似正常,但部分表缺失,请检查源数据库所有表的配置是否正确。

将独立 PostgreSQL 数据库迁移至 Cloud SQL for PostgreSQL 实例。

任务 2. 将 Cloud SQL 提升为可独立读写数据的实例

  • 在本任务中,您需要将 Cloud SQL for PostgreSQL 实例提升为独立实例来完成迁移。

提升完毕后,作业的状态将更新为“已完成” 将 Cloud SQL 迁移副本提升为独立实例。

任务 3. 配置 Cloud SQL for PostgreSQL IAM 数据库身份验证

在本任务中,您需要配置新迁移的 Cloud SQL for PostgreSQL 实例,使其支持 Cloud IAM 用户和 IAM 数据库身份验证。您还需要修补 Cloud SQL for PostgreSQL 实例,将 postgres-vm 虚拟机的公共 IP 地址添加到允许连接到该实例的网络列表中。

  1. 修补 Cloud SQL 实例,允许来自 postgres-vm 虚拟机的公共 IP 地址的连接。

    • Cloud SQL 实例中,前往连接 > 网络
    • 公共 IP 下,点击添加网络。对于该网络,请使用 postgres-vm 虚拟机的外部 IP。
  2. Cloud SQL 实例中,使用实验学生 ID 作为主账号名称,创建一个 Cloud SQL IAM 用户。

    • 依次点击用户 > 添加用户账号,然后选择 Cloud IAM
  3. 向 Cloud IAM 用户授予对 表的 SELECT 权限。

    • Cloud SQL 实例中,前往概览。在连接到此实例下,点击打开 Cloud Shell
    • 对于密码,请输入 supersecret!。然后,使用 \c orders; 命令连接到 orders 数据库。
    • 再次输入密码 supersecret!
    • 使用以下命令授予 SELECT 权限。将 Table_NameQwiklabs_User_Account_Name 变量替换为正确的值。 GRANT SELECT ON Table_Name TO "Qwiklabs_User_Account_Name";
  4. 用户身份在迁移后的数据库中运行以下查询,确认 是否能从 表中查询数据。

通过 Cloud IAM 数据库身份验证为 Cloud SQL for PostgreSQL 数据库表提供安全保障。

任务 4. 配置和测试时间点恢复

在本任务中,您需要在 Cloud SQL for PostgreSQL 实例上配置时间点恢复功能,然后通过该功能创建某个时间点的克隆实例,回滚部分变更以完成该功能的测试。

为完成本任务,您需要执行以下步骤:

  1. 在 Cloud SQL for PostgreSQL 实例上启用备份。
    • Cloud SQL 实例中,前往概览。依次点击修改 > 数据保护
    • 启用时间点恢复,并将事务日志保留天数设置为
  2. 使用以下命令记下要恢复到的时间点的时间戳。 date -u --rfc-3339=ns | sed -r 's/ /T/; s/\.([0-9]{3}).*/\.\1Z/'
  3. 在此时间戳之后对数据库进行一些更改。
    • Cloud SQL 实例中,前往概览。在连接到此实例下,点击打开 Cloud Shell
    • 对于密码,请输入 supersecret!,然后使用 \c orders; 命令连接到 orders 数据库。
    • 再次输入密码 supersecret!
    • orders.distribution_centers 表添加一行数据。
  4. 使用时间点恢复功能创建克隆,以复制所选时间戳处的实例状态。
    • 使用以下命令克隆实例,并将 CLOUDSQL_INSTANCENEW_INSTANCE_NAMETIME_STAMP 变量替换为正确的值。 gcloud sql instances clone $CLOUDSQL_INSTANCE $NEW_INSTANCE_NAME \ --point-in-time $TIME_STAMP
    • 对于克隆的实例名称,您需要使用 postgres-orders-pitr 这一名称。

新实例将不会使用,但请勿将其舍弃,因为您需要使用它来确认自己已正确完成本实验。

注意:您必须以世界协调时间 (UTC) 指定时间点恢复时间戳,采用 RFC 3339 格式“yyyy-MM-ddThh:mm:ss.mmmZ”。 启用并测试时间点恢复。

恭喜!

您已将独立 PostgreSQL 数据库迁移到 Cloud SQL,启用了 Cloud SQL IAM 数据库身份验证,并测试了数据库时间点恢复。

“创建和管理 Cloud SQL for PostgreSQL 实例”技能徽章

赢得您的下一个技能徽章

本自学实验是创建和管理 Cloud SQL for PostgreSQL 实例技能徽章课程的组成部分。完成此技能徽章挑战任务可赢得上面的徽章,以表彰您取得的成就。您可以在简历和社交平台中分享自己的徽章,并使用 #GoogleCloudBadge 让大家知道您取得的这一成就。

Google Cloud 培训和认证

…可帮助您充分利用 Google Cloud 技术。我们的课程会讲解各项技能与最佳实践,可帮助您迅速上手使用并继续学习更深入的知识。我们提供从基础到高级的全方位培训,并有点播、直播和虚拟三种方式选择,让您可以按照自己的日程安排学习时间。各项认证可以帮助您核实并证明您在 Google Cloud 技术方面的技能与专业知识。

本手册的最后更新时间:2025 年 12 月 11 日

本实验的最后测试时间:2025 年 12 月 11 日

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

准备工作

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

使用无痕浏览模式

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

登录控制台

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

此内容目前不可用

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

太好了!

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

一次一个实验

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

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

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