Skip to content

Upcoming routine retirement of your AWS Elastic Container Service tasks running on AWS Fargate beginning Thu, 26 Sep 2024 22:00 GMT

0

Good day,

My company received an email message for the upcoming routine retirement of our AWS Elastic Container Service as stated below.

You are receiving this notification because AWS Fargate has deployed a new platform version revision [1] and will retire any tasks running on previous platform version revision(s) starting at Thu, 26 Sep 2024 22:00 GMT as part of routine task maintenance [2]. Please check the "Affected Resources" tab of your AWS Health Dashboard for a list of affected tasks. There is no action required on your part unless you want to replace these tasks before Fargate does. When using the default value of 100% for minimum healthy percent configuration of an ECS service [3], a replacement task will be launched on the most recent platform version revision before the affected task is retired. Any tasks launched after Thu, 19 Sep 2024 22:00 GMT were launched on the new platform version revision.

AWS Fargate is a serverless, pay-as-you-go compute engine that lets you focus on building applications without managing servers. As described in the Fargate documentation [2] and [4], Fargate regularly deploys platform version revisions to make new features available and for routine maintenance. The Fargate update includes the most current Linux kernel and runtime components. Fargate will gradually replace the tasks in your service using your configured deployment settings, ensuring all tasks run on the new Fargate platform version revision.

We do not expect this update to impact your ECS services. However, if you want to control when your tasks are replaced, you can initiate an ECS service update before Thu, 26 Sep 2024 22:00 GMT by following the instructions below.

If you are using the rolling deployment type for your service, you can run the update-service command from the AWS command-line interface specifying force-new-deployment:

$ aws ecs update-service --service service_name
--cluster cluster_name --force-new-deployment

If you are using the Blue/Green deployment type, please refer to the documentation for create-deployment [5] and create a new deployment using the same task definition version.

Please contact AWS Support [6] if you have any questions or concerns.

It says here that "There is no action required on your part unless you want to replace these tasks before Fargate does."

My question here is if it's okay if I do nothing and Fargate will do the thing to replace our affected tasks? Is all task under a service will be all going down or its per 1 task a time? If I rely with Fargate how long is the possible downtime?

Or is it required that we do it manually. There's also instruction provided from the email notification if we do force update manually.

My currently setup with our per service had 2 minimum desired tasks. And for the service autoscaling I set the maximum number of tasks up to 10.

It's on live production.

Deployment Configuration Service AutoScaling

Please enlighten me here. Thank you community

asked 2 years ago1.7K views

2 Answers
1

Hi,

Have a detailled read of https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-maintenance.html

In particular:

For service tasks, you do not need to take any action to task retirement unless you 
want to replace these tasks before AWS does. When the Amazon ECS scheduler stops 
the tasks, it uses the minimum healthy percent and launches a new task in an attempt 
to maintain the desired count for the service. 

To minimalize the impact of AWS Fargate task retirement, you should follow Amazon 
ECS best practices when you deploy workloads.. For example, when deploying a stateless 
application as an service, such as a web or API server, you should deploy multiple task 
replicas and set the minimumHealthyPercent to 100%. By default, the minimum healthy 
percent of a service is 100 percent. 

Therefore, when AWS Fargate starts retiring tasks, Amazon ECS first schedules a new task, 
and then waits for it to be running, before retiring an old task. As part of task retirement, 
service tasks are routinely replaced in the same way when you scale the service, deploy 
configuration changes, or deploy task definition revisions. To prepare for the task retirement 
process, we recommend that you test your application behavior by simulating this scenario. 
You can do this by stopping an individual task in your service to test for resiliency.

So, all-in-all, if you have multiple replicas of your tasks, Fargate will incrementally replace them to ensure no impact on service health (i..e constantly 100%). It means that the replacement may extend over some time if you have lots of replica tasks but with no visible impact (downtime) for your users.

As the message says, you don't have to take any action: the incremental replacement will start automatically at given date and time.

Best,

Didier

EXPERT

answered 2 years ago

EXPERT

reviewed 2 years ago

EXPERT

reviewed 2 years ago

0

Hi Didier,

Thank you for answering my inquiry. I'm new to fargate and my first time encountering a maintenance. I just fear a possible downtime. I'll keep this as my reference.

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.