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
| Charge | Price | Unit |
|---|---|---|
| Data transferred out to another AWS region (USE1-USW2-AWS-Out-Bytes) | $0.02 | per 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
- Open Billing and Cost Management, then Cost Explorer, and set the date range to the last 3 months with Monthly granularity.
- Set Group by to Usage type.
- 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).
- Read the monthly cost per usage type. A line that grows faster than your traffic is the one to chase with the fix below.
- 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
- Cost Explorer > Group by Usage type, filter to the *-AWS-Out-Bytes types, to see which region pairs generate the cost.
- 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.
- For S3 replication: S3 > bucket > Management > Replication rules; narrow each rule with a prefix or tag filter or remove rules nobody needs.
- For databases: review cross-region read replicas and backup copy rules and keep only the ones your recovery plan requires.
- 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.
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
- DataTransfer-Regional-Bytes: cross-AZ traffic on your bill
- DataTransfer-Out-Bytes: internet egress on your bill
- NatGateway-Bytes: the NAT Gateway data-processing line
Part of the guide: Reduce your AWS bill as a startup: a checklist for teams with no FinOps person