在 AWS 关系数据库服务 (RDS) 上创建 PostgreSQL DB 实例

从 2019.3 版本开始,您可以在 AWS Cloud Platform 上托管您的外部存储库。本主题介绍如何创建 AWS RDS PostgreSQL DB 实例以用作 Tableau Server 外部存储库。

若要查看可用于外部存储库的主机的完整列表,请参见Tableau Server 外部存储库

要求和建议

  • 至少使用具有 8 个 vCPU 和 32GB RAM 的实例。这是推荐为 Tableau Server 外部存储库使用的最小 AWS RDS 实例大小,但具体要求将因您的要求和使用情况而异。我们建议使用 16 个 vCPU 和 128GB RAM Amazon RDS 内存优化实例类型以获得良好的性能。

    可以从较小的实例类型开始,如果以后发现需要更大的实例类型,则可以升级现有的 RDS 实例。有关详细信息,请参见升级 RDS 实例

    使用 SSL 实现 Tableau Server 和外部 PostgreSQL DB 实例之间的安全通信不是必需的,但建议这样做。

  • Tableau Server 群集中的所有节点都必须可以访问 PostgreSQL DB 实例。可实现此目的的方法之一是:将 PostgreSQL DB 实例设为安全组的成员,该安全组具有必要的权限,使 Tableau Server 群集中的所有节点都能够访问。

  • PostgreSQL 版本应与 Tableau Server 在本地安装时使用的版本相匹配。Tableau Server 2020.4 使用 PostgreSQL 版本 12。

  • Tableau 自动生成供内部数据库用户内部使用的密码。这些密码长度为 32 个字符,由小写字母和数字组成。管理员无法访问或配置它们。您的外部 PostgreSQL 实例可能允许您设置密码策略(这取决于您使用的平台)。如果您指定的策略包括除数字和小写字母之外的字符类型,这可能会导致在将 Tableau Server 配置为使用外部存储库时出错。

在 Amazon RDS 上创建 PostgreSQL DB 实例

步骤 1:创建参数组

您为本地 PostgreSQL 实例在 postgresql.conf 文件中设置的 PostgreSQL 参数保留在 DB 实例的 DB 参数组中。创建 DB 实例时,将加载关联的 DB 参数组中的参数。

从 Tableau Server 的角度来看,大多数参数都可以设置为默认值。如果您有特定的性能或日志记录要求,您可以修改参数值,但我们强烈建议将以下参数保留为默认值并且不要更改:

  • standard_conforming_strings

  • escape_string_warning

我们还建议将 work_mem 的值至少设置为 16384 以帮助避免性能问题。

有关 PostgreSQL 参数的详细信息和完整列表,请参见 AWS 网站上的使用 PostgreSQL 参数(链接在新窗口中打开)

步骤 2:在 Amazon RDS 上创建 PostgreSQL DB 实例

若要创建新的 PostgreSQL DB 实例,请按照 Amazon 文档网站(链接在新窗口中打开)上提供的说明进行操作。

以下是适用于新 PostgreSQL DB 实例的配置选项和推荐值:

  • 实例规范

    • 使用在步骤 1 中创建的参数组。
    • 将兼容版本的 PostgreSQL 用于您正在使用的 Tableau Server 版本。有关与 Tableau Server 版本兼容的 PostgreSQL 版本的完整列表,请参见产品兼容性
    • 使用 db.m4.2xlarge 或更大的 DB 实例类。
    • 至少分配 100 GB 的存储。
    • 存储类型和调配的 IOPS:保留默认值(推荐值可能会根据负载测试而变化)。
  • 设置

    • 必须使用 rails 作为主用户名。

      这是外部存储库与 Tableau Server 正常配合工作的要求。

    • 选择符合 AWS 要求的密码。

  • 网络和安全

    • 确保所有 Tableau Server 节点都可访问 RDS 实例。这通常涉及创建一个允许通过节点访问的安全组。

  • 数据库选项

    • 不要创建初始数据库。数据库名称应留空,因为 Tableau Server 将在 RDS 实例中创建所需的数据库。

    • 该端口可以为任意端口,但我们建议将其保留为默认值 5432。

    • 将 DB 参数组设置为在步骤 1 中创建的参数组。

    • 将 IAM DB 身份验证保留为禁用状态。

  • 加密

    • 您可以选择是否希望加密。

  • 备份

    • 这适用于 AWS 的自动备份,而不是 Tableau Server 的备份。您可以指定符合要求的设置。

  • 监视

    • 您可以根据要求指定设置。

  • 日志导出

    • 您可以根据要求指定设置。

  • 维护

    • 禁用自动次要版本升级。Tableau Server 是为使用特定版本的 PostgreSQL 而构建的。如果需要,在 Tableau Server 升级期间,系统会提示您升级 PostgreSQL 版本。

  • 删除保护

    • 您可以根据要求指定设置。

步骤 3:获取 PostgresSQL DB 实例端点

创建 PostgreSQL 数据库实例后,您不能在 AWS 完成其初始化之前使用它,这可能需要几分钟时间。实例准备就绪后,获取您将用于配置 Tableau Server,以便为 Tableau Server 存储库使用此实例的端点信息。

步骤 4:下载 SSL 证书文件(.pem 文件)

Tableau Server 和外部存储库之间使用 SSL 的安全连接不是必需的,但建议使用。

如果要在 Tableau Server 和外部存储库之间设置安全连接,则在将 Tableau Server 配置为将外部数据库实例用于 Tableau Server 存储库时将需要 .pem 文件。有关详细信息,请参见使用 SSL 对 DB 实例加密(链接在新窗口中打开)

如果不需要在 Tableau Server 和外部存储库之间使用安全连接,则需要将 RDS 实例配置为允许未加密的连接。

重要信息:如果作为 RDS 实例的 SSL 证书计划过期的一部分,您需要使用新的证书文件更新 RDS 实例,则还需要更新 Tableau Server 设置以使用新的证书文件。可以通过下载最新文件和运行 tsm topology external-services repository replace-host 命令并提供新的证书文件来执行此操作。

为 PostgreSQL DB 配置高可用性

Tableau Server 不会为外部存储库管理或设置高可用性。Amazon RDS 提供了可用于提供高可用性、管理故障转移等的高可用性功能。有关详细信息,请参见 Amazon RDS 高可用性(链接在新窗口中打开)

PostgreSQL DB 的灾难恢复

如果发生灾难,您可能需要设置新的 RDS 实例。在其他情形下,您可能需要从 RDS 实例的问题中恢复。例如,升级 Tableau Server 时,可能还需要升级 RDS 实例上的 PostgreSQL 版本。如果您的 PostgreSQL 升级不成功,您可能必须使用新的 RDS 实例。在这种情形下,若要将 Tableau Server 配置为使用新的 RDS 实例,请使用以下步骤:

  1. 将快照还原到新的 RDS 实例。AWS 不支持将快照还原到现有 RDS 实例。有关 RDS 快照备份和还原的详细信息,请参见 Amazon RDS 备份和还原

  2. 创建新的 JSON 设置文件,其中包含新 RDS 实例的连接信息。有关创建 JSON 设置文件的详细信息,请参见随外部 PostgreSQL 存储库一起安装 Tableau Server中的步骤 1

  3. 使用 tsm topology external-services repository replace-host 命令将 Tableau Server 指向新的 RDS 实例。

    有关 tsm topology external-services repository replace-host 命令的详细信息,请参见tsm topology

谁可以执行此操作

只有 Tableau Server 管理员可以将 Tableau Server 配置为使用外部存储库。您还需要一个 AWS 账户来创建 RDS 实例。

后续步骤

对于新安装:随外部 PostgreSQL 存储库一起安装 Tableau Server

如果要将现有 Tableau Server 配置为使用外部存储库,请参见重新配置 Tableau Server 存储库

感谢您的反馈!您的反馈已成功提交。谢谢!