在 AWS Elastic Beanstalk 上运行 Metabase
由于平台问题,我们不再建议使用 Elastic Beanstalk 在生产环境中运行 Metabase。
如果您正在 Elastic Beanstalk 上运行 Metabase,我们建议您切换到其他设置。
Elastic Beanstalk 的替代方案
Metabase 云
我们推荐 Metabase Cloud(显而易见)。
自托管设置
您可以将 PostgreSQL 或 MySQL 设置为 Metabase 的应用程序数据库,并在您能够监控的服务器上运行 Metabase,无论是您的硬件还是云提供商。
至少,请确保定期备份您的应用程序数据库(并且总是在升级之前)。遵循您组织的安全、监控和可用性要求。
专业服务
如果您需要 Metabase 设置(或构建您的数据堆栈)方面的帮助,请查看我们提供的专业服务。
将您的 RDS 数据库与 Elastic Beanstalk 部署分离
如果您正在使用 AWS 的关系型数据库服务来存储您的 Metabase 应用程序数据,您可以继续这样做(尽管您仍应将您的 Metabase 安装从 Elastic Beanstalk 移开)。您可以使用环境变量从您移动 Metabase 安装的任何位置连接到您的 RDS 主机。
通知用户您的 Metabase 将暂时停机
此过程将导致停机,因此请务必告知用户在您使用新数据库重新创建环境时 Metabase 将会停机。
获取应用程序数据库的快照
您将需要创建 Elastic Beanstalk 实例时使用的数据库的主用户名和密码。
通过进入环境配置并在“数据库”部分找到端点值,识别您的 Elastic Beanstalk 正在使用的 RDS 端点。
- 如果保留策略是“创建快照”,则可以继续。您可以删除整个 Elastic Beanstalk 环境,因为 AWS 将在删除环境之前对数据库进行快照(备份)。
-
如果保留策略是其他值,请访问您的 RDS 实例并为 Elastic Beanstalk 应用程序使用的数据库创建快照。
终止您的 Elastic Beanstalk 环境并创建快照
转到 Elastic Beanstalk Metabase 应用程序,选择正在运行的环境,并终止它。确认数据库将**随快照**一起终止。
终止环境可能需要大约 20 分钟。如果删除失败,您将需要通过 CloudFormation 识别哪些资源未能删除,并自行删除它们。
恢复您的快照
返回 RDS 并选择页面左侧的“快照”选项。您应该会看到列出的人工快照。
选择该快照并点击“操作”>“恢复快照”。
从这一步开始,您可以按照“配置 Metabase 的 RDS”中的相同步骤进行操作。
升级您的 Elastic Beanstalk 部署
如果您想继续使用 Elastic Beanstalk,可以按照以下步骤进行升级
- 下载最新发布的 Beanstalk 工件文件。
- 解压文件。
- 编辑 Dockerrun.aws.json 文件并将镜像标签更改为最新可用版本。始终避免使用
:latest
,而应使用最新的版本号。 - 压缩文件。
- 将文件作为新的 Beanstalk 版本上传到 AWS。
- 升级您的环境。
请记住,如果您使用的是 Metabase 的专业版或企业版,您需要使用 metabase/metabase-enterprise 仓库而不是 metabase/metabase 仓库。
阅读其他Metabase 版本的文档。