High Cross-Region Data Transfer
What does ZopNight detect here?
High cross-region transfer fires when an account moves at least 100 GB between AWS regions with real billed egress on the -AWS-Out-Bytes usage types. ZopNight takes actual Cost Explorer dollars as the cost basis and marks 50% as recoverable through colocation, since DR replication and multi-region HA traffic cannot be eliminated.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-178 |
| Category | rightsizing |
| Severity | medium |
| Metric | none — pure configuration read |
| Source | data_transfer_cross_region.go |
Where it applies
The Cost Explorer egress signal
- Metadata: cross_region_transfer_gb (≥100 GB; new Cost-Explorer DataTransferProvider → account-level data-transfer-account row)
- Metadata: cross_region_transfer_cost_usd (REAL billed inter-region egress, CE UnblendedCost on -AWS-Out-Bytes usage types; PRODUCER WIRED: DataTransferProvider requests UnblendedCost on the same ce:GetCostAndUsage call and sums it over the same groups)
Why only half the egress is recoverable
concrete-or-abstain. CurrentCostUSD = cross_region_transfer_cost_usd (the full billed inter-region egress line item, real CE UnblendedCost actuals, not a 730×rate or fraction-of-compute); savings = cross_region_transfer_cost_usd × 0.50 (crossRegionReductionFactor, the conservatively-recoverable share: a large part of cross-region traffic is architecturally required (DR/replication, multi-region HA, backups) and cannot be colocated away, mirroring RC-065’s 0.30 honesty for the cross-AZ line item); OptimizedCostUSD = the residual. FIRES CONCRETELY: the discoverer producer was wired (it adds UnblendedCost to the same GetCostAndUsage Metrics and sums it over the same -AWS-Out-Bytes groups, stamping cross_region_transfer_cost_usd alongside cross_region_transfer_gb). No new SDK call and no permissions change; same ce:GetCostAndUsage. The rule still abstains when CE reports no billed inter-region egress (cost key omitted, ≤0) rather than ship a $0/advisory cost rec.
Colocating the chattiest region pairs
- In Cost Explorer, group by Usage Type and filter to inter-region ‘-AWS-Out-Bytes’ to find the heaviest region pairs, priced at AWS’s published inter-region transfer rates
- Colocate services that chatter across regions into the same region
- Use VPC endpoints / PrivateLink to reduce data transfer and NAT costs
- Compress or batch data before cross-region transfer