2

我的元数据库在 Amazon Beanstalk 实例上运行,并且我创建了一个 RDS 数据库 (MySQL),我可以使用 MySQL Workbench 访问该数据库。

当我尝试将我的数据库添加到 Metabase 时,我收到以下错误消息:

5000 毫秒后超时。

我试图增加 RDS 实例的超时时间,但显然,您应该创建一个新的参数组。但我不知道如何向 Metabase 提及该参数组(可能在附加 JDBC 连接字符串选项中?)

MySQL RDS 是公开的。

更新:RDS 实例上的安全组设置

Inbound: 
Custom TCP Rule  
TCP  
3306
83.219.196.40/32

Outbound: 
All traffic 
All 
All
0.0.0.0/0

更新 2:元数据库日志消息

Jun 25 12:05:13 ERROR metabase.driver :: Failed to connect to database: Timed out after 5000 milliseconds.
Jun 25 12:05:13 DEBUG metabase.middleware :: POST /api/database 400 (5 s) (0 DB calls)
{:valid false, :dbname "Timed out after 5000 milliseconds.", :message "Timed out after 5000 milliseconds."}
4

1 回答 1

2

您的安全组目前只允许从一个 IP 地址访问(如上所示)。它正在阻止来自 Web 应用程序的访问。

您需要向RDS 安全组添加一条规则,以允许来自 Web 应用程序的入站访问

最好的方法是找到与您的 Web 应用程序关联的安全组的 ID (例如sg-abcd1234)。然后,向 RDS 安全组添加一条规则,允许从此安全组 ID 进行访问。然后,这将允许从使用该安全组的任何EC2 实例进行访问(即使 Beanstalk 添加/删除实例,它们都将继承访问权限)。

于 2018-06-25T12:09:58.413 回答