Compute and storage are the charges you expect. Data transfer is the one that shows up on the bill as a number you cannot immediately explain, because nothing you provisioned is called "data transfer." It is a side effect of how your architecture moves bytes around, and AWS prices it in ways that are easy to trigger by accident. Here are the transfer charges that catch people, roughly what they cost, and how to avoid them.
The mental model: it depends on where the bytes go
AWS data transfer pricing is basically a function of distance. The further data travels and the more boundaries it crosses, the more it costs:
Within the same Availability Zone, using private IPs: free.
Between AZs in the same region: charged, typically around $0.01/GB each direction.






