Issues with existing AWS EB with a potential solution

This worked for me in our production environment (tested in staging before going live) and hopefully it’ll help some of you very well. This are my rough unpolished thoughts.

Issue: Running Metabase setup wouldn’t let me save any credentials and eventually timed out after entering the database (step 2). I initially used the quick launch link.

  1. Updating the security group on the Metabase instance in AWS EB to also use the same sg that the production database instance uses solves the issue where the database couldn’t connect during the setup process.
  2. When I used the launch aws instance button from the Metabase website, it seemed that there were a few connection timeouts after attempting to enter my database info (the website worked, but saving the info has trouble. Presumably because it couldn’t connect to the database). t’m not sure if this was because I didn’t use the same security group or not. It is likely that AWS was timing out due to the fact it couldn’t access security group and therefore the database. Manual setup worked better for me and didn’t take much time.
  3. Once I did the manual install following the guide (not clicking the link, but by creating the EB instance myself) it did present me with an error I didn’t catch before: using the wrong database name. This is a good thing because it seemed as if it was actually able to reach the database host without timing out. I resolved the issue (by updating the database name) and everything went along swimmingly.

My advice: if you are currently using AWS EB, then you should consider setting up the Metabase application/environment manually. It doesn’t take much more user effort to accomplish this and it let’s you set the VPC upon creation (clicking the link does not, and won’t let you change it’s settings after it’s been created). If you are using RDS for your production database, which you’d like to use as the data source for Metabase, you should use the same security group. This can be configured under AWS EB > Configuration > Click the cog on Instances > EC2 security groups. You can find out the correct security group by looking at RDS Or the settings for your other EC2 instances.

Here’s a link to the guide: http://www.metabase.com/docs/v0.12.0/operations-guide/running-metabase-on-elastic-beanstalk.html