Reputation: 687
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.
Upvotes: 4
Views: 4382
Reputation: 474
EBS Pricing
I/O requests are only charged for Magnetic EBS Volumes.
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.
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