0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

service ECS_SERVICE_NAME port 3000 is unhealthy in target-group TARGET_GROUP due to (reason Health checks failed).の対応方法

Posted at

ECS Serviceをデプロイすると、ALBのヘルスチェックに引っかかって無限ループすることがあります。
ヘルスのパスを設定してなかったりするとそうなったりしますが、今回はパスも設定しているし、アプリケーションも起動されていたので初めは原因がわかりませんでした。

異常を検知してもコンテナのログは

 LOG [NestApplication] Nest application successfully started

でした。(正しく起動できている)

ECSのサービスのイベントタブのイベントメッセージを確認すると

service <service名> port 3001 is unhealthy in target-group <ターゲットグループ名> due to (reason Health checks failed).

とありました。

ネット検索するとこちらを発見しました
ヘルスチェックがエラーコードなしで失敗したという項目があります。今回のALBの無限ループはこれが原因でした。

cdkの方では下記のようにコードを作成していたのでそこにhealthCheckGracePeriodを追加して修正しました。

    const fargateService = new ApplicationLoadBalancedFargateService(
      scope,
    'ecs-fargate'
      {
        ...(引数省略),
        ...
        healthCheckGracePeriod: cdk.Duration.seconds(60), // <-- ここ
      },
    );

追加してやることでヘルスチェックのエラーは治まるようになりました

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?