I'm using AWS ECS to deploy multiple web services (via Docker images) that are behind an Envoy front proxy. Some of these docker images have multiple deployed instances.
I'm currently using the service discovery features of ECS to generate DNS records so my services are discoverable. All of this works as expected.
I was initially using the awsvpc
network mode and was using A records for service discovery. However I soon hit the network limit (started getting 'Not enough ENI' errors) so I've switched to Bridged
networking and I'm trying out service discovery using SRV records.
The problem that I've run into is that Envoy proxy doesn't seem to support SRV for service discovery. Or if it does, what changes do I need to make to my setup? I've included the relevant portion of my cluster configuration
clusters:
- name: ms_auth
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_auth.apis
port_value: 80
- name: ms_logging
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_logging.apis
port_value: 80
Failing that, what other options should I consider in getting this setup to work?