Amazon EC2 payment transparency, breaking the free usage tier? - amazon-web-services

I was attracted by the AWS free tier to give EC2/S3 a try. However, one thing I'm worried about is the payment process. There's quite a few management menus and it doesn't seem entirely transparent when I would break the free usage tier (or if I decide to pay, when I break that usage tier).
You can download .csv usage reports, but I wish the billing/usage monitoring was a little more interactive so I don't get unpleasantly surprised. Does anyone have experiences EC2, is there some aspect of the management interface that makes this a easier/less worrisome?

You can monitor your AWS resource usage and the resulting fees here:
AWS Account Activity
https://aws-portal.amazon.com/gp/aws/developer/account/
You can see how current the report is at the top. In my experience it lags by a few hours, which is pretty amazing if you think of how many different customers AWS has and how many little things they have to keep track of to calculate your fees (e.g., every disk I/O request and network byte sent).
Click "Expand All Services" to see the usage/fees broken down even more.
Note: You don't "decide to pay". You already gave AWS your credit card and agreed to pay according to their fee structure. If your resource usage goes over the free tier, AWS will automatically charge your credit card at the end of the month. Monitor the above page regularly to make sure your charges are accumulating as expected.

Use AWS Billing Alerts to notify when you exceeds the fee tier,
If you currently use the AWS Free Tier, you can set a billing alert to notify you if you exceed the free tier by setting a threshold of $0.00.
refer to,
AWS Billing Alerts

Related

Do i need to make some payment on my free-tier AWS account? What should i do now?

I received this mail now and I am using a free-tier account of AWS. This is for the first time that I got an email from them regarding my usage and I don't know what to do in response to this. Do I need to take some actions on my AWS account? Please help me I am new to AWS.
I also got to know that I have been billed $0.59 on this account. So do I need to do some payment or is it fine?
Apparently you used a feature from Route 53 that is not part of the free tier. It is not a fine, it is a service charge and needs to be paid. If you have your credit card on file, it will automatically be deducted. To ensure not to incur any more costs, have a look at the services and features that are part of the free tier here, and turn off everything else.
To prevent this in the future you can set up a budget which will send you a warning when your service charges are going beyond a predefined amount.
You will need to pay this.
With AWS the free tier covers a select number of services, some of these last 12 months from the opening of the account whereas others have a free tier forever (such as Lambda with 1,000,000 free invocations per month).
You're being billed for Route 53 which does not have a free tier.
The complete list of free tier is available from this link.
That is a courtesy email saying that you have exceeded 85% of a free tier limit for an AWS Free Tier-eligible service. Specifically, you have used 643 hours of Load Balancer usage out of a limit of 750 hours (643/750=85.7%).
It is not a bill. Is simply letting you know about your usage, because your total consumption for the month might exceed 100% of the Free Tier for that service.
That email is totally separate to the charge for Route 53 that you have incurred.

aws notifications for data transfer costs

I am using an ec2 linux instance on aws, I am trying to stay inside the Free Usage Tier, but today I have noticed a charge for DataTransfer cost in Billing Management.
I don't know what the limits for DataTransfer are but I'm using aws for the host of a telegram bot
I would like to stay within the limits of the Free Usage Tier, is there a way to receive notifications just before exceeding the limit for data transfers or simply setting a limit not to be exceeded?
You can set up billing alerts, at any dollar amount you want, but keep in mind that if your service is getting slammed with requests, your account will still keep accumulating charges even after the alert is sent out - so depending on how long it takes you to respond to the alert (and turn off services for example), and how fast services are being consumed, you may still end up with an unexpected bill.
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/monitor_estimated_charges_with_cloudwatch.html

What is the most practical way of ensuring an AWS DynamoDB doesn't go over free limits or you getting charged?

I want to use a DynamoDB (specifically with boto3) but I want to avoid getting charged? Most practical way to do this? What sort of usage surpasses free limits?
Please note that the AWS Free Tier is intended as a means of trying AWS services. It is not provided to run production systems.
The Free Tier is a pricing discount provided each month, either for the first 12 months of your AWS Account or, for some services, for every month even after 12 months.
If your usage goes beyond the free usage amount for a service, you will be charged the normal cost of the service.
The free usage tier for DynamoDB provides:
25GB of storage (Value: $6.25)
25 Read Capacity Units (Value: Under $0.01)
25 Write Capacity Units (Value: Under $0.02)
So, the free tier is only saving you $6.28/month at best. If you go a little over this amount, you're probably not going to be spending much.
The AWS free tier page has extensive information on the 60 or so services which provide a free tier, including DynamoDB. You can find the free tier services page here.
As far as avoiding going over DynamoDB free tier limits, there’s a number of potential ways you could handle this. One way might be to use CloudWatch alarms to notify you that you’re approaching the limits, and you could take action when you receive the notification. Another way would be to use CloudWatch events to trigger a Lambda function that sets read and write capacity to 1 when you’re near the limits and thus minimizing your potential overage. In any event, you’ll have to decide what you want to do when you hit those limits, and handle it accordingly.

Using AWS budgets to stop a services

I am currently signed up to the free tier of AWS. I am enjoying experimenting with various services including those not affording by said free tier. Can AWS's enhanced budgets be used to stop services like EC2 instances if I accidentally spend too much? Or do they merely act as alerts?
This is available for EC2, I don't think it is available for all of the AWS resources.
http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html
Hope it helps.
There are several posts which looks it from different perspectives, such as this and this.
Having a cost cap might be a crucial requirement based on the usage, especially when considering how complex it is to set the things up properly and keeping everything secure on the cloud for an average user. At least we can expect to have a feature to switch on/off a cost-cap service, so a user can decide their own scenario easily.
Closest solution that I found is here:
Serverless Automated Cost Controls
https://aws.amazon.com/blogs/compute/serverless-automated-cost-controls-part1
It explains how to trigger AWS Lambda function to change IAM permission from EC2FullAccess to EC2ReadOnly when the budget exceeds the limit.
There is no built-in way to terminate services based on budgets or billing alarms.
You can get notified automatically, but it is then up to you to determine how to handle it.
Would you really want AWS automatically terminating your production infrastructure because you went $1 over your estimated monthly spending?
Edit: There is now a way to monitor and alert on free tier usage, and when your predicted usage will exceed the free tier. See here for details. You could probably come up with a way to terminate infrastructure based on an alert using SNS & lambda.
Edit 2: In Oct. 2020, AWS released Budget Actions - the ability to trigger an action when a budget thresholds are reached. This should give you the ability to automate a response - you can shut down servers, change IAM permissions to prevent additional infrastructure from being created, etc.
Recently, Amazon has given "budget action" to carry out actions like stop services automatically if the budget has exceeded.
https://aws.amazon.com/about-aws/whats-new/2020/10/announcing-aws-budgets-actions/
https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/budgets-controls.html#:~:text=select%20Configure%20thresholds.-,To%20configure%20a%20budget%20action,-Under%20Configure%20thresholds

Does the AWS Billing Management Dashboard take into account Free Tier usage

About a month ago I opened an AWS account to try out Amazon's own tutorial for EC2 services, only to give up after encountering an error.
Today I accessed my account once again, only to find out three tasks have been running in the background the whole month. My Billing Management Dashboard shows a hefty total in the upper right, but in the "free usage" tier the only exceeded entry is S3 Puts, of about 10%.
I can't seem to find a soruce anywhere in the documentation explaining whether the total billing in the upper right takes into account the Free Tier or not. At the end of this month, will I be billed entirely or only the % difference? I'm more or less okay with the latter, but I can't really afford the former.
I've obviously opened a support ticket right away, but since I'm on the basic plan I'm afraid they might answer me after the current bill becomes active.
Thank you for any answers.
You will be billed only for the % difference.
All services that offer a free tier have limits on what you can use without being charged. Many services have multiple types of limits. For example, Amazon EC2 has limits on both the type of instance you can use, and how many hours you can use in one month. Amazon S3 has a limit on how much memory you can use, and also on how often you can call certain operations each month. For example, the free tier covers the first 20,000 times you retrieve a file from Amazon S3, but you are charged for additional file retrievals. Each service has limits that are unique to that service.
Source: http://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/free-tier-limits.html