Amazon ECS サービスのスロットルロジック - Amazon Elastic Container Service

Amazon ECS サービスのスロットルロジック

Amazon ECS サービススケジューラには、タスクが繰り返し起動に失敗した場合にタスク起動をスロットリングする保護ロジックが含まれています。これにより、不要なリソースの消費が防止され、コストを削減できるようになります。

サービス内のタスクが PENDING 状態から RUNNING 状態への移行に失敗し、代わりに STOPPED へと直接移行すると、スケジューラは次のようになります。

  • 再起動の試行間隔を段階的に増やす

  • 試行間隔の遅延を最大 27 分まで増加し続ける

  • 問題を通知するサービスイベントメッセージを生成する

注記

最大遅延時間の 27 分は、今後の更新で変更される場合があります。

スロットリングがアクティブ化されると、次のサービスイベントメッセージが表示されます。

(service service-name) is unable to consistently start tasks successfully.

スロットリングロジックの重要な特性

  • サービスによって再試行が無期限に継続される

  • 唯一の変更は、再起動間の時間が増加されること

  • ユーザーが設定可能なパラメータがない

スロットリング問題の解決

スロットリングを解決するには、次の操作を行います。

  • 新しいタスク定義を使用するようにサービスを更新すると、サービスは即時に通常のスロットリングされていないオペレーションに戻ります。詳細については、「Amazon ECS サービスを更新する」を参照してください。

  • タスク失敗の根本的な原因に対処します。

スロットリングをトリガーするタスク障害によくある原因は、次のとおりです。

重要

次のシナリオでは、スロットルロジックはトリガーされません。

  • RUNNING 状態に達した後に停止するタスク

  • Elastic Load Balancing のヘルスチェックの失敗により、タスクが停止しました

  • RUNNING 状態に達した後に、コンテナコマンドがゼロ以外のコードで終了するタスク