Keep trafic on the same box when using consul catalog

Hi I have 3 nodes that accept web traffic and that also run the application itself.
Each node has traefik running on it and they are each placed in their own availability zone/subnet.
Consul is used to deal with discovery of the services.
Now when traffic goes across availability zones I pay for that traffic back and forth so I'd like to know if there is a way to avoid this by having traefik use the local node application first and if that doesn't pass some kind of health check (i.e. to much traffic) it sends it to the other node.

On which orchestrator you're running?

However, Traefik will go the containers that are discovered. It's not aware of which containers are on "its" node

Couldn't it prioritize the same subnet that it's running in? For example traefik node: 192.168.1.10 /24

Consul Service X:
192.168.1.111
192.168.2.222

In this case it would route it to 192.168.1.111 (that would be in the same availability zone/subnet)?