ELB に登録されている適切に機能している Amazon ECS タスクが正常でないとマークされ、置き換えられる理由

最終更新日: 2019 年 6 月 20 日

Elastic Load Balancing が、適切に機能している Amazon Elastic Container Service (Amazon ECS) タスクに対して、正常でないと繰り返しフラグを立てます。誤ってフラグが立てられたこれらのタスクが停止されたあと、新しいタスクが開始されて置き換えられてしまいます。この問題を解決するには、どうすれば良いですか?

解決方法

一部の Amazon ECS タスクは、意図したとおりに機能しているときでも、いくつかの依存関係をもち、ELB のヘルスチェックの猶予期間を超える時間のかかるブートストラッププロセスを超過する可能性があります。Amazon ECS タスクが猶予期間内に ELB ヘルスチェックに応答しない場合、猶予期間内に正常でないとのフラグが立てられます。サービスに対するヘルスチェックの猶予期間を延ばすには、次のように行います。

  1. AWS マネジメントコンソールを開きます。
  2. ナビゲーションバーで [Services] を選択し、リスト から ECS を選択します。
  3. [Service Name] リストからサービスを選択します。
  4. [Update] を選択します。
  5. [次のステップ] を選択します。
  6. [ステップ 2: ネットワークの設定] ページで、ヘルスチェックの猶予期間を、サービスに適した期間に変更します (最大値は 2,147,483,647 秒)。
    警告: 実際に異常になっている Amazon ECS タスクに対する置換が遅れないようにするため、既知のタスクの中で最長のものに必要な猶予期間を、慎重に予測してください。猶予期間を設定するときに、ブートストラップやコンテナイメージをプルする時間など、すべての関連sjる要素を検討します。
  7. [Next step] を選択し、サービスの更新を選択します。

猶予期間を延ばすこともできます。

  • AWS CloudFormationAWS::ECS::Service リソースで定義されたHealthCheckGracePeriodSeconds パラメータを使用します。 
  • AWS コマンドラインインターフェイス (AWS CLI)で UpdateService コマンドを実行し、 -health-check-grace-period-seconds 値を増やすことで行います。

この記事はお役に立ちましたか?

改善できることはありますか?


さらにサポートが必要な場合