I've requirement that I want to publish a small web CMS in a CLOUD environment.

Therefore I thought since I've a AWS account and go for it, but my client does not want bear any high cost. So I'm planning to launch his website in a single small (8GB) EC2 - instance without any load balancer or any zone backup facility, but I'll launch a RDS.

My question is: So far from my AWS learning I understand that ELB is playing major role and providing vast benefit to the EC2 instance. However because of the cost reduction, the way I suggested above launching EC2 - instance without ELB will be OK? or do I take some precautions?

  • 1
    You don't need an ELB for a single server. Cost-wise they're only like $15/month though – ceejayoz Apr 17 '15 at 17:57

You can absolutely launch an EC2 instance without an ELB in front of it, but I would also do the following:

  • Associate an Elastic IP (EIP) so that you have a static public address
  • OS-based security/firewalling software since this instance will be directly accessible from the internet.

I have to ask, though, how cost-averse your customer really is. If you are launching an RDS instance and an EC2 instance with 8Gb memory, you are already spending in the low triple digits per month for this setup (assuming no reservations). The cost of an ELB is $0.025 per hour, or about $18 per month. The ELB provides a ton of flexibility, and because it acts as a proxy, you no longer have direct connections to your webserver from the internet.

I think you should at least present the architecture with the ELB included, and see if they flinch at the cost, and if not, go ahead and implement it.

If you cannot go with the ELB, it is also worth using Route 53 for DNS. You get some benefits there, even if you are only using it to resolve this particular webserver. If you added a second web server in the future, you can do DNS with health checks, and still have some rudimentary load balancing and/or failover.

  • +1 for the ELB being a small cost compared to the servers they're using. – ceejayoz Apr 17 '15 at 17:59

ELB is a load balancer. It's only worth using if you have multiple back ends, or if your back ends are in an ASG. Neither of which apply to your situation. Your backend server is perfectly capable of terminating connections directly.

That said, if your client is cost-averse, AWS is not the solution you should be using. Instead, consider using VPSes from Linode, DigitalOcean, etc. For the price, their servers will out-perform EC2 instances by a wide margin.

  • Thanks for this, but the suggestion I is possible right? – FR STAR Apr 17 '15 at 12:20
  • I'd add that you'd lose the elasticity AWS provides out of the box if you go for a traditional VPS option. However, if you invest time into some automated deployment (e.g., Puppet, StackScripts, etc.), you could kinda get away with that. – Belmin Fernandez Apr 17 '15 at 12:21
  • @Belmin OP is not using the elasticity anyway. He's just standing up a single server. – EEAA Apr 17 '15 at 12:34
  • Yea, seems like he's not at the moment but just thought I'd chime in as that is the only reason I'd choose AWS over Linode. But otherwise, VPS seems like the right solution (hence my +1 ;-)). – Belmin Fernandez Apr 17 '15 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.