user1576748
user1576748

Reputation: 687

Amazon EC2 hidden costs?

I plan to move my web site to Reserved Instance c3.xlarge Amazon EC2. However, after playing around for just a few hours with the Free Tier Usage, I already got charge for about $2.65. Although this is not much, I'm considering what happen if I already purchase the 3-year term and get a lot of hidden charges every month. Need advice of what I should prepare to avoid these hidden costs.

My biggest concern is with the first 2 million I/O charge (after the Free Tier Usage ends in one year). Also the Provisioned IOPS EBS ($0.065 per IOPS-month provisioned). With just a few hours trying this new toy, there are already so many IO occurs. Wondering how much the IO if the site is hosted here with EC2.

enter image description here

Upvotes: 4

Views: 4382

Answers (1)

Lorenzo Aiello
Lorenzo Aiello

Reputation: 474

EBS Pricing

I/O requests are only charged for Magnetic EBS Volumes.

  • Using SSD volumes (general purpose or provisioned) there is no change for I/O
  • General Purpose volumes allow about 100 IOPs provisioned per disk (burstable depending on network traffic)
  • Provisioned volumes allow you to increase performance above that ratio

Using non EBS optimized instances with provisioned IOPS is not a good idea.

Reference: http://aws.amazon.com/ebs/pricing/

Instance Pricing

Instances are not designed to be persistent like VPS or Dedicated servers are. Instead, they are designed to be pieces of a larger network infrastructure that makes up your application. There are certain ways around this such as having regular snapshots, and using an autoscaling group of 1 for instant failover.

Amazon's EC2 catch phrase: "Design for failure and nothing will fail"

Reference: http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf (page 11) Reference: http://media.amazonwebservices.com/AWS_Building_Fault_Tolerant_Applications.pdf

Reserved Instances

I would not recommend reserving instances for more than a year at a time because reserved instances are highly specific. Instances must be all of the following criteria to receive the discount and are non-transferable.

  • Must be the same instance type
  • Must be in the same region
  • Must be in the same zone

Reference: http://aws.amazon.com/ec2/purchasing-options/reserved-instances/

Bandwidth

There is not much that you can do here to reduce bandwidth costs (provided it is all legitimate), however you can increase the performance for your clients by using something like CloudFront or S3+CloudFront.

Using S3 for static media assets could also reduce the load on your server.

Designing your Architecture

Based on your requirements (in the comments of the question), I would recommend going with multiple EC2 instances (3-4) using auto-scaling to scale with demand. This will help reduce your costs outside of peak hours. To help reduce costs further, you can use reserved instances on your minimum instance count.

Using that model, a central database can be managed using RDS.

Here is a SE Q&A specific to Magento on AWS: https://magento.stackexchange.com/questions/459/running-magento-in-an-aws-environment

Upvotes: 2

Related Questions