I'm trying to figure out how to find the internet subnet IP addresses for all instances running an application on EC2 containers. Back when I was working on-prem, I would typically use mDNS for this task, but I've heard mixed opinions on whether it would work in this cloud environment.
I've set up a DNS record for other services to connect with these instances, but I need a reliable way to access all of them from a single service. Any suggestions or best practices? Thanks!
4 Answers
Are you specifically referring to ECS tasks? If that's the case, the load balancer target group manages those IPs for you automatically. Before diving into this, could you share what problem you're trying to solve by getting these IP addresses? Consider looking into service discovery as well; it might simplify your process!
Could you clarify what you mean by 'subnet IP address' and 'EC2 containers'? If you're talking about ECS services, then service discovery typically involves using the service map for inter-service communication or ALB target groups for external access. However, if you’re running Docker directly on EC2 instances, you likely have something like NGINX set up, correct? Just remember, you can't control the IPs allocated for EC2 instances on AWS. Tagging your instances and using a discovery Lambda could help; it can map IPs in a DynamoDB based on EC2 lifecycle events, but be cautious—building your own orchestration solution isn't recommended when ECS is available.
If you're working with ECS tasks, have you checked out service discovery options? It might provide the solution you're looking for.
You can utilize the AWS CLI or SDKs like Boto3. Start by listing your ECS clusters and then describe the tasks for each cluster. This will give you JSON output that includes attached ENIs with their private DNS names and IP addresses. You can find the relevant AWS CLI commands [here](https://docs.aws.amazon.com/cli/latest/reference/ecs/list-clusters.html) and [here](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-tasks.html).
Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures