我的Metabase在Amazon Beanstalk实例上运行,我创建了一个RDS数据库(MySQL),可以使用MySQL Workbench访问该数据库。
当我尝试将数据库添加到元数据库时,出现以下错误消息:
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."}
答案 0 :(得分:1)
您的安全组当前仅允许从一个IP地址进行访问(如上所示)。它阻止了从Web应用程序的访问。
您需要向RDS安全组添加一条规则,以允许从Web应用程序进行入站访问。
最好的方法是找到与您的Web应用程序关联的安全组的ID (例如 sg-abcd1234 )。然后,将规则添加到RDS安全组,以允许从该安全组ID进行访问。然后,这将允许从使用该安全组的任何 EC2实例进行访问(即使Beanstalk添加/删除了它们都将继承访问权限的实例)。