What is the purpose of the ECS "Family" parameter?

0

I'm new to containers and ECS and I'm trying to understand the purpose of the "Family" parameter? I really can't see a reason for it and know that I must be missing something somewhere.

Does it come from legacy Docker configs? Is there some function of ECS that works with Family name and would make the experience better in some way (ie. deployments, management, logging, etc.)?

profile picture
RNHurt
asked 2 months ago320 views
2 Answers
1
Accepted Answer

Hello.

The following is written in "Info" when creating a task definition.
Therefore, I don't think there are any parameters related to Dockerfile etc.

A task definition family is used to group multiple versions, also referred to as revisions, of the same task definition. The first task definition that is registered into a particular family is given a revision of 1, and any task definitions registered after that are given a sequential revision number.

a

Is there some function of ECS that works with Family name and would make the experience better in some way (ie. deployments, management, logging, etc.)?

Enabling Container Insights will give you an overview of the services running in your cluster and the tasks associated with them.
https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/deploy-container-insights-ECS-cluster.html

Automatic deployment is possible by setting up CI/CD using CodePipeline etc.

profile picture
EXPERT
answered 2 months ago
profile picture
EXPERT
reviewed a month ago
  • Ok, that is the technical explanation of a "Family" name, but what is it used for practically? If I set it to something random does it break ECS functionality somehow? What does everyone else use it for? Does everyone just ignore it? It seems like a useless setting to me and I'm wondering why it is included in ECS at all.

  • I think the revision number is more important than the name of the family of task definitions. This revision number stores the settings of the task definition created at that time. The advantage is that you can execute a task with any revision number. For example, if you make an incorrect setting and the task suddenly stops working, you can change the task stoppage time by moving the previous revision number. You can suppress it.

  • @Riku_Kobayashi, ah I think I'm beginning to see. The "Family" name is really just the task definition name. It's not a way to associate different tasks definitions to one another but merely a way to version task definitions. It could have just as easily have been called "Name" instead of "Family" and the result would be the same. Correct?

    I think my confusion stems from the fact that "Family" has a grouping connotation to it, at least in my mind. In a sense I guess versioning task defs is a kind of grouping but the "Family" label seems to be unique to ECS.

  • The "Family" name is really just the task definition name. It's not a way to associate different tasks definitions to one another but merely a way to version task definitions. It could have just as easily have been called "Name" instead of "Family" and the result would be the same. Correct?

    Yes, I think so.

0

Would this explain the use case for family?

Match each application version with a task definition revision within a task definition family.

Within a task definition family, consider each task definition revision as a point in time snapshot of the settings for a particular container image. This is similar to how the container is a snapshot of all the things that are needed to run a particular version of your application code.

profile picture
EXPERT
Kallu
answered 2 months 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.

Guidelines for Answering Questions