使用 VPC 对等互连将实例升级到 Cloud SQL 企业 Plus 版


本页介绍了如何使用 Database Migration Service 的专用 VPC 对等互连网络连接方法将 Cloud SQL 企业版实例升级到 Cloud SQL 企业 Plus 版。Database Migration Service 会创建一个新的 Cloud SQL 实例并将数据迁移到该实例。

概览

Cloud SQL Enterprise Plus 版最适合需要最高写入性能的应用。如需详细了解这些改进,请参阅性能增强功能

如需为现有 Cloud SQL 企业版实例启用这些增强功能,您必须使用 Database Migration Service 将其升级到 Cloud SQL 企业 Plus 版。

须知事项

  1. 登录您的 Google Cloud 账号。如果您是 Google Cloud 新手,请创建一个账号来评估我们的产品在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。
  2. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  3. 确保您的 Google Cloud 项目已启用结算功能

  4. 在 Google Cloud Console 中的项目选择器页面上,选择或创建一个 Google Cloud 项目

    转到“项目选择器”

  5. 确保您的 Google Cloud 项目已启用结算功能

  6. 启用 Database Migration Service API。

    启用 API

  7. 确保您已将 Database Migration Admin 角色分配给您的用户账号。

    转到 IAM

使用要求

Database Migration Service 提供各种源数据库选项和网络连接方法。不同源使用某些连接方法的效果比使用其他方法更好。本页面假定您在将网络配置为添加入站防火墙规则的环境中使用 Cloud SQL 企业版实例。由于我们无法获知您环境的具体细节,因此我们无法提供网络配置的详细步骤。

配置源实例

如需配置源 Cloud SQL 企业版实例,请完成以下步骤:

  1. 如果您没有源实例的 postgres 数据库,请创建一个。如需了解详情,请参阅在 Cloud SQL 实例上创建数据库
  2. 在源实例的数据库上安装 pglogical 软件包。确保该软件包已包含在 shared_preload_libraries 变量中。如需了解详情,请参阅配置源数据库
  3. 为源实例的数据库启用逻辑复制和解码。如需了解详情,请参阅为源数据库启用逻辑复制和解码

配置源数据库

除了 template0template1 数据库之外,Database Migration Service 还会迁移源 Cloud SQL 企业版实例下的所有其他数据库。

在源实例中未曾提及的每个数据库上,完成以下步骤:

  1. 如需将 pglogical 扩展程序安装到数据库中,请运行 CREATE EXTENSION IF NOT EXISTS pglogical 命令。

  2. 对于任何没有主键的表,请手动迁移 UPDATEDELETE 语句。

  3. 如需为每个迁移的数据库设置这些权限,请创建一个用户或设置现有用户的权限。您可以使用此用户连接到源实例,并在连接配置文件页面中将该用户配置为用户。此用户对每个迁移的数据库以及默认的 postgres 数据库必须具有特定权限。

    如需设置这些权限,请连接到实例并运行以下命令:

    1. 针对要迁移的每个数据库中的所有架构(信息架构以及以 pg_ 开头的架构除外),运行 GRANT USAGE on SCHEMA SCHEMA to USER
    2. 针对要迁移的每个数据库,运行 GRANT USAGE on SCHEMA pglogical to PUBLIC;
    3. 针对所有数据库运行 GRANT SELECT on ALL TABLES in SCHEMA pglogical to USER,以便从源数据库获取复制信息。
    4. 针对要迁移的每个数据库中的所有架构(信息架构以及以 pg_ 开头的架构除外),运行 GRANT SELECT on ALL TABLES in SCHEMA SCHEMA to USER
    5. 针对要迁移的每个数据库中的所有架构(信息架构以及以 pg_ 开头的架构除外),运行 GRANT SELECT on ALL SEQUENCES in SCHEMA SCHEMA to USER
    6. ALTER USER USER with REPLICATION role

为源数据库启用逻辑复制和解码

通过将 cloudsql.logical_decodingcloudsql.enable_pglogical 标志设置为 On,为源 Cloud SQL 企业版实例的数据库启用逻辑复制和解码。如需详细了解这些标志,请参阅配置数据库标志

如需启用这两个标志,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 点击源实例。
  3. 点击修改
  4. 自定义实例部分中,如果系统显示显示配置选项菜单,则点击该菜单。
  5. 展开标志部分。

  6. 如需设置 cloudsql.logical_decodingcloudsql.enable_pglogical 标志,请完成以下步骤:

    1. 点击添加数据库标志
    2. 从下拉菜单中选择 cloudsql.logical_decoding 标志。
    3. 将此标志的值设置为 On
    4. 点击完成
    5. cloudsql.enable_pglogical 标志重复上述步骤。
  7. 点击保存

  8. 更改需要重启对话框中,点击保存并重启。Cloud SQL 会重启源实例,以便您对标志的配置更改生效。

  9. 配置窗格中,在数据库标志部分中确认更改。

从源实例检索信息

如需升级源 Cloud SQL 企业版实例,您必须检索以下信息:

  • 实例的专用 IP 地址。在 Database Migration Service 中创建连接配置文件时,您将使用此 IP 地址。
  • 允许 Cloud SQL 企业 Plus 版目标实例直接与 Cloud SQL 企业版源实例通信的 VPC 网络的名称。在 Database Migration Service 中创建迁移作业时,您将使用此 VPC 网络。

如需从源 Cloud SQL 企业版实例检索信息,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 点击源实例。
  3. 连接到此实例部分,点击专用 IP 地址字段中的复制到剪贴板
  4. 点击页面顶部的修改
  5. 展开连接部分。
  6. 关联的网络部分中,记下网络字段中显示的 VPC 网络的名称。

创建连接配置文件

连接配置文件包含源 Cloud SQL 企业版数据库的相关信息。Database Migration Service 会使用连接配置文件中的信息将数据从源数据库迁移到目标 Cloud SQL 企业 Plus 版实例。

如需创建连接配置文件,请完成以下步骤:

  1. 在 Google Cloud 控制台中,进入 Database Migration Service 中的连接配置文件页面。

    前往“连接配置文件”

  2. 点击 Create profile(创建配置文件)。

  3. 数据库引擎下拉列表中,选择 Cloud SQL for PostgreSQL

  4. 连接配置文件名称字段中,为源数据库的连接配置文件输入一个名称,例如 My Connection Profile

  5. 选择您要保存连接配置文件的区域。

  6. Cloud SQL 实例下拉列表中,选择您的 Cloud SQL 企业版实例的名称。

  7. 主机名或 IP 地址字段中,将值替换为您在从源 Cloud SQL 企业版实例中检索信息中复制的专用 IP 地址。

  8. 如需向源实例进行身份验证,请输入用户名和密码。然后,点击继续

  9. 如果您想要加密数据,请为源数据库和目标数据库之间的连接启用 SSL/TLS 加密。否则,请保留默认值 None

  10. 点击继续

  11. 连接测试下拉菜单中,选择未定义

  12. 点击创建

创建迁移作业

Database Migration Service 会使用迁移作业将数据从源 Cloud SQL 企业版数据库实例迁移到目标 Cloud SQL 企业 Plus 版实例。

创建迁移作业包括以下步骤:

  • 定义作业的设置。
  • 选择您为源 Cloud SQL 企业版数据库创建的连接配置文件。这是您的来源连接配置文件
  • 定义目标 Cloud SQL 企业 Plus 版实例的设置。
  • 在源数据库实例和目标数据库实例之间建立连接。
  • 测试迁移作业,以确保您为作业提供的连接信息有效。

定义迁移作业的设置

  1. 在 Google Cloud 控制台中,进入 Database Migration Service 中的迁移作业页面。

    前往“迁移作业”

  2. 点击创建迁移作业

  3. 迁移作业名称字段中,为迁移作业输入名称,例如 My Migration Job

  4. 源数据库引擎下拉列表中,选择 Cloud SQL for PostgreSQL

  5. 目标数据库引擎下拉列表中,选择 Cloud SQL for PostgreSQL

  6. 选择在其中创建 Cloud SQL 企业 Plus 版实例的目标区域。

  7. 迁移作业类型下拉列表中,选择持续,因为您希望将源 Cloud SQL 企业版数据库中正在进行的更改迁移到目标 Cloud SQL 企业 Plus 版实例。

  8. 查看自动生成的必要前提条件,以反映如何为迁移作业准备环境。这些前提条件可能包括如何配置源 Cloud SQL 企业版数据库,以及如何将其连接到目标 Cloud SQL 企业 Plus 版实例。

    建议您在此步骤中完成这些前提条件,但您可以在测试或启动迁移作业之前随时完成。

  9. 点击保存并继续

指定有关来源连接配置文件的信息

  1. 选择来源连接配置文件下拉列表中,选择您创建的连接配置文件。

  2. 点击保存并继续

定义目标 Cloud SQL 企业 Plus 版实例的设置

  1. 密码字段中,输入目标 Cloud SQL 企业 Plus 版实例的字母数字密码。这是实例中 postgres 管理员账号的密码。

  2. 数据库版本下拉列表中,从指定数据库引擎支持的 Cloud SQL 版本列表中选择目标实例。

  3. 选择企业 Plus 版

  4. 选择区域和可用区部分中,选择新的 Cloud SQL 企业 Plus 版实例的目标 Google Cloud 可用区(或保留任意)。

  5. 选中专用 IP 复选框。

  6. VPC 下拉列表中,选择您在从源 Cloud SQL 企业版实例中检索信息中记下的 VPC 网络。

  7. 选择 Cloud SQL 企业 Plus 版实例的机器类型。磁盘大小必须等于或大于源数据库的大小。

  8. 定义 Cloud SQL 实例的存储类型和存储容量。

  9. 如需创建新实例,请点击创建并继续

  10. 在显示的对话框中,点击创建目标位置并继续。创建实例可能需要几分钟才能完成。

设置连接

  1. 选择您希望如何在源 Cloud SQL 企业版和目标 Cloud SQL 企业 Plus 版数据库之间建立连接。在此过程中,请使用连接方法下拉列表选择来源和目标使用专用 IP
  2. VPC 下拉列表中,选择源 Cloud SQL 企业版实例所在的 VPC 网络。这是您在从源 Cloud SQL 企业版实例中检索信息中记下的 VPC 网络。
  3. 点击配置并继续

测试、创建和开始迁移作业

  1. 查看您为迁移作业选择的设置。

  2. 验证源实例是否已正确配置,源 Cloud SQL 企业版和目标 Cloud SQL 企业 Plus 版实例是否能够相互通信,以及迁移作业是否有效:

    1. 点击测试作业

    2. 验证您是否看到 Your migration job test was successful! 状态。

    如果测试失败,您可以在流的适当部分解决问题,然后返回重新测试。

  3. 如需创建迁移作业并立即启动,请点击创建并启动作业

  4. 在显示的对话框中,点击创建并启动

  5. 迁移作业页面中,验证迁移作业的状态是否为 Starting

  6. 几分钟后,确认状态变为 Running

验证迁移作业

如需确认 Database Migration Service 使用迁移作业将数据从源 Cloud SQL 企业版数据库实例迁移到目标 Cloud SQL 企业 Plus 版数据库实例,请完成以下步骤:

  1. 在 Google Cloud 控制台中,进入 SQL 实例页面。

    前往“Cloud SQL 实例”

  2. 点击迁移作业的读取副本条目。

  3. 点击搜索字段旁边显示的激活 Cloud Shell 图标。
  4. 在提示符处,如需连接到 Cloud SQL 企业 Plus 版数据库实例,请使用 gcloud sql connect 命令。

    gcloud sql connect DESTINATION_INSTANCE_NAME --user=postgres

    DESTINATION_INSTANCE_NAME 替换为目标 Cloud SQL 企业 Plus 版实例的名称。

  5. 可选:如果系统显示为 Cloud Shell 提供授权对话框,请点击授权
  6. 输入密码提示符处,输入您在定义目标 Cloud SQL 企业 Plus 版设置中提供的密码。
  1. postgres 提示符处,如需列出数据库并验证您是否看到源 Cloud SQL 企业版数据库实例,请输入 \list
  2. postgres 提示符下,如需查看与此数据库实例关联的表,请输入 \connect SOURCE_DB_NAME。提示的名称从 postgres 更改为 SOURCE_DB_NAME
  3. SOURCE_DB_NAME 提示符处,如需查看此实例的表,请输入 \dt
  4. SOURCE_DB_NAME 提示符处,如需向此用户授予访问此实例表中数据的权限,请输入 GRANT cloudsqlexternalsync to USER;

    USER 替换为您用于连接到目标 Cloud SQL 企业 Plus 版数据库实例的用户的名称。

  5. SOURCE_DB_NAME 提示符处,如需查看从源 Cloud SQL 企业版数据库实例中的表复制的信息,请输入 SELECT * from TABLE_NAME;
  6. 验证您是否在表格中看到正确的信息。

提升迁移作业

提升迁移作业会将源 Cloud SQL 企业版数据库实例替换为目标 Cloud SQL 企业 Plus 版数据库实例作为主要数据库。

如需提升迁移作业,请完成以下步骤:

  1. 返回迁移作业页面。

  2. 点击要提升的迁移作业。系统会显示迁移作业详情页面。

  3. 停止对源 Cloud SQL 企业版数据库的所有写入操作。

  4. 验证复制延迟时间是否最短。

  5. 点击要提升的迁移作业。此作业的状态为 Running

  6. 如需提升迁移作业,请点击提升

  7. 在显示的对话框中,点击提升

  8. 验证迁移作业的状态是否为 Promote in progress。几分钟后,确认状态变为 Completed

新的 Cloud SQL 企业 Plus 版数据库实例已可供使用。

清理

为避免系统因本页面中使用的资源向您的 Google Cloud 账号收取费用,请使用 Google Cloud 控制台删除您不需要的迁移作业、连接配置文件、源 Cloud SQL 企业版实例和项目。

后续步骤