Multi-cloudNetworking4 min read

Separate transfer costs before blaming compute or storage

Sources checked September 10, 202625 minutes
On this page

This check is due for a source refresh. Confirm the current documentation before you rely on provider-specific details.

THE SHORT ANSWER

Separate AWS and Azure transfer charges by documented category, then review Google Cloud network tiers before changing compute or storage. Skipping this can assign a transfer charge to the wrong cost driver and create a performance conflict.

What you need first

Tool
Use a manual checklist with AWS Cost and Usage Report (CUR), Azure invoice records and bandwidth pricing, and Google Cloud regional external IP tier settings. The CUR is AWS billing data containing transfer usage types; collect two complete months for a fixed scope.
Access
Ask authorized billing colleagues for read-only AWS CUR and Azure invoice results for the chosen scope and months. Ask an authorized Google Cloud network colleague for regional external IP tier settings and the observation date.
If you do not use that tool
Send billing and network colleagues the account or project scope and two complete months. Request categorized AWS and Azure charges with quantities and units, plus a separate Google Cloud tier inventory showing resource, region, tier, and observation date.

Why this is worth a look

Wrong attribution can send a team toward an unnecessary compute or storage change. AWS identifies transfer charges through CUR usage types and ProductCode, Azure separates inter-region and internet-egress categories, and Google Cloud tiers change both outbound pricing and routing path. Compare billing records with configuration evidence instead of treating a tier setting as proof of a bill cause.

Run this check

CHECKLIST

Complete this checklist manually from billing records and configuration results. Keep provider scopes, months, units, currencies, and configuration dates separate.

Read-only transfer cost review
READ-ONLY TRANSFER REVIEW
Do not change resources or network tiers.

[ ] Define scope and time window.
    Record accounts or projects and two complete billing months.
    Keep units, currency, price basis, credits, and taxes consistent within
    each provider. Do not combine unmatched units or currencies.

[ ] Classify AWS CUR rows.
    Read lineItem/UsageType and lineItem/ProductCode.
    Keep CloudFront separate: Region-DataTransfer-Out-Bytes or
    Region-DataTransfer-Out-OBytes with ProductCode AmazonCloudFront.
    Separate internet Region-DataTransfer-Out-Bytes; same-Region Availability
    Zone traffic Region-DataTransfer-Regional-Bytes; and inter-Region
    SourceRegion-DestinationRegion-AWS-Out-Bytes with its incoming row.
    Incoming inter-Region rows have no charge; outgoing rows determine the
    charge. Unprefixed DataTransfer-Out-Bytes and DataTransfer-Regional-Bytes
    refer to US East (N. Virginia). Review Direct Connect endings DataXfer-In,
    DataXfer-Out, DataXfer-In:dc.3, and DataXfer-Out:dc.3 separately.
    Keep S3 Transfer Acceleration types containing ABytes separate. Leave
    unresolved rows unclassified.

[ ] Match Azure invoice rows.
    Separate inter-region transfer within a continent from transfer between
    continents. Inter-region transfer is priced per GB.
    Separate internet egress by source continent and routing preference:
    Microsoft Premium Global Network or transit ISP network. Record the
    applicable monthly volume band. If the invoice uses billing Zones, use
    the bandwidth FAQ mapping. Billing Zones are not Availability Zones.
    Keep CDN, ExpressRoute, and Peering outside this comparison.

[ ] Record Google Cloud configuration separately.
    List each regional external IP, associated resource, region, Premium or
    Standard Tier, and observation date. Do not use today's setting as proof
    of a past billing-month setting. Outbound tier pricing is per GB and
    routing differs. Cloud CDN requires Premium Tier.

[ ] Compare and escalate.
    Record category, quantity, unit, cost, and currency for AWS and Azure.
    Keep the Google Cloud inventory separate. Flag changed quantities,
    unmatched rows, and unknown historical settings for the billing or
    network owner before assigning a cause.

How to confirm it

  1. 01

    Request comparable billing months

    Choose two complete billing months and a fixed scope within each provider. Request read-only billing results and a dated Google Cloud tier inventory from authorized colleagues when needed. Keep each provider separate unless units, currency, and price basis match.

  2. 02

    Classify AWS transfer rows

    Read lineItem/UsageType and lineItem/ProductCode in the CUR. Separate CloudFront, internet, Availability Zone, inter-Region, VPC Peering, Direct Connect, and S3 Transfer Acceleration patterns. Leave unmatched rows unresolved instead of forcing a category.

  3. 03

    Match Azure bandwidth categories

    Match invoice rows to inter-region or internet-egress categories on the bandwidth page. Use source continent, routing preference, monthly volume band, and billing-Zone mapping where applicable. Ask the billing owner about unmatched charges.

  4. 04

    Review Google Cloud tiers

    Record the regional external IP, resource, region, tier, and observation date. Treat Premium and Standard as both a pricing and routing choice. Do not propose Standard Tier for Cloud CDN, which requires Premium Tier.

  5. 05

    Assign causes only after comparison

    Compare quantities and costs by category across the two months. Flag unknown classifications and unknown historical tier settings. Do not treat a current tier inventory or changed total as proof that compute, storage, or application behavior caused the change.

Before making changes

This is a scoped review, not a complete bill reconciliation. It assumes comparable records and authorized colleagues can provide them. AWS charges vary by service and source Region, and some in-Region traffic is free. Azure listed prices are estimates and may differ by agreement. A current Google Cloud tier inventory does not establish past settings.

Skip this review when AWS and Azure transfer charges are already categorized for the same scope and periods and Google Cloud has a separate dated tier review. Skip any provider section outside your scope.

Primary sources