aws / containers-roadmap

This is the public roadmap for AWS container services (ECS, ECR, Fargate, and EKS).
https://aws.amazon.com/about-aws/whats-new/containers/
Other
5.2k stars 316 forks source link

[ECS Service Connect] [change app protocol]: allow changing of app protocol after creation #2378

Open nwsparks opened 2 months ago

nwsparks commented 2 months ago

Community Note

Tell us about your request

When setting up Service Connect you can optionally set a field for appProtocol in the task definition, https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html

It seems that this field is not editable after creation of the service, if you attempt to change it you get an error such as:

There was an error updating Service.
The following config cannot be changed for a SC service. Previous config: ScServiceStableConfig(applicationProtocol=null, transportProtocol=tcp, ecsServiceArn=arn:aws:ecs:us-east-1:1231313131313:service/sc-fargate/nginx1), current config: ScServiceStableConfig(applicationProtocol=http2, transportProtocol=tcp, ecsServiceArn=arn:aws:ecs:us-east-1:1231313131313:service/sc-fargate/nginx1)

This field should be modifiable without having to recreate the service.

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?

If this field needs to be modified, downtime is required to do so as the service needs to be recreated. There are many reasons it may need modification. The most common is probably that it defaults to "tcp", but when set to "tcp" you can not adjust the timeout settings for the port.

Are you currently working around this issue?

Recreate the service

lazardjokovic commented 1 month ago

Any updates on this? I am creating services with Terraform and each time i run terraform plan it's says it will update protocol to HTTP but it never actually does. It's just creates the same Task Definition and updates the service.

kshivaz commented 1 month ago

Currently, we do not support this use case. However, if this is important to you, please add a 👍 to this issue to help us prioritize it accordingly.

Thank You!