在 AWS 上创建 RDS 数据库

如果您想将 Metabase 从仅用于测试转变为适用于大型应用,则应使用 PostgreSQL 作为应用程序数据库。以下是使用专用应用程序数据库部署 Metabase 的高级视图。

high level architecture diagram

创建数据库

在 AWS 中,在搜索框中输入 RDS,或从页面左上角的下拉按钮中选择 RDS。进入 RDS 后,点击 创建数据库 按钮。

选择 PostgreSQL 作为引擎类型。我们将选择编写本文时 AWS 中可用的最新版本 (12.4-R1)。

模板:您可以保留选择“生产”,或选择任何其他更适合您需求的选项。

设置:为您的数据库输入唯一的 数据库实例标识符。您将需要用户名和主密码来配置 Metabase 中的环境变量。

RDS Templates Section

实例大小:RDS 实例的大小取决于将连接到此数据库的 Metabase 实例数量、正在使用 Metabase 的并发用户数以及已保存的问题、仪表板和配置的数量。首先,t3.small 是一个不错的选择。

RDS Instance size

可用性与持久性:在生产部署中,您应该使用多可用区 (AZ) 集群,因为这将确保数据库在单个可用区出现问题时不会宕机。

RDS MultiAZ

连接性

  • 确保您在与部署 Metabase 实例的 VPC 相同的 VPC 中部署数据库,否则它们将无法相互看到。
  • 创建一个 VPC 安全组,因为您需要授予从 Metabase 实例到数据库监听连接端口的访问权限。 RDS VPC 安全组

其他配置

  • 输入 metabase 作为 初始数据库名称。Metabase 将使用此数据库进行所有配置。
  • 如果需要随时恢复备份,您还可以配置备份窗口。

RDS Initial Database

完成所有这些配置后,点击页面右下角的 创建数据库 按钮,等待数据库创建完成(可能需要几分钟)。

设置安全性

数据库状态变为 可用 后,您需要点击数据库标识符

RDS DB Identifier

在点击数据库标识符后出现的页面上,您将在页面中心看到 连接性与安全性 部分。此部分将为您提供 Metabase 连接到我们刚刚创建的应用程序数据库所需的 终端节点

RDS Connection Data

安全组规则 部分,您将看到已创建的安全组,但该组将有一个规则,该规则仅允许一个 IP 地址访问数据库。

RDS Security Group Rules

要配置数据库的规则,请选择 CIDR/IP - 入站 规则,然后点击页面下部的 入站规则 选项卡。

RDS Security Group Rules

当您点击入站规则时,您需要点击部分右侧出现的 编辑入站规则 按钮。

RDS Edit Inbound Rule

在编辑页面上,您需要删除默认显示的 IP 地址,然后为运行 Metabase 的服务器添加安全组(安全组名称将包含关键字 AWSEBSecurityGroup)。添加此安全组后,点击 保存规则 按钮。

RDS Edit Inbound Rule

使用环境变量将 RDS 实例添加为应用程序数据库

完成所有先前的步骤后,转到您的 Metabase 部署,并使用 环境变量 将 RDS 实例添加为应用程序数据库。

阅读其他 Metabase 版本 的文档。