I have 3 front end boxes that are each in their own availability zone. They all 3 run a reverse proxy server (in this case traefik).
How can I keep the traffic within the AZ to avoid the inter AZ transfer costs.
I'm using consul and nomad to handle all the jobs and discovery work.
You will either need to use an AWS AZ aware load balancer, or use an AWS Load Balancer. I suggest the AWS ALB load balancer. The ALB doesn't charge for cross AZ traffic, just for bandwidth. In practice it will have servers in each AZ, but that's invisible to you.
Pricing is here. It's not bad, given what it does for you.