ECSのコンテナヘルスチェックが数分おきに落ちてしまうときにみたいログ
現象
ECS > クラスター > サービス > イベントを確認した時に、
service *** task **** failed container health checks.
が数分おきに起きている。
調査
1. コンテナインスタンスにログインします
2. /var/log/dockerをみる
tail /var/log/docker
3. そこに原因が書いてある、はず
time="2019-01-29T04:40:19.702116466Z" level=warning msg="Health check for container *** error: OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused \"exec: \\\"CMD-SHELL curl -f http://localhost/check || exit 1\\\": stat CMD-SHELL curl -f http://localhost/check || exit 1: no such file or directory\": unknown"
今回は、ヘルスチェックコマンドが間違っていたことが原因。
対処
タスクに定義されているコンテナのhealth check設定を、
CMD-SHELL,curl -f http://localhost/check || exit 1
とする。
CMD-SHELL curl -f http://localhost/check || exit 1
ではない。
(確認UIではカンマが消えてしまう謎仕様なので注意...)