Autoscaling in Meteor AWS


#1

Hi Everyone,

I am trying to autoscale Meteor using AWS. So it could handle more request simultaneously. Also, the solution should be cheaper compared to other available options.

For example, If we go for AWS t2.Medium instance, then the monthly cost would be around 46$.
So, the hunt starts for getting a cheap and better solution.

I found AWS Beanstalk could be the cheaper option as it could be deployed on t2.micro instance and it also cheaper than t2.medium (Free for the first year).

I configured it correctly, and its working.

It could be creating AMI (Amazon Machine Images i.e Replica of existing) for the current elastic beanstalk Machine and then add a load balancer in it. (Source Ref: Also, the video link for the same functionality is also attached.)As the Database is already separated from the main code and hosted over MLAB, so any other machine con also connects with the Web App.

Autoscaling and Load Balancing in AWS

Also, the Load Balancing could be handled with the NGINX that could be configured on one of the server and load balancings can be handled afterward.

Is this solution would work? Is there the possibility of handing the load balancing and autoscaling this way? If not what would be the best possible way I could achieve this?

Question: As both of the instances are the replica of each other if we change in Nginx for one file & add request forwarding for the other machine then would it also impacting the machine 2. Or Are they separate entity?

It would be great if someone could help on this. I need urgent help on this.


#2

Have you tried mup-beanstalk? It does it all for you


#3

You need to update the mup.js everytime you need to update the list of instances. In Autoscaling, it’s done automatically. Also, you should have instances ready before the deployment and they will cost you whether they are being used or not.

You still have to pay for the running instances and for running instances, you have to pay. I don’t find this as cheap option


#4

Oh ok …

First use t3.micro if your region supports it – otherwise t2.micro
Then, in the configuration enable load balancer. If it’s not there, create a new environment and copy everything else (use application load balancer to support websockets).

I had promised a tutorial for AWS EBS – will get on it next week


#5

But will it support the Autoscaling? Or we need to configure it via NGINX


#6

Autoscaling is done via EBS not NGinx, you only need to configure nginx to be a reverse proxy to access meteor


#7

Do I need to create instance manually or its created automatically. I have confusion in this. Will be grateful if you could help.
Also, you have mentioned for video, is that video contains that information that is helpful to me?


#8

Would be great to see that tutorial when you get around to it!


#9

Hi @ramez, Have you done with the video part?