amazon aws ec2 free tier - amazon-ec2

I am just starting out the AWS free tier and i have the following questions :
The "15 GB of out bandwidth out aggregated across all AWS services". Is this on a per month basis ?
I have a windows AMI running. Will RDP/remoting into the EC2 server from my home computer count against the OUT bandwidth ?
Where can i go look at the consolidated bandwidth usage ? I went through this link https://forums.aws.amazon.com/thread.jspa?messageID=278407, but couldnt find the option "AWS Data Transfer" section.

Yes, it's per month. RDP usage will use both in and out bandwidth, since you send input (keyboard, mouse, etc.), and it sends (mainly) screen changes.

The aggregated bandwidth and usage reports can be viewed from the link
https://portal.aws.amazon.com/gp/aws/developer/account?ie=UTF8&action=activity-summary
This is according to how its specified in the aws forum link. I am attaching a screenshot to make it more clear. Expand the green highlighted portion as shown in the image to get bandwidth usage details.

Related

AWS EC2 pay per hour with 100% availability

I want to run an server for an application I have.
I'm a complete beginner with AWS, so bear with me.
There will be about 50 users (all from the same time zone) that will be accessing the server and I would like to have near 100% availability.
The application I have requires 2 processors and 2GB ram.
I could pay for a machine 24/7 or even only 18 hours a day, assuming I turn it off at night, but I there will be some days where the server is not used at all.
I was wondering if the following is possible: when amazon detects that someone is requesting something from my server, it turns it on in real time, and then forwards the request to my server. After say 5 minutes of no activity, it will turn my server off. This way I can only pay for hours when there is traffic.
Is this possible?
How have people solved similar problems?
No this isn't possible. There is nothing built into AWS to detect traffic and start an EC2 server like you suggest. Plus the startup time on an EC2 server is at least a couple minutes, so those first incoming requests would have to wait a really long time.
You might want to look into running multiple small servers instead of a single larger server. AWS does have the ability to balance the load across multiple servers and add/remove servers from the pool based on traffic. You could have as few as one server running when there is no traffic, and have more servers automatically created as load increases. Look into the AWS Elastic Beanstalk service for this.
If you want to run a truly "serverless" environment where you only pay for compute cycles in milliseconds, instead of servers by the hour, you could look into using AWS Lambda. If you can architect your system to run on Lambda you are almost guaranteed to save costs, but it can be a real challenge to convert an existing system to this sort of architecture.
If you want to look outside AWS you might find something more along the lines of what you describe with Google App Engine. Heroku's free tier also works similarly to your description, but as soon as you outgrow the free tier you have to upgrade to always-running instances.

How to disable Amazon EC2 charging?

I currently try to implement amazon ec2 and I read that after one year they charge you. I used google app engine before(using java) and there is the feature that you can enable/disable charging. I just want to try the free ec2 instance, so here are my questions:
Does Amazon EC2 AUTOMATICALLY charge you after one year?
How to disable the automatically charging function?
I ended up closing my account by visiting the account page
At the bottom of the page you will find "close account"
It is currently not possible to disable charging. You might need to go over the free tier (for example if you setup a production environment, you might not want it to be killed automatically by amazon). Google App engine is a bit different because it is free if you have zero http requests, so it will just stop serving your app.
If you delete your credit card on your account, amazon will still charge it if there is an unpaid balance.
Amazon will not remind you that you will go over your free tier, so I would recommend to put a little reminder in one year on your calendar in one year to not forget to shutdown your server.
There is no way to control how much you will have to pay on AWS, that's why I wouldn't use it.
Amazon is really vague on the free tier (for instance it's not very clear whether the storage volume comes with the instance is counted against free EB2 storage quota). There are so many ways you can get a bill for using the free tier.
Yes you will be billed after 12 months, if you don't terminate all the instances and detach all storage volumes.
So many people have complained about Amazon's billing practice. Amazon has never changed. I guess this is the way Amazon decided to make $. Let you in for "free" but you will most likely accidentally spend some money. If you decide to use it, you won't know how much you will have to pay. If you have the capability to use colo/dedicated server, you might find out it's actually so much cheaper to go with a fixed monthly payment instead of billing based on usage.
With Amazon EC2, you are billed per hour of usage. If you are a new user, your account is credited with something like 8,760 free hours (24*365) which expire after 1 year. (I'm working from fuzzy memory here, so double-check the official terms instead of taking my word for it.)
After your free hours expire or are otherwise used up, Amazon EC2 will begin billing for normal hours (which can be as cheap as 2 cents per hour -- http://ec2instances.info). There is no such thing as a "free" EC2 instance.
So, to answer your questions:
Does Amazon EC2 AUTOMATICALLY charge you after one year?
Once your free hours are used up or expire, then you are automatically billed for normal hourly usage.
How to disable the automatically charging function?
You can't. All EC2 instances cost money. You are responsible for keeping an eye on your account and ensuring that you don't go over your free hours if you don't want to pay anything.
I was charged for a service that practically i never used.
a) Its true that Amazon never told you that the free tier is done. However, Amazon is prompty to charges you. Its my mistake but i admit that a little advice doesn't hurt, specially since practicaly everybody do that.
b) Even for a free tier, i wasn't impressed with the performance. I am owned a shared-hosting that are more powerful.
c) As some comments said, you can't delete your credit card, neither you can cancels the service. Its really low.
d) Finally,as some comment said, i closed my account. As far i can remember, its not tied with your Amazon (not cloud) account.
The service its so convoluted and overly complex, its filled with paid-traps and i am not impressed at all. Thanks Amazon but not thanks, i will stick with VPS/Dedicated.
You get 1 year of free usage http://aws.amazon.com/free/ .
Try reading AWS Free Usage Tier: http://www.amazon.com/Getting-Started-Guide-Usage-ebook/dp/B007Q4JESC/ref=sr_1_1?ie=UTF8&qid=1343213452&sr=8-1&keywords=aws+free+tier .

How to set up and serve a fail whale-like server overload page?

We have a fairly large member site set up on AWS using a medium high-CPU server. Most of the time it runs at very low capacity (~3%), but once a week we send out a newsletter to our members with opportunities. In the minutes after the newsletter the server load shoots up (sometimes to over 100%) with members trying to access the site.
In the long term, we will be restructuring the system, but for now, I'd like to add an overflow server that will serve a 'try back in a few minutes' page to users while this is occurring.
I haven't been able to find any good how-tos on setting up routing for this type of thing. Any ideas?
Thanks!
Why not use Elastic Load Balancing along with Auto Scaling instead?
That would allow you to match the number of servers to your actual usage. Most of the week, you would not be paying for 97% unused capacity, and during the newsletter periods, you will have enough capacity for everyone to log on and buy something from you.
There is a post on the Amazon Web Services blog that explains how to do this. It puts failover web page on S3, which is easy to maintain and cheap.
Create a Backup Website Using Route 53 DNS Failover and S3 Website Hosting

Amazon EC2 IO operations

I have a question regarding EC2.
Let's say I have a pure EC2 instance with no EBS volumes attached. For small instance type I still have 160 GB of data (which is lost on error, etc).
The question is if I pay for IO operations to these 160GB drive?
thank you
No, you won't have to pay exclusively for I/O operation on EC2 machine.
You are just paid for the data-transfer to the world and EC2 (client/server) + EC2 instance on an hour (I hope you know all this), in-case if you don't take a look at this: http://aws.amazon.com/ec2/pricing/.
Also, there is a nice tool provided by Amazon AWS to calculate your spending on AWS - take a look at it here: http://aws.amazon.com/calculator/.
It does charge money for io request. here is from the site. It charged for me, I am not sure for you tho. I found the io the very expensive. I have a simple blog with normal traffic, postgresql backend. That cost me like 25 bucks every month only for io access. After I found out that, I switched.
Amazon EBS Standard volumes
$0.10 per GB-month of provisioned storage
$0.10 per 1 million I/O requests
Amazon EBS Provisioned IOPS volumes
$0.125 per GB-month of provisioned storage
$0.10 per provisioned IOPS-month
Amazon EBS Snapshots to Amazon S3
$0.095 per GB-month of data stored

Compare site traffic to Dedicated machine time usage

If I have a website, hosted with a standard hosting company, and I would like to move it to a Dedicated machine, maybe EC2, is there a way to compare my current traffic to usage of a cloud machine?
Hosting companies gives you plan measured in Bandwith/Space while EC2 in usage time.
So I'm looking for a way to predict machine usage time based on my current traffic data for costs evaluation.
Thanx!
I'm not sure you're understanding usage time correctly. For your website to exist on EC2, you'll need to create one or more instances depending on the architecture you use. This is the same as a dedicated hosting setup elsewhere except with cloud instances.
The difference lies with billing. Where a traditional hosting company will charge you monthly, EC2 charges you per instance hour, or every hour you have an instance running. Therefore, for hosting a website, you'll have the server running 24/7 which will equate to roughly 720 hrs a month charged at a few cents per hour.
The key thing to work out is how many/what size instances you'll need to run your site at the equivalent performance you're seeing now, and that's only something you'll figure out with testing.

Resources