Within a single AZ. Inter AZ is charged. It's also frustrating that AWS infra doesn't optimize for same AZ (and only fall back to another AZ if an AZ is impaired). For example, a client in us-east-1a can hit the Aurora reader endpoint and be directed to an instance in 1b even though there's a healthy instance in 1a.
This is only because AWS grossly overcharges for bandwidth. If you move all services that have high bandwidth requirements to providers with reasonable prices you'll save a significant amount of money.