aws / aws/containers-roadmap

[Fargate] [request]: ENI sharing between tasks with identical networking

Open
#2,269 0 comments 0 reactions 0 assignees View on GitHub
Fargate Proposed
Dominant language
Shell
Stars
5.4k
Forks
334
PR merge metrics
No merged PRs in 30d

Description

### Community Note

* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment

**Tell us about your request**
Users should be able to specify via a flag or enable a default behavior where Fargate tasks with the same networking configuration can share an ENI in order to conserve network address space for "outbound only" tasks that do not require an exposed port (similar to the way Lambda does).

**Which service(s) is this request for?**
Fargate, and maybe ECS if the change is made at the task definition level.

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
Many AWS accounts have severely limited IP address space due to the fact they are networked to a company's internal network. Running Fargate tasks in such networked VPCs rapidly depletes IP address space and makes large-scale deployments non-feasible. Many usecases for running Fargate involve tasks with only outbound networking requirements. In such situations, creating several ENIs for tasks with identical networking requirements can be very inefficient, even if it does secure bandwith for each task individually. Users should have the option to share ENIs for tasks with identical networking configurations in order to allow workloads to scale more easily.

An example of the impact of this issue is the AWS Batch service, which has a Fargate compute type option, but cannot be used for large-scale deployments with that option due to the IP depletion issue.

**Are you currently working around this issue?**
There is no way to work around this issue at the moment. You either need another VPC that is not networked, and therefore has significantly more network address space available, or you choose not to use Fargate in favor of Ec2-backed ECS, which can functionally accomplish the same thing by utilizing larger instance types.

**Additional context**
This issue is particularly felt by large enterprises where control over creation of additional networking resources (VPCs) and networking patterns is restricted.

Contributor guide

Open the contributing guide

Research direction

No repository files, tests, or implementation entry points are named. Start by reviewing the Fargate and possible ECS task-definition scope described in the request, then determine the networking requirements and acceptance criteria for sharing ENIs between tasks with identical configurations.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.