Amazon Web Services (AWS) is the most popular public cloud provider in the world by market share, and is used by a range of businesses all over the globe. However, as more companies look to optimize their cloud spending to reduce their monthly bill, bandwidth usage and costs are often areas of focus. Nowhere is this more apparent than with AWS’s egress data transfer pricing, also referred to as data transfer costs.
In this article, we’ll break down how AWS data transfer costs work, where prices can balloon, and alternatives for cost-effective cloud infrastructure.
First, what exactly is egress? In networking terminology, egress refers to outbound data transfer from a network to another network or an individual server. For cloud providers, this means data that is transferred from one cloud provider’s data centers to the public internet, another cloud provider, or to your own infrastructure. While some cloud providers like DigitalOcean offer flat bandwidth fees for all types of data transfer, AWS has a complex pricing model which breaks data transfer into several categories depending on the service you are using, such as virtual private cloud, storage, CDN, or serverless compute.
AWS offers free inbound “ingress” data transfer, meaning whenever a user uploads a new image or other data source to their AWS account, it won’t cost anything. But outbound “egress” is metered and billed in several different categories, which have differing rates, which can contribute to complex and expensive bills if users don’t understand the nuances of AWS’ egress costs and how they differ across availability zones, data transfer type, and more.
AWS pricing accurate as of August 2023.
AWS’s monthly data transfer costs for outbound data to the public internet are $0.09 per GB for the first 10 TB, dropping to $0.085 per GB for the next 40 GB, $0.07 per GB for the next 100 TB, and $.05/GB greater than 150 TB. These prices are for both EC2 virtual machines and S3 storage. No bandwidth is included in the base compute rate, so users will always pay extra for bandwidth, which naturally scales data transfer charges as an application’s user base grows. Inbound data transfer is included for most services.
Things get even more expensive for inter-regional AWS data transfer costs. Transferring data between two EC2 instances in different AWS regions, called availability zones, is charged at $0.02 per GB, meaning that even transferring data between one AWS region and another incurs charges that can quickly grow.
To put these charges in perspective, DigitalOcean provides 500 - 11,000 GiB/month of included outbound bandwidth costs, dependent on which Droplet virtual machine plan is selected, and only charges $0.01 per GiB for all additional outbound data transfer that uses a public connection. Data transfers between DigitalOcean Droplets (virtual machines) that use a virtual private network do not count toward the bandwidth allowance or overage charges. DigitalOcean also pools bandwidth between Droplets, so the more virtual machines you have, the more your total included bandwidth allowance.
Other AWS services also carry high regional data transfer charges. For example, prices for transferring data out of S3 buckets to the internet range from $0.05 (for over 150TB per month) to $0.09 (for the first 10 TB/month) per GB, depending on volume. Amazon CloudFront CDN pricing includes regional data transfer out charges of at least $0.02 per GB and up to $0.114 for certain AWS regions and data transfer volumes. DynamoDB, Glacier, and more services follow similar pricing models, that differ by AWS region. In their bills, AWS uses cost allocation tags to help users decode their costs because their data transfer costs can be so confusing between the various AWS services one customer is often using. Still, these cost allocation tags need to be set up and monitored by the customer.
Compared to some other cloud providers such as DigitalOcean, AWS egress pricing can be more than five times as expensive. This means costs can quickly balloon, especially for bandwidth-intensive businesses building Internet of Things (IoT), web scraping tools, and video streaming applications. According to a Forrester Total Economic Impact Report, customers can experience a 186% ROI over three years by using DigitalOcean. Additionally, the high data transfer fees charged by AWS can cause vendor lock-in by making it extremely expensive for users to move their data off of AWS, including optimizing their costs by using a multi-cloud strategy or migrating fully to another provider with more favorable pricing.
To demonstrate how AWS data transfer charges balloon, let’s look at a hypothetical usage scenario in which a customer uses multiple AWS services in different AWS availability zones.
Say you have EC2 web servers in US East (N. Virginia) serving a mobile app used by customers worldwide. Your backend MySQL database runs on RDS instances in US West (Oregon), storing telemetry data sent from the app.
Outbound traffic from the EC2 instances to the internet would incur the standard $0.09 per GB egress rate, costing more as your app’s user base grows globally. But because services are not in the same AWS region, the expensive inter-regional data transfer charges also come into play. Any usage data sent from the EC2 instances to the RDS database in US West would be billed at $0.02 per GB. At multi-terabyte scale, this inter-regional cost becomes significant.
A basic example of what costs could look like for a relatively small business with low bandwidth usage is below:
|Cost||Description||Amount||Total (egress only)|
|$0.09/GB||Data transfer out from EC2 to Internet||5 TB (5120 GB)||$460.80|
|$.02/GB||Inter-regional data transfer||2 TB (2048 GB)||$40.96|
Now imagine a business that wants to build a global infrastructure, so wants to run workloads on EC2 capacity in Europe and Asia to reduce latency. Any data transferred between one availability zone and another for replication or shared access would again be billed at the high inter-region egress rate. While their data transfer cost out to the internet may be lower due to the volume they are utilizing, they would get hit by additional inter-regional data transfer costs.
As you scale infrastructure across regions, these inter-regional “private” data transfers incur heavy egress costs simply for using AWS as intended. This discourages using multiple AWS availability zones in order to build redundancy into your system and grow your global footprint, rather than having all services in the same AWS region. These data transfer costs grow even more and get more complex when adding in the multiple services that most companies are using from AWS.
|Cost||Description||Amount||Total (egress only)|
|$0.07/GB||Data transfer out from EC2 to Internet||100 TB (102,400 GB)||$7,987.20|
|$.02/GB||Inter-regional data transfer||50 TB (51,200 GB)||$1,024|
These two scenarios demonstrate how quickly AWS pricing can scale, and how it can be difficult for customers to predict what data transfer costs, and therefore bills, will look like at the end of the month. AWS pricing is so complex that there are several tools including AWS’ own pricing calculator, cost allocation tags, the AWS cost explorer, external pricing calculators, as well as consulting agencies, specifically dedicated to helping AWS customers understand and lower their AWS bills.
AWS’s complex and high egress pricing often results in customer lock-in, as it both increases the amount they can charge for services, and causes lock-in when customers look to leave AWS. If a customer wants to move to a multi-cloud strategy or migrate off of AWS entirely, they will be charged these same egress costs for any data transferred from AWS. So even if a user would save money in the long-run by migrating to a cloud with lower egress charges like DigitalOcean, they will need to foot a large bandwidth bill just to move their data off S3 or EC2.
This lock-in means they can raise prices while knowing that many customers won’t invest the time and resources to change cloud providers, which often means as a business grows, they are paying more and more in their cloud bill to AWS.
So if AWS’s egress pricing promotes lock-in and makes it difficult for businesses to scale without their costs growing unpredictably, what are some alternatives to help cloud users reduce data transfer costs?
DigitalOcean offers much more affordable and transparent pricing models, charging a simple $0.01 per GB for data transfer, regardless of direction. For businesses that have high bandwidth needs, the savings can be vast. Even small businesses like Validin reported saving over $2,000 a month when they migrated their cloud infrastructure from DigitalOcean to AWS, and the cost savings can be even higher for businesses spending more on AWS each month.
In addition to our basic Droplet virtual machines, DigitalOcean also offers Premium CPU-Optimized virtual machines, which provide high performance at favorable prices for CPU-intensive workloads. DigitalOcean also provides managed Kubernetes, managed databases, storage, and more. Combined with fair bandwidth pricing, more SMB-friendly customer support than AWS, and strong documentation and tutorials, this makes DigitalOcean an attractive choice for businesses looking to get away from AWS’ excessive egress costs.
AWS offers a large breadth of cloud infrastructure options. But AWS costs, especially around data transferred from AWS to the public internet or even between AWS regions, lock customers in and get more complex as your business and global cloud architecture grows. DigitalOcean offers generous bandwidth with all Droplets, as well as bandwidth overage charges that are much less expensive than the AWS.
To speak with a sales representative about how much you could save moving to DigitalOcean and how we can assist with your migration, contact our sales team today. Or sign-up yourself on DigitalOcean’s simple-to-use cloud console.
Sign up now and you'll be up and running on DigitalOcean in just minutes.