使用自动化流程创建 AlloyDB 流

本页面介绍了如何使用自动化设置流程创建 AlloyDB for PostgreSQL 流。

自动流设置可减少您需要执行的步骤,从而简化将数据从 AlloyDB for PostgreSQL 集群移至 BigQuery 的流程。此流程可让您直接从 AlloyDB for PostgreSQL 集群的概览页面创建数据流。

AlloyDB for PostgreSQL 部署包含一个主集群,其中包含一个主实例。它还可以包括辅助集群和辅助实例。Datastream 始终从主集群中的主实例创建数据流。

Datastream 会自动保护数据流与源集群之间的 VPC 连接,并创建数据库配置和数据流连接资源。

准备工作

  1. 启用 Datastream、Network Connectivity 和 Compute Engine API。
  2. 确保您拥有创建和管理 Datastream 资源所需的 Identity and Access Management (IAM) 权限。如需了解详情,请参阅下文
  3. 创建并配置用于复制的 AlloyDB for PostgreSQL 源集群。如需了解详情,请参阅为 CDC 配置 AlloyDB for PostgreSQL 数据库
  4. 建议您在创建数据流之前为集群启用逻辑复制。如果您未启用逻辑复制,Datastream 会为您启用,这会导致源实例重启。

    如需了解如何为 AlloyDB for PostgreSQL 集群启用逻辑复制,请参阅为 CDC 配置 AlloyDB for PostgreSQL 数据库

  5. 确保源集群已配置为使用专用服务访问通道

所需权限

如需使用自动数据流创建流程,您需要以下 Identity and Access Management (IAM) 角色或权限:

  • serviceusage.services.enablecompute.networkAdmin,用于启用必需的 API 并执行网络配置任务。
  • alloydb.admin,用于集群和实例配置任务。
  • datastream.admin 用于 Datastream 代表您执行的管理任务。

如果您选择自定义数据流设置,您的数据库管理员用户还需要对要复制的架构拥有 GRANT 权限,以及对源数据库中的管理和结构性任务拥有一些额外的权限。连接到源数据库并运行以下命令:

  GRANT alloydbsuperuser TO "USER_NAME";
  ALTER ROLE "USER_NAME" CREATEROLE;
  GRANT SELECT on ALL TABLES IN SCHEMA "SCHEMA_NAME" to "USER_NAME" WITH GRANT OPTION;
  ALTER DEFAULT PRIVILEGES
  IN SCHEMA "SCHEMA_NAME"
  GRANT SELECT ON TABLES TO "USER_NAME" WITH GRANT OPTION;
  GRANT CREATE ON DATABASE "DATABASE_NAME" TO "USER_NAME";
  

将来的表

只有在自动化流程中,您提供的账号详细信息所对应的用户创建了未来的表,这些表才会自动添加到数据流中。如果未来表是由其他用户创建的,则该用户必须明确授予 Datastream 读取者用户对该表的 SELECT 权限。

创建并启动数据流

如需创建并开始直播,请执行以下步骤:

控制台

  1. 前往源 AlloyDB for PostgreSQL 集群概览页面。

    前往 AlloyDB for PostgreSQL

  2. 点击要从中流式传输数据的主集群。

  3. 通过以下方式之一自动创建并启动数据流:

    1. 集群详情页面上,点击数据复制下的开始数据流
    2. 集成部分中,点击将数据复制到 BigQuery 下方的开始数据流
    3. 启动平台标签页上,点击与其他Google Cloud 产品无缝集成下方的将数据复制到 BigQuery
  4. 系统会打开开始流式复制数据窗格。

  5. 直播设置下,查看您创建的直播的默认设置。

  6. 您可以展开相应的下拉菜单,然后选择其他值来更改源数据库。

  7. 如果您已准备好创建并开始直播,请点击开始直播

如果您需要更改直播设置,请点击自定义

自定义数据流设置

点击自定义后,系统会显示自定义数据流设置页面。确保您拥有所需的权限来自定义直播设置。

开始使用

  1. 开始使用页面上,在数据流名称字段中提供数据流的名称。系统会自动填充数据流 ID 字段。
  2. 提供实例用户账号详细信息部分中,选择身份验证方法:

    • IAM 数据库身份验证:如果您的用户已分配 Identity and Access Management (IAM) 主账号身份,则此选项可用。如需了解详情,请参阅 IAM 主账号。 如果您选择此选项,则必须手动向用户授予 alloydbsuperuser 角色和 CREATEROLE 权限:

      1. 在 Google Cloud 控制台中,前往 AlloyDB for PostgreSQL 集群页面。

      前往 AlloyDB for PostgreSQL

      1. 选择您的 AlloyDB for PostgreSQL 集群。
      2. 在导航菜单中,点击 AlloyDB for PostgreSQL Studio 并登录。
      3. 探索器窗格中,针对您的用户运行以下查询:
    GRANT alloydbsuperuser TO "USER_NAME";
    ALTER ROLE "USER_NAME" CREATEROLE;
    • 内置数据库身份验证:提供具有 alloydbsuperuser 角色的用户的用户名和密码。如果您的用户没有 alloydbsuperuser 角色,请按照 IAM 数据库身份验证部分中所述的步骤手动授予该角色。如果您选择内置数据库身份验证,还需确保用户对要复制的表拥有 GRANT 权限。
  3. 查看其他直播详细信息,例如区域、加密和标签。展开其他直播详情部分,根据需要应用更改。

  4. 点击继续

配置来源

  1. 配置源页面上,选择要从中复制数据的数据库。

  2. 默认情况下,所选对象列表会选择所有可用的对象。列表中的对象是您拥有流式传输所需权限的对象。如需更改所选对象,请修改列表中的选择。

  3. 查看高级数据流配置,例如回填模式和并发回填连接数上限。展开高级直播配置部分,以应用更改(如果需要)。

  4. 点击继续

配置目标位置

  1. 配置目的地页面上,根据需要调整 BigQuery 目的地设置。如需了解详情,请参阅配置有关数据流的目标位置的信息

创建并启动数据流

  1. 点击创建并启动可创建并启动数据流,点击创建但不启动可创建数据流,并在稍后在 Datastream 中启动该数据流。

  2. 系统会自动执行以下任务,并向您发送通知:

    • Datastream 会创建所需的虚拟私有云资源,例如内部 IP 地址范围、子网和网络连接。
    • Datastream 会为 CDC 配置表、设置复制槽、为数据库中的所有表设置发布内容,并创建专用 Datastream 用户。
    • Datastream 会创建专用连接配置,以及来源和目标连接配置文件。
  3. 确认您要创建并开始直播。

监控数据流

您可以在 Google Cloud 控制台的源实例概览页面中监控基本的数据流详细信息。该页面会显示信息,例如数据流状态、数据流名称、目标 BigQuery 数据集和目标项目标识符。

您还可以从概览页面执行开始或暂停直播等操作。如需查看更精细的监控信息,请点击数据流名称以导航到 Datastream。

删除数据流

如果您删除使用自动化流程创建的数据流,系统会自动删除某些资源,例如 PostgreSQL 复制槽。不过,有些资源需要您手动删除:

  • 出版物。发布是使用数据库管理员用户创建的,只能由其所有者(默认情况下是创建该发布的用户)删除。
  • Datastream 读取者用户。
  • Datastream 来源和目标连接配置文件
  • 专用连接资源。
  • 在自动化流程期间创建的所有网络资源,例如子网和网络连接。

后续步骤