We connect to external dependencies like Redis, or MongoDB, using hostnames that are defined as environment variables. We store values like that in CircleCI, and then pass them through as part of the container/task definition.
We run a few other external things as containers on the cluster host, just not managed with ECS, since ECS (unless they’ve had a very busy weekend) lacks the concept of “one per host”- i.e., run a single copy of this container on every host. Instead, we manage things like our New Relic agent, and our logging container as part of the EC2 user-data: each new host starts them at boot, and they can do their thing from there.
Does that answer your question?