ECS でタスク内の一部コンテナが停止した場合、他のコンテナも停止されるか教えてください

ECS でタスク内の一部コンテナが停止した場合、他のコンテナも停止されるか教えてください

Clock Icon2024.12.12

困っていた内容

複数コンテナを定義した ECS タスクを実行する予定です。
タスク内の一部コンテナが停止した場合、他のコンテナはどうなりますか。
(他のコンテナも停止される。他のコンテナは動き続ける。など)

どうなるの?

ECS タスク定義の設定内容を確認してください。

  • essentialtrueに設定したコンテナが停止した場合、タスク内の他のコンテナも停止されます。
  • essentialfalseに設定したコンテナが停止した場合は、他のコンテナには影響しません。

なお、2024年12月時点で、AWS マネジメントコンソール(日本語)ではessential基本必須コンテナと表記されます。

次の画像の場合、

  • hato-containerAessential:true
  • hato-containerBessential:false

です。

ECS Behavior when stopping multiple containers 1

また、オプションのコンテナ再起動ポリシーを設定している場合は、コンテナが自動的に再起動される場合があります。

※コンテナ再起動ポリシーに一致しており、かつ考慮事項を満たしている必要があります。

コンテナ再起動ポリシーは、コンテナ名をクリックして、

ECS Behavior when stopping multiple containers 2

「再起動ポリシー」セクションから確認できます。

ECS Behavior when stopping multiple containers 3

参考資料

essential
型: ブール値
必須:いいえ

コンテナの essential パラメーターが true としてマークされており、そのコンテナが何らかの理由で失敗するか停止するとします。その後、タスクの一部である他のすべてのコンテナが停止されます。コンテナの essential パラメータを false にマークしておくと、そのコンテナ失敗はタスク内にある残りのコンテナに影響を与えません。このパラメータを省略した場合、コンテナは必須と見なされます。

すべてのタスクには、不可欠なコンテナが少なくとも 1 つ必要です。コンテナの不可欠なパラメーターが true としてマークされ、そのコンテナが何らかの理由で失敗または停止した場合、そのタスクの一部である他のすべてのコンテナは停止します。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.