Home › Decoder › USE1-USW2-AWS-Out-Bytes - data sent between regions, and how to cut it

USE1-USW2-AWS-Out-Bytes - data sent between regions, and how to cut it

A usage type ending in AWS-Out-Bytes, such as USE1-USW2-AWS-Out-Bytes, is data sent from one AWS region to another; US East (N. Virginia) to US West (Oregon) is $0.02 per GB.

In your bill the usage type reads: USE1-USW2-AWS-Out-Bytes

What it costs

ChargePriceUnit
Data transferred out to another AWS region (USE1-USW2-AWS-Out-Bytes)$0.02per GB

US East (N. Virginia); other regions differ. Checked 2026-11-04. Sources: AWS EC2 data transfer pricing, AWS price list file, EC2 offer, us-east-1.

Example with made-up numbers

5,000 GB per month replicated from US East to US West

5,000 GB x $0.02 = $100.00 per month on the USE1-USW2-AWS-Out-Bytes line

Replicating only the prefixes that need it (2,000 GB) = 2,000 x $0.02 = $40.00, a saving of $60.00 per month

Typical causes

S3 cross-region replication

A rule without a prefix or tag filter copies every new object.

Cross-region database replicas and backup copies

Each write and each copied backup crosses the region boundary.

A service calling another region

A caller placed in a different region from its data pays per GB on every request.

One-off migrations and bulk copies

A large copy shows as a spike that fades; check whether it is still running.

Find it in your bill

Have a CUR file queryable in Athena? Paste this and run it:

SELECT date_trunc('month', line_item_usage_start_date) AS month,
       line_item_product_code,
       line_item_usage_type,
       line_item_resource_id,
       SUM(line_item_usage_amount)  AS usage_amount,
       SUM(line_item_unblended_cost) AS cost
FROM your_cur_table
WHERE line_item_usage_type LIKE '%-AWS-Out-Bytes'
GROUP BY 1, 2, 3, 4
ORDER BY month DESC, cost DESC
LIMIT 50;

Columns used: line_item_usage_start_date, line_item_product_code, line_item_usage_type, line_item_resource_id, line_item_usage_amount, line_item_unblended_cost.

No CUR file? Use Cost Explorer

  1. Open Billing and Cost Management, then Cost Explorer, and set the date range to the last 3 months with Monthly granularity.
  2. Set Group by to Usage type.
  3. In the Filters panel choose Usage type and tick the entries ending in *-AWS-Out-Bytes (the region prefix, such as USE1-, differs by region).
  4. Read the monthly cost per usage type. A line that grows faster than your traffic is the one to chase with the fix below.
  5. To see which resource drives it, query the CUR above; resource IDs appear only if your CUR was set up with resource IDs included, otherwise the resource column is empty.

Column names checked against: docs.aws.amazon.com/cur/latest/userguide/Lineitem-columns.html, docs.aws.amazon.com/cur/latest/userguide/cur-ate-run.html.

The fix, step by step

Verify first

Check these before you change anything: the steps below are suggestions, and only you can see your own configuration.

  • Find the resources behind the bytes (CUR resource id, S3 replication metrics, RDS replica list) before changing anything.
  • Replication and copies may be there on purpose for disaster recovery or compliance; confirm the recovery plan before removing any.
  • Check whether the line is one-time (a bulk copy or migration) or ongoing by looking at the daily series.
  • Change one flow at a time and compare the daily line for a week.

In the console

  1. Cost Explorer > Group by Usage type, filter to the *-AWS-Out-Bytes types, to see which region pairs generate the cost.
  2. Cost Explorer > Group by Resource (needs resource-level data) or use the CUR line_item_resource_id on these usage types to find the source.
  3. For S3 replication: S3 > bucket > Management > Replication rules; narrow each rule with a prefix or tag filter or remove rules nobody needs.
  4. For databases: review cross-region read replicas and backup copy rules and keep only the ones your recovery plan requires.
  5. For services calling across regions, move the caller or a cache into the same region as its data.

With the CLI

aws ce get-cost-and-usage --time-period Start=2026-10-01,End=2026-11-01 --granularity MONTHLY --metrics UnblendedCost UsageQuantity --group-by Type=DIMENSION,Key=USAGE_TYPE --filter '{"Dimensions":{"Key":"USAGE_TYPE_GROUP","Values":["EC2: Data Transfer - Inter AZ"]}}'
aws s3api get-bucket-replication --bucket my-bucket
aws rds describe-db-instances --query "DBInstances[?ReadReplicaSourceDBInstanceIdentifier!=null].[DBInstanceIdentifier,ReadReplicaSourceDBInstanceIdentifier]"

Rollback

Re-create the replication rule or replica; data copied after the rule returns, but objects written while it was off need a batch replication job to catch up.

Find your inter-region line in your own bill

Drop in your Cost Explorer or CUR CSV. Billtrim reads it in your browser, finds the AWS-Out-Bytes lines and shows the monthly dollars.

See a sample result

Paste your export: how to export a Cost Explorer CSV or CUR file in two minutes.

Questions people ask

Is every region pair $0.02 per GB?

No. $0.02 per GB is the rate for US East (N. Virginia) to US West (Oregon) in the price list; other pairs have their own rates, so check the pair in your usage type.

Does this line include traffic to the internet?

No. Traffic to the internet is DataTransfer-Out-Bytes, a different line.

Related

Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person