AWS bill line item
TransitGateway-Bytes
You are being charged an hourly fee for each attachment (VPC, VPN, Direct Connect, peering) connected to your Transit Gateway, plus a per-gigabyte fee for data processed through it.
Transit Gateway attachment and data processing
Verified against official AWS documentation last checked
Why it shows up
Transit Gateway is the common hub-and-spoke pattern for connecting many VPCs, accounts, and on-prem networks, so its cost scales with both how many VPCs you've attached (hourly, per attachment) and how much traffic flows through the hub (per GB).
Costs balloon in large multi-account organizations as more accounts/VPCs are onboarded to a shared Transit Gateway, or when high-volume, chatty services route large data volumes through the hub instead of communicating more directly.
How to cut it
- Use cost allocation tags on Transit Gateway attachments to see which team, account, or workload is driving hourly and data-processing charges.
- For very high-volume point-to-point paths between two VPCs, consider direct VPC peering (no per-GB processing fee) instead of routing that traffic through Transit Gateway.
- Remove attachments for decommissioned VPCs/accounts. The hourly charge continues until the attachment is explicitly deleted.
- Right-size the topology: not every VPC needs a Transit Gateway attachment if it only talks to one or two other VPCs.
How to read a usage type
TransitGateway-Bytes carries no region or direction token, so there's nothing to break down here.
Source
Source: AWS docs →Found TransitGateway-Bytes on your own bill?
Drop your Cost Explorer CSV into the AWS Bill Analyzer. It'll flag line items like this one on your own bill and link straight back to the fix.
Analyze your own bill →The meter you don't watch still grows.
Waste rarely hides in the service you check every week. CostMon watches every meter on your stack, including the ones you forgot were running.