Why AWS data transfer billing surprise users
Data Transfer costs are what AWS charges you to transfer data into or out of AWS. This transfer of data can be between AWS and the Internet and within the AWS cloud. Data transfer charges can surprise AWS users because they might not factor that into their cost of running services, e.g., EC2. They might look at the per hour cost of running an EC2 instance to calculate what their web application will cost them but ignore the data transfer out charges.
One common culprit of escalated transfer costs is an application or service that retrieves a significant amount of data from S3. The requests may not incur a large amount at first, but this can quickly turn into hefty charges eventually. There are other examples of applications with a continuous two-way dialogue with the Internet and disaster recovery services that are regularly copying business-critical data to secondary AWS Regions. Increasing data transfer costs on AWS can be diminished using private IP addresses and the CloudFront CDN service, but these options have their costs.
AWS charges some data transfer types only one-way (either in or out), such as S3. The first GB per month is free and the next 9.999 TB per month costs $0.09 per GB for S3 buckets located in the US West (Oregon) region. On the other hand, if the S3 buckets are in the South America (São Paolo) region, the first GB per month is again free, but the next 9.999 TB per month costs $0.25 per GB. This is how you might end up incurring additional costs to your AWS bill.
Amazon Glacier is a secure and durable data backup and archival facility. It provides various charge options along with a few hidden charges, including deletion. A customer created a lifecycle policy on a bucket that moves files to IA after 30 days and glacier after 60 days. That seemed like an easy task, but what they failed to account for is the request pricing. If you consume 350,000 files on a daily basis without aggregating them, by the end of the month, you would have incurred a cost of 10,248,602 requests (not including the storage costs), and your bill will be around $514.23.
To find out more about surprising ways you pay for AWS Glacier, you can read more in this article about The Surprisingly Many Ways You Pay for Using AWS Glacier.
Another way to cut down data transfer costs on AWS is by creating an infrastructure where data transfers occur within the same Availability Zone or AWS Region wherever possible. This infrastructure should also minimize the number of cross-regional data transfers.
A new AWS user tried using a free Tier EC2 instance as a proxy server for himself just for viewing web pages on the AWS forum page. But when he checked his bill, I saw around 70 GBs of data transfer there. He claimed he had no idea how he incurred this data transfer. Within two weeks, he received nearly 70GB of unknown traffic. The suspicious transfer happened in two days when he used EC2 service only and had 1 EC2 instance running only. His account kept on creating volumes despite setting the default volume to 8GB.
Another user received a $1000 bill because their instance had been compromised. It was implicated in a large-scale Distributed Denial of Service attack. Because of the attack's size, the user was asked to either replace the instance or find the actual compromise and resolve the root cause.
Billgist is a subscription-based service that helps you keep an eye on your daily AWS spending and how it's trending each month. You can choose your alert frequency and add additional recipients as well. The existing AWS billing console is limited because it can only display your costs without notifying you about an eventual surge in the bill. It can also be impractical for most non-technical users to monitor their AWS costs continuously. Billgist allows these reports to be pushed to anyone on the team (e.g., accountant, CFO, someone with financial responsibility) without knowing how to sign in to the AWS console. If you manage client's AWS accounts (like our teams at Foretheta do), Billgist helps you monitor multiple AWS accounts without paying per-seat pricing.
It is essential to examine and understand AWS data transfer costs to avoid unexpected and devastating billing charges. There are many instances where AWS users received surprisingly high amounts of bills and were charged for applications and services they didn't even know they were using. If you're looking for tips on reducing AWS data transfer costs, check our article on Data Transfer Pricing: A Surprising Item on Your AWS Bill.
Top comments (0)