Skip to content
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

[ECS] [request]: Add UDP_TCP protocol for container portMapping in the task definition #850

Open
abhishek181 opened this issue Apr 23, 2020 · 11 comments
Assignees
Labels
ECS Amazon Elastic Container Service Proposed Community submitted issue

Comments

@abhishek181
Copy link

Community Note

  • Please vote on this issue by adding a 👍 reaction 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
The port mapping option for the containers currently supports TCP or UDP protocol. It should also have an option for protocol UDP_TCP. This would allow the same dynamic port to be assigned to the same container port over TCP and UDP.

Which service(s) is this request for?
ECS

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?
Currently, there is no option to map the same container port with different protocols. So, while trying to create a service behind an UDP Network Load Balancer the health checks fail as the health checks are done on TCP. If the UDP_TCP protocol is enabled then the same container port will be mapped to a single dynamic host port and would be helpful for application that serve traffic over both TCP and UDP.

Are you currently working around this issue?
Currently to solve this issue, a DAEMON service is also has to be deployed and the health check port of the NLB has to be changed to point to the daemon service port. The health check port has to be reverted back to "traffic-port" while updating the REPLICA service(behind the NLB) and then again the health check port is pointed to the daemon service port

@abhishek181 abhishek181 added the Proposed Community submitted issue label Apr 23, 2020
@viesti
Copy link

viesti commented Jun 13, 2020

This would be really great. Alternatively, if there would be a "health-port", in addition "traffic-port", which could be mapped to a container port, to allow running a health checker on a separate, dynamically allocated port. This might require support from the team working on the load balancer though.

@pavneeta pavneeta self-assigned this Jul 17, 2020
@pavneeta pavneeta added the ECS Amazon Elastic Container Service label Jul 17, 2020
@frankyi-gh
Copy link

Ran into this issue while trying to deploy a cluster of prometheus-alertmanagers in Fargate. Alertmanager uses a gossip protocol that requires UDP and TCP on the same port.

Unfortunately, for Fargate, this is a blocker with no workaround. Using something like iptables to reroute one protocol is not possible because you need the NET_ADMIN Docker capability, which is not available in Fargate.

@justinhauer
Copy link

Looks like over 100 customers are asking for this, and it's been open for nearly 3 years, how can this issue get priority on the roadmap?

@Emru1
Copy link

Emru1 commented Oct 17, 2023

Still waiting

@dcrawkstar
Copy link

even more waiting....

@justinhauer
Copy link

The wait is real.

@HeroesDieYoung
Copy link

Needs some noise to wake it up. I haven't worked on the project I needed this for for almost two years, but I'd still like to see the feature get delivered

@mrudel
Copy link

mrudel commented Aug 15, 2024

We are running into this with a Consul deployment as well, it would prefer to use UDP and TCP for gossip on the same port. Just a little extra noise.

@alexs20
Copy link

alexs20 commented Aug 20, 2024

We are also waiting... already more than 4 years!

@danhiris
Copy link

To make matters worse, when trying to set up a nlb using IP target group, I am forced to set up a health check, and UDP isn't valid for health checks. So I need to have both UDP and TCP port open for the health check to work on TCP, but since I can't set the ECS listener on both UDP and TCP, I'm in a catch 22 where I can't run a UDP service in ECS.

@anitakrueger
Copy link

Coming up on 5 years and we have to create EC2 instances and CodeDeploy apps because of this limitation. All our other services are Fargate. Has anyone brought this up with AWS Support or their TAM?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ECS Amazon Elastic Container Service Proposed Community submitted issue
Projects
Status: Researching
Development

No branches or pull requests