AWS bill line item
VpcEndpoint-Bytes
An hourly fee per endpoint per Availability Zone, plus a per-gigabyte fee for data processed through an interface VPC endpoint (AWS PrivateLink).
VPC interface endpoint (PrivateLink)
Verified against official AWS documentation last checked
Why it shows up
This appears when you add interface endpoints on purpose, to keep AWS-service traffic off the NAT gateway or the internet. It also appears when a third-party product exposes itself through PrivateLink.
It surprises people in two ways. First, the endpoint has an always-on hourly cost per AZ, even at zero traffic. Second, teams sometimes deploy endpoints redundantly, one per AZ per service per account. The hourly costs then multiply.
How to cut it
- Prefer gateway endpoints (S3, DynamoDB), which have no hourly or per-GB charge, over interface endpoints when the target service supports both.
- Consolidate interface endpoints centrally in a shared-services VPC instead of duplicating the same endpoint in every account/VPC.
- Remove endpoints for services no longer in active use. The hourly charge accrues regardless of traffic.
- Compare the endpoint's hourly and per-GB cost with the NAT gateway cost it replaces. At low traffic volumes, a NAT gateway can be cheaper than several redundant endpoints.
How to read a usage type
VpcEndpoint-Bytes carries no region or direction token, so there's nothing to break down here.
Source
Source: AWS docs →Found VpcEndpoint-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.