icon

article

AWS Hidden Costs: Identifying and Avoiding Them

<- Back to All Articles

Share

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!Sign up

Pricing and product information are correct as of November 1, 2024, and subject to change.

Hyperscaler cloud providers, like Amazon Web Services (AWS), are a popular option for businesses that develop, deploy, and scale cloud applications. However, it’s not uncommon for companies to experience AWS bill shock, owing as much as several thousands of dollars extra—a shock that can lead to significant cost overrun. Startups and scaleups opting to use AWS should think carefully about optimizing and managing their cloud costs.

The best way to avoid unexpected AWS costs is to research and plan out exactly how you’ll use its services. From there, you’ll need to monitor and optimize your cloud spending by adopting cloud cost management tools and implementing cloud cost management best practices. Learn more about AWS hidden costs, ways to avoid overspending on your AWS cloud bill, and how cost-friendly cloud providers like DigitalOcean can be a strong alternative for your business.

Considering alternatives to AWS for your cloud infrastructure needs?

DigitalOcean offers a simplified platform to streamline your cloud infrastructure. Transparent pricing, purpose-built functionality, and robust support are designed to fit your needs and boost productivity for developers and startups.

Learn how DigitalOcean complements (or replaces) AWS

How are AWS costs calculated?

AWS prices resources according to different models, such as pay-as-you-go, savings plans or volume discounts for enterprise usage. Since companies using AWS have a variety of different services and options available to them, pricing may differ depending on what your business uses. Before signing up for a specific service, understand how AWS prices it so you know what to expect and budget for.

AWS provides an online pricing calculator and a searchable list of prices by service. You can also contact an AWS representative for a quote that reflects individualized factors such as your use case type, region, and industry. However, an estimate may only partially capture your costs, especially if you have more complex resource needs or if your usage changes frequently.

Here are key AWS bill line items to expect:

  • EC2: instance hours, EBS volumes, data transfer out

  • S3: storage per GB, GET/PUT requests, data transfer out

  • RDS: instance hours, provisioned storage, backup storage

  • CloudFront: data transfer out, request pricing, SSL certificates

  • Load Balancer: hourly rate, Load Balancer Capacity Units

Factors impacting AWS costs

Knowing how AWS is priced can help you budget for your computing resources. Just like planning your monthly household expenses, understanding cloud costs lets you avoid surprises on your bill. Think of it as managing a utility—your costs go up with usage, but you can control them if you know what to watch for. Here are factors that influence your AWS bill:

1. Resource usage

Generally, higher usage means a higher bill. Your costs reflect your actual resource usage at On Demand or a Savings plan rate. For example, On Demand pricing charges per instance hour used until the instance is terminated or stopped. An On Demand hourly rate of $0.0336 would mean that instance would cost $2.352 for 70 hours.

High usage availability, which AWS says would average over 70 hours per week, may benefit from a Savings plan rate. You would need to commit to a certain amount of AWS usage to get Savings Plan discounts.

2. AWS regions and local zones

Services may have different pricing in different regions and Local Zones. Some Local Zone pricing is different from the parent region where the zone is located.

For example, running an EC2 t3.micro instance in US East (N. Virginia) might cost $0.0104 per hour, while the same instance in the US West (N. California) region could cost $0.0124 per hour, despite both being in the United States. This regional price difference reflects the added infrastructure costs of providing low-latency services closer to major population centers.

3. Pricing tiers and volume discounts

Different usage can change your pricing tier, providing you a discount for use above a certain threshold or charging more if your usage is low. Since AWS bills monthly, you may see your pricing tier change from one month to the next.

For example, with S3 storage, you might pay $0.023 per GB for the first 50TB in a month. If your startup grows and starts storing 60TB, that extra 10TB would automatically qualify for the next tier at $0.022 per GB. The following month, if usage drops back to 45TB, you’d return to the higher per-GB rate.

4. Credits, promotions and free tiers

Special discounts, promotional credits and free services may temporarily adjust your costs or offset part of your bill, which is one possible explanation for pricing fluctuations, particularly if a promotion just expired. For instance, you might receive $1,000 in AWS credits when joining a startup accelerator program, making your bills near zero for several months. Once these credits expire, you’d see your normal charges resume, which could appear as a sudden spike in your bill even though your actual usage hasn’t changed.

5. Third-party software licensing

AWS Marketplace software—third-party applications and tools you can run on AWS—may have additional licensing fees that must be accounted for separately. For example, if you deploy a commercial database like MongoDB Enterprise from the Marketplace, you’ll pay both the AWS infrastructure costs (like EC2 instances) and MongoDB’s licensing fees. The AWS estimate calculator does not include these Marketplace charges.

6. Burst overages

Burstable EC2 instances are a type of virtual machine that provides a baseline level of CPU performance with the ability to “burst” above that level when needed. If you choose these instances, you’re charged for any utilization above the baseline after using up any credits you’ve accrued. Burstable instances don’t have fixed CPU resources, so they can access additional resources quickly when you need them—beneficial for some applications, but potentially expensive if your instances don’t have a baseline CPU high enough for their typical use.

Hidden (or unexpected) AWS costs to look for

Sometimes your bill can also include hidden (or unexpected) costs. Once you start using AWS, you’ll need to continually monitor your resource usage to ensure you’re aware of your computing spend and don’t exceed your budget. Finding these hidden costs on AWS bills is relatively common:

1. Active subscriptions on AWS Marketplace

Active subscriptions on AWS Marketplace will still generate charges to your billing account. On AWS Marketplace, you can find third-party software across a variety of different categories such as business intelligence, networking and security. Many of these applications charge for usage, but you may also be charged for AWS services used or launched by third-party applications on your behalf.

Although many applications charge by usage, some charge a subscription rate that isn’t based on usage—such as a monthly fee for having an account.

2. Stopped instances you didn’t terminate or reserved instances you don’t use

When not using EC2 instances, you have two options: stopping or terminating them. Stopped instances don’t incur compute charges, but their attached EBS volumes continue generating storage costs. To completely eliminate charges, you need to terminate the instance, which deletes both the instance and its storage.

Similarly, Reserved Instances charge you for the full commitment period regardless of usage. While they can provide significant discounts (up to 72% compared to on-demand rates), these savings only make sense if your actual usage matches or exceeds your commitment. Paying for reserved capacity you don’t use essentially negates any potential savings.

3. Saved snapshots, volumes and data from EC2 instances

While root volumes typically delete when an instance terminates, additional data volumes often persist and continue to generate charges. There are two key storage costs to watch: active EBS volumes (which provide live storage for running instances) and snapshots (which serve as backups). Stored snapshots and data will create storage costs.

For snapshots specifically, the default option is Standard storage, but for long-term backups, consider Snapshot Archive—it costs up to 75% less than standard storage.

4. Data transfer and request costs

Data transfer costs in AWS vary depending on the direction and location. While inbound data transfer (into AWS) is typically free, you’ll pay for data moving between regions or out to the internet (egress). Even within AWS, certain transfers between services can incur charges—though transfers within the same region are usually free.

Estimating how much data your account actually transfers can be difficult because even moving data internally from one AWS service to another can rack up data transfer charges. Beyond transfer costs, you may also see charges for API operations—like file access, listing objects in a bucket or other similar requests—appearing on your bill.

5. Unattached elastic IP addresses

Elastic IP addresses allocated to you are still charged to your bill even if you don’t need the instances associated with them anymore. If you haven’t released the addresses, you’re still paying.

For example, if you terminate an EC2 instance but forget to release its Elastic IP, or if you’ve requested Elastic IPs for future use but haven’t assigned them yet, you’ll incur charges. To avoid these charges, always release Elastic IPs when you’re no longer using their associated instances.

6. Cross-Region Replication (CRR)

While S3 Cross-Region Replication helps improve data access speeds and provides disaster recovery by copying objects between regions, it involves multiple cost components. You’ll pay for: storage in both the source and destination regions, the data transfer fees between regions, and the replication request charges for each object copied.

For example, replicating 1TB of data from US East to US West means paying for 1TB of storage in each region, plus the inter-region data transfer fees. Although CRR provides valuable benefits like redundancy and reduced latency for global users, these costs can add up significantly with large datasets.

Best practices for AWS cost reduction

To reduce your overall AWS costs, take advantage of the cost mitigation features AWS offers. Here are a few strategies for optimizing your AWS costs:

1. Use AWS cost management features

AWS offers built-in tools to help you analyze and optimize your cloud infrastructure spending. These features and tools show you your spending in more detail and help you plan future billing:

  • AWS Pricing Calculator: You can estimate your AWS billing by using the calculator Amazon provides. This takes into account per-service costs, service groups, usage and more. Forward your estimates to other team members or export your estimates to a .csv, .json, or .pdf to save for later – remember to check your usage against past estimates to ensure you’re estimating accurately.

  • AWS Forecasting: Use the forecasting and budgeting features to track possible overages before they happen. You can set target utilizations and monitor how quickly you are using resources against your budgets.

  • AWS Cost Explorer: Identify AWS usage patterns, track your Reserved Instance usage, and receive recommendations that you can use to tailor your plan.

  • AWS Cost and Usage Report: Download detailed files with hourly information about your AWS usage.

  • AWS Cost Reporting: Review your usage data regularly via the dashboards and by generating reports. AWS allows you to customize your cost reporting.

  • AWS CloudTrail: Increase your visibility across your AWS cloud, find unusual activity, and gain insights you can use to stop unwanted activity that might increase your costs.

2. Use third-party cost monitoring tools

While AWS provides native cost management tools, you have additional options for optimizing your cloud spend. Cloud cost management tools offer detailed analytics and recommendations, helping you right-size resources and optimize allocation for better cost efficiency. Beyond AWS’s built-in solutions, third-party platforms like CloudZero, Turbonomic, or Harness can provide deeper cost insights and automated optimization strategies. These tools can be particularly valuable for complex deployments spanning multiple services and regions.

3. Change your pricing tier or service plan

Based on your usage, you can choose a pricing model that’s more cost-effective. You can also reconfigure workloads and data that require less redundancy so your usage is allocated to cheaper services, AWS regions or plans.

If you’re using the wrong service plan, you could be overpaying. For example, volume discount pricing via reserved instances is more efficient if you’re using more resources, but requires paying for a minimum amount of resources for a specific time period. An EC2 Compute Savings Plan that reduces your costs may require upfront payment for three years of usage—a significant savings if you already know your usage for the next few years.

4. Right-size your instances

Right-sizing your resources means matching your infrastructure to your actual workload needs. When you’re using resources that are too big for your workload, right-sizing your instances improves efficiency and will likely reduce your costs. This involves choosing the best instances and features for your workloads, reducing idle resources and taking advantage of auto-scaling to ensure your resources are a better fit for your needs. By eliminating overprovisioned resources and reducing idle time, you can lower costs while maintaining performance.

5. Use spot instances

Spot instances let you use spare AWS compute capacity at discounts of up to 90% compared to On-Demand pricing. However, these instances can be interrupted with just two minutes’ notice when AWS needs the capacity back. They’re ideal for fault-tolerant workloads like batch processing, data analysis, or image rendering—tasks that can handle interruption and resume later. Spot instances aren’t suitable for critical production applications or databases that need consistent availability.

6. Clean up unused resources

Resources you aren’t using could be part of your AWS costs, even after you’ve deleted accounts and applications. Use a tool such as AWS Resource Explorer to find every resource you’ve provisioned and terminate resources you don’t use anymore.

7. Use a tagging strategy

Implement consistent resource tagging to track costs by project department, or environment (such as adding tags for “iOS app” or “Android app”). Set up cost allocation tags in AWS to generate detailed reports showing exactly how much each team or project costs. For instance, you might discover your development environment is consuming 30% of your compute costs despite serving only a small team. Create mandatory tags during resource creating to ensure nothing goes untracked.

With proper tagging, you can quickly identify cost-saving opportunities, like when your $5000 monthly AWS bill reveals that an abandoned proof-of-concept environment is still running and consuming $800 in resources.

DigitalOcean: A cost-effective AWS alternative

Compared to AWS, DigitalOcean is competitively priced and offers transparent pricing designed for developers, startups, and small to medium-sized businesses. Because DigitalOcean offers low bandwidth costs across regions, your organization can still operate globally at scale while keeping costs low. This is great for use cases that require a lot of bandwidth, and you can save on your computing spend without complicated savings calculations.

Here’s how DigitalOcean simplifies cloud cost optimization:

  • Straightforward, clear pricing: DigitalOcean charges a flat rate of $0.01 per GB for data transfer, making billing more predictable.

  • Low overage rates: If you go over your limit, DigitalOcean charges $0.01 per GiB for extra outbound data transfer over the public network.

  • Free internal data transfer: Transfers between DigitalOcean Droplets using a virtual private network do not count against your bandwidth allowances, keeping internal traffic costs down.

  • Pooled bandwidth: Flexible and ample bandwidth allowances are pooled across your Droplets.

  • Competitively priced advanced services: Aside from standard Droplet VMs, DigitalOcean also offers a diverse range of storage options, Managed Kubernetes, Managed Databases, and Premium CPU-Optimized virtual machines designed for CPU-intensive applications.

  • Great customer support: User-friendly, intuitive customer support, tutorials and documentation to help you navigate cloud computing and make the most of DigitalOcean’s services.

Instead of dealing with surprise AWS bills, see how cost-effective DigitalOcean can be. Compare us with AWS and see how you save.

Sign up for DigitalOcean today.

Share

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!Sign up

Related Resources

Articles

What is Cloud Resilience?

Articles

What is S3-Compatible Block Storage?

Articles

What is Cloud Infrastructure Entitlement Management (CIEM)?

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.