Upgrade to Pro — share decks privately, control downloads, hide ads and more …

調査して分かった Fargateが適さない場合

Avatar for 7subasa 7subasa
April 24, 2026
170

調査して分かった Fargateが適さない場合

ECS Fargateの制限について解説した資料です。

Avatar for 7subasa

7subasa

April 24, 2026

Transcript

  1. Prof ile 自己紹介 名 前 片桐 翼 02 クラスメソッド株式会社 AI事業本部

    / 生成AIインテグレーション部 / 西日本開発チーム 所 属 マウンテンバイク / バスケットボール / 農業 趣 味
  2. Theme 今回のテーマ きっかけになった投稿 公開後反響をいただき、X でも複数のコメントをいただきました。 その後いくつか調査を行ったので、今回は 1 つご紹介させてください。 New 01

    Graceful Shutdown stopTimeout 120秒の壁 記事から深掘り 02 コスト 「Fargateは高い」は本当か New 03 DaemonSet / APM サイドカーとホスト管理 02 Fargate 一択だと思っていた私が ECS on EC2 の重要性に気づいた話
  3. ① GR AC EFU L S HU TD OWN コミュニティの声

    「120秒では足りない !!」 GitHub Issue #1020 · aws/containers-roadmap 出典: Github — github.com/aws/containers-roadmap/issues/1020 04 Github上のコメント X のコメント
  4. ① GR AC EFU L S HU TD OWN stopTimeout

    SIGTERM → SIGKILL までの時間 Fargate ECS on EC2 デフォルト 値 30 秒 30 秒 最大値 120 秒 (上限固定) 24 時間(マネージドインスタンス) 上限なし(EC2) 設定方法 stopTimeout stopTimeout EC2で stopTimeout が未定義の場合は ECS_CONTAINER_STOP_TIMEOUT の値が 使用される SIGTERM 受信 終了処理中… SIGKILL 強制終了 ▲ Fargate はここが最大 120 秒 出典: AWS公式ドキュメント — docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html 04
  5. ① GR AC EFU L S HU TD OWN 困るケース、取れる対策

    困るケース コンテナ停止時にリクエストエラーが散発する → 原因は stopTimeout ループ5分超のバッチや決済トランザクションが中断 → 120秒超でSIGKILLにより、データ不整合が発生。 ジョブを120秒以内に分割 チェックポイント設計・SIGTERM受信時に進捗保存 ECS on EC2 / マネージドインスタンス へ移行 stopTimeout を 120秒以上設定可能 05 対策
  6. Summary まとめ 02 STEP 1 終了処理 < 120 秒 →

    Fargate 30秒以上かかる場合はstopTimeoutの設定を忘れずに STEP 2 終了処理が 120 秒に近い → Fargate で ジョブの分割 ジョブを分割して、終了処理を短く抑える STEP 3 終了処理を 120秒 に収められない → ECS on EC2 ECS on EC2 へ変更し stopTimeout を余裕のある時間に設定 終了処理の時間に応じて使い分けが必要です。
  7. R EFER EN CES 参考リンク Amazon ECS 公式ドキュメント docs.aws.amazon.com/AmazonECS/latest/developerguide/ docs.aws.amazon.com/AmazonECS/latest/developerguide/

    Amazon ECS Fargate タスク定義パラメータ(stopTimeout) docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters.html docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters.html Amazon ECS マネージドインスタンス タスク定義パラメータ(stopTimeout) docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters-managed-instances.html docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters-managed-instances.html Amazon ECS EC2 タスク定義パラメータ(stopTimeout) docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters_ec2.html docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/task_definition_parameters_ec2.html 前回記事:Fargate一択だと思っていた私がECS on EC2の重要性に気づいた話 dev.classmethod.jp/articles/understanding-ecs/ dev.classmethod.jp/articles/understanding-ecs/ 14