Skip to main content
rightsizing · aws

Cross-AZ Data Transfer Optimization Opportunity

resource types
1
rule IDs covered
1
severity
low

What does ZopNight detect here?

Accounts moving 100 GB or more between Availability Zones in a region carry a real DataTransfer-Regional-Bytes bill. ZopNight reads the actual Cost Explorer cross-AZ spend and marks 30% as recoverable through topology-aware routing and same-AZ placement, abstaining whenever the billed cross-AZ cost is absent or zero.

Signal and threshold

How ZopNight evaluates Cross-AZ Data Transfer Optimization Opportunity.
Field Value
Rule IDsRC-065
Categoryrightsizing
Severitylow
Metricnone — pure configuration read
Sourceeks_cross_az_traffic.go

The account-level cross-AZ volume and its billed cost

  • Metadata cross_az_transfer_gb (JSON number): the account’s intra-region cross-AZ GB transferred over the lookback; applicability gate (≥ crossAZTransferHighGB = 100 GB), fail-closed.
  • Metadata cross_az_transfer_cost_usd (JSON number): the real billed cross-AZ dollars (CE UnblendedCost on the intra-region DataTransfer-Regional-Bytes usage types). The monetary basis for the concrete saving; omitted by the producer when CE reports $0 billed cross-AZ, so the rule abstains rather than ship a $0 rec.

Why cross-AZ traffic can shrink but never reach zero

Category is the cost-driven rightsizing. CurrentCostUSD = the real billed cross-AZ line item (cross_az_transfer_cost_usd). SavingsUSD = cross_az_transfer_cost_usd × crossAZReductionFactor (0.30), the conservatively-recoverable share via topology-aware routing / same-AZ placement. Unlike RC-178’s colocate lever (which removes the whole inter-region line item), cross-AZ transfer cannot go to zero (multi-AZ HA inherently requires some cross-AZ traffic), so a conservative reduction factor is applied to the real CE actuals, not to a synthetic $0.01/GB rate and not to a fraction of compute cost. The rule fires with a concrete number when both signals are present and the billed cost is positive; it abstains (returns nil) when the volume is below threshold or the billed cost is absent/zero. The prior per-cluster cross_az_transfer_gb × $0.01 × 2 plan and the older cost × 0.30-of-compute fraction / $0 advisory are all superseded.

Keeping chatty workloads in the same AZ

  1. In Cost Explorer, group by Usage Type and filter to DataTransfer-Regional-Bytes to size the cross-AZ line item, then check the per-GB rate AWS charges for traffic between Availability Zones
  2. Enable Kubernetes Topology Aware Routing (Topology Aware Hints) so traffic prefers same-AZ endpoints
  3. Co-locate chatty workload pairs (app↔cache, app↔DB) in the same AZ where HA allows
  4. Use service-mesh locality-aware load balancing for cross-service traffic
  5. Identify the heaviest cross-AZ talkers via VPC flow logs if per-resource attribution is needed

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

417 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

417 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·