-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request: Task networking that gives task specific IP address without a dedicated ENI #65
Comments
This seems to be worse than necessary to the point where I wonder if it's correct? By comparison, the amazon-vpc-cni-k8s plugin manages to use multiple addresses per network interface, so you can at least get 19 kubernetes pods on an m4.large Here, if I read it correctly, you could only have 1 ecs task using awsvpc network mode on an m4.large which seems wrong; I would expect the same 1 task per IP address per interface. |
dls314
I also found it hard to believe at first, but it comes straight from the documentation and I'm pretty sure it's true. The reasoning behind it (as I understand it) is that Security Groups are assigned to network interfaces, not to IP addresses, and allowing Security Groups to be assigned to individual tasks was one of the design goals of the awsvpc networking feature. |
Ah, I'd missed the reasoning you mentioned. I guess I'm still waiting for EKS :-) Service Discovery was a compelling reason for awsvpc network mode and brought me here to check my understanding, but the density hit for the ENI limits is a 🤷♂️ |
any update on this issue???? |
The VPC abstraction for a network interface is ENI. ECS uses native VPC abstractions to give tasks full functionality on par with EC2 instances. We think the proper solution to this problem is to increase ENI densities. We are tracking this effort in our public roadmap: We'd love to hear your feedback in our roadmap repo! I'm going to close this issue as it is functionally a duplicate of the roadmap item. |
I was really excited about task networking until I realized the documented limitation:
Unfortunately this means that because of the ENI per instance limitations that task networking is only useful for running largish tasks that claim a significant portion of the EC2 instance's resources. For instance, I could easily host 15 instances of my application (each representing a single tenant) on a t2.xlarge, but can't use task networking because a t2.xlarge only supports 3 ENI's.
I'm guessing the primary reason for this limitation is because security groups are assigned to ENI's rather than to IP addresses. If this is the case, how about an option that would allow multiple tasks using the same security group to share an ENI but still get a unique IP address?
The text was updated successfully, but these errors were encountered: