使用 IP 许可名单将实例升级到 Cloud SQL 企业 Plus 版


本页面介绍了如何使用 Database Migration Service 的公共 IP 许可名单网络连接方法将 Cloud SQL 企业版实例升级到 Cloud SQL 企业 Plus 版。Database Migration Service 会创建一个新的 Cloud SQL 实例并将数据迁移到该实例。

概览

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

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

须知事项

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  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 企业版数据库的相关信息。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. 如需向源实例进行身份验证,请输入用户名和密码。然后,点击继续

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

  9. 点击继续

  10. 连接测试下拉菜单中,选择公共 IP

  11. 验证来源是否已正确配置,以及 Database Migration Service 是否可以与来源通信:

    1. 点击运行测试

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

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

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

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

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

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

设置连接

  1. 连接方法下拉列表中,选择 IP 许可名单
  2. 如需使用目标 Cloud SQL 企业 Plus 版实例的传出 IP 地址建立与源 Cloud SQL 企业版实例的连接,请完成以下步骤:

    1. 目的地传出 IP 地址区域中,点击全部复制
    2. 在浏览器中打开一个单独的标签页。
    3. 在 Google Cloud 控制台中,转到 Cloud SQL 实例页面。

      转到“Cloud SQL 实例”

    4. 点击源实例。
    5. 点击修改
    6. 自定义实例部分中,如果系统显示显示配置选项菜单,则点击该菜单。
    7. 点击连接部分。
    8. 点击添加网络
    9. 名称字段中,提供代表您复制的第一个 IP 地址的网络的名称,例如 My First Network。此网络用于在源 Cloud SQL 企业版与目标 Cloud SQL 企业 Plus 版数据库实例之间建立连接。
    10. 网络字段中,输入您复制的第一个 IP 地址,后跟 /32。这会将网络限制为仅接受来自此 IP 地址的连接。
    11. 点击完成
    12. 对您复制的每个 IP 地址重复上述步骤。
    13. 点击保存。Cloud SQL 会重启源 Cloud SQL 企业版实例,以使您对配置所做的更改生效。

  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 企业版实例和项目。

后续步骤