NadyaConstruction Studio

Home / Blog

How to Cut Your AWS and AI Bill Without Breaking Anything

By Nam Bok Rodriguez · · 6 min read

Cut cloud and AI costs in a safe order: first make spending visible, then remove what nobody uses, then resize what is oversized, and only then commit to discounts. For LLM spend, cache repeated prompts, batch work that can wait, and move steps to smaller models only when evals prove quality holds. Every change should be measurable and reversible.

Here is the sequence we follow, with the AWS and model provider features that make each step work.

Why does the order matter?

Because the steps interact. If you buy a one year commitment before rightsizing, you lock in paying for capacity you were about to remove. If you switch an AI feature to a cheaper model without evals, you may save money and lose customers. Visibility first, waste second, commitments last.

How do you see where AWS money goes?

  • Tag and activate. Tag resources by product, environment and owner. AWS notes that cost allocation tags must be activated in the Billing console before they appear in Cost Explorer, and can take up to 24 hours to show up.
  • Break the bill down in AWS Cost Explorer by service, account, tag and usage type. Usage type is where data transfer and NAT charges hide.
  • Set budgets. AWS Budgets alerts when spend crosses a threshold and can run actions automatically or after approval.

What is the safest waste to remove first?

Idle resources. They are the lowest risk change because, by definition, nothing depends on them. AWS Compute Optimizer identifies idle resources and rightsizing opportunities across EC2, EBS, Lambda, Fargate, RDS and Aurora, NAT gateways and other services, based on 14 days of CloudWatch metrics by default. You must opt in first.

Common finds include stopped instances with attached volumes, old snapshots, unattached Elastic IPs, forgotten test environments, and log groups that never expire. On that last one, CloudWatch Logs stores data indefinitely by default, so setting retention is a one line fix that keeps paying off.

How do you rightsize without causing an outage?

  • Use real utilization. Compute Optimizer shows utilization history and projected utilization for each recommendation, and lets you set headroom preferences.
  • Change one thing at a time and watch latency and error rates for a full business cycle before the next change.
  • Consider Graviton. AWS says Graviton offers the best price performance for a broad range of workloads and uses up to 60% less energy than comparable instances for the same performance. It runs on the arm64 architecture, so test your builds and dependencies first.
  • Move EBS to gp3. AWS states gp3 offers up to 20% lower price per GB than gp2.

When should you buy Savings Plans or Reserved Instances?

After rightsizing, for the baseline you are confident will still exist in a year.

  • Compute Savings Plans offer up to 66% savings, and EC2 Instance Savings Plans up to 72%, in exchange for a one or three year commitment measured in dollars per hour.
  • RDS Reserved Instances can save up to 69% over On Demand rates for steady databases. They are non cancellable and fixed to Region, engine, instance class and deployment type, so buy them for databases you are sure about.
  • Commit to less than your floor. Covering your lowest steady usage, not your average, avoids paying for commitments you do not use.

Where do storage and network costs hide?

  • S3 storage classes. S3 Intelligent-Tiering moves objects not accessed for 30 days to an Infrequent Access tier with 40% savings, and after 90 days to Archive Instant Access with 68% savings. There is a small monitoring fee, and objects under 128 KB are not tiered. For data with a known life cycle, lifecycle rules that expire or archive objects are simpler.
  • NAT gateways. They charge per hour and per GB processed. AWS's VPC pricing page uses $0.045 for each in its US East (Ohio) example. Private subnets pulling large amounts of data from S3 through a NAT gateway are a classic leak. Gateway VPC endpoints for S3 have no hourly or data processing charge.
  • Data transfer. Check the usage type breakdown for inter Region and internet egress, and question chatty services that cross Availability Zones without need.

How do you cut LLM costs without hurting quality?

Start by metering. Log input tokens, output tokens, cached tokens, model and feature for every call, so you know cost per feature and per customer. Then:

  • Cache the stable prefix. Put system instructions, tool definitions and reference material first. On Anthropic's API, cache reads cost 0.1 times the base input price on most models, with a default 5 minute cache lifetime that refreshes on each use. OpenAI enables prompt caching by default and recommends putting stable instructions and shared material first.
  • Batch what can wait. Anthropic's Message Batches API and OpenAI's Batch API both cost 50% less than synchronous calls, for work that can complete within 24 hours. Nightly reports, enrichment and evals are good candidates.
  • Route to smaller models only with proof. The price spread is large. On Anthropic's pricing page, Claude Haiku 5.5 input costs $0.10 per million tokens against $4 for Claude Opus 5.5. But Anthropic's own measurements of multi model strategies found that for single chain work fitting in one context, the frontier model alone at lower effort beat the combinations in every case measured. Test routing and effort settings against your evals before you switch.
  • Set token budgets. Cap output length, cap the number of agent steps per task, and trim conversation history you no longer need.
  • Add kill switches. Anthropic lets you set custom spend and rate limits per workspace. Requests over your own limit fail with a clear error, which acts as a hard ceiling. Pair it with an application level switch that disables an AI feature when its daily spend crosses a threshold.

How do you make sure nothing breaks?

  • Change one lever at a time and record the before and after cost.
  • Watch error rates, latency and, for AI features, eval scores after each change.
  • Keep every change reversible: infrastructure as code for AWS, configuration flags for models and prompts.
  • Track cost per unit of value, such as cost per order or per resolved ticket, not just the total.

A cost reduction checklist

  • Cost allocation tags are applied and activated.
  • Budgets alert owners at sensible thresholds.
  • Compute Optimizer is enabled and idle resources are removed.
  • CloudWatch log groups have retention set.
  • Instances are rightsized one change at a time, with Graviton tested where it fits.
  • EBS volumes are on gp3.
  • Savings Plans and Reserved Instances cover only the steady floor, bought after rightsizing.
  • S3 uses Intelligent-Tiering or lifecycle rules.
  • S3 traffic from private subnets uses a gateway endpoint, not a NAT gateway.
  • Every LLM call is metered by feature and model.
  • Stable prompt prefixes are cached and batchable work is batched.
  • Model and effort changes are approved by evals.
  • Output, step and spend limits are set, with a kill switch per AI feature.

If your AWS or AI bill has grown faster than your usage, we can find where the money goes and cut it without putting production at risk. Start a project and tell us what you are spending on today.

Start a project

Tell us what you want built.

A few lines is enough. The person who reads it is the person who builds it.

  • A reply within one business day
  • A written scope with price and date before any work
  • Code, infrastructure and accounts in your name

Prefer email? nam@nadiaconstructionstudio.com

What do you need? Pick any
Budget optional
Timeline optional

We only use your details to reply to you.