LoginSignup
0
0

More than 1 year has passed since last update.

AWS ECS へのデプロイでコンテナのヘルスチェック ( curl ) が失敗し続ける

Last updated at Posted at 2023-04-05

問題

Terraformでいうとこんなタスク定義
単純に curl しているだけなのだが何故か失敗し続ける

  "healthCheck": {
    "command": [
      "CMD-SHELL",
      "curl -f http://127.0.0.1:80/ || exit 1"
    ],
  }

解決

docker container に curl がインストールされていないのが原因だった
Dockerfile で インストールするようにしたら成功するようになった

コンテナのヘルスチェックはコンテナ本体から実行されるようだ

あとから分かってみれば自明の理なのだがしばらく気づかなかった

まずはlocalでdocker containerに接続して、ヘルスチェックそのままのコマンドを実行して試すと良いようだ

curl -f http://127.0.0.1:80/ || exit 1

参考

解決方法
Amazon ECS のコンテナヘルスチェックの失敗をトラブルシューティングするには、以下のヒントを試してください。

Amazon ECS にプロビジョニングする前に、コンテナをローカルでテストして、コンテナヘルスチェックに合格することを確認します。
コンテナに渡すコマンドが正しく、Amazon ECS タスクに正しい構文を使用していることを確認します。

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

Twitter

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