aws-ecs-eds
Envoy EDS Service that automatically updates upstreams from AWS
AWS Integrations
AWS Elastic Container Service.
Gets privateIPv4Address of EC2/Fargate Tasks.
Port Resolution
- Environmental Variable: _aws.ecs.clusterName__port (e.g. us-west-2-fargate_port=8080)
- Default: 80
AWS Cloud Map
Reads SRV records from CloudMap
Port Resolution
- Environmental Variable: aws.cloudMap.serviceDiscoveryId_port (e.g. srv-1234_port=8080)
- instance['AWS_INSTANCE_PORT'] from ListInstances CloudMap API
- Default: 80
Envoy Config
TCP Listener Config
- Environmental Variable: EDS_LISTEN (e.g. 127.0.0.1:8080)
- Default: 0.0.0.0:5678
- All responses cached for 30 seconds on successful response
Config Snippet
eds-config.yamlhttps://github.com/boostchicken/aws-ecs-eds/blob/2b29f881b7f3cd592d3b601ef74b64053fff0d79/eds-config.yaml#L10-L57
Custom Builds
Dockerfilehttps://github.com/boostchicken/aws-ecs-eds/blob/2b29f881b7f3cd592d3b601ef74b64053fff0d79/Dockerfile#L1-L13