目次
はじめに
こんにちは!クラウド事業部の野村です。
学習目的でECSタスクをデプロイしていたのですが、原因不明のタスク停止に悩まされていました。
そんな中で、トラブルシューティングに役立つ調査方法がわかったので、共有でブログ投稿いたします!
タスク停止で困っていた状況
CDKでECSを含む環境をデプロイすると、しばらくは環境のテスト利用が可能となります。
しかし、一定時間経過すると環境への接続がエラーとなってしまい、原因を調べると、ECSタスクが前段のロードバランサ―からのヘルスチェックに失敗し、繰り返し再作成されていました。
停止されてしまったタスク内で、何が起こってヘルスチェックに失敗したのかを調べる必要がありました。
調べ方
以下の記事が参考になりました。
停止済みのタスクは1時間だけコンソールに表示されるため、それを見ることで停止の原因となったエラーを確認することが出来るとのことです。
実際に、コンソールで原因のエラーを確認してみました。
クラスターの「タスク」タブで、「希望するステータスをフィルタリング」プルダウンにて「停止済み」を選択すると、停止されたタスクを確認できます。
停止されたタスク名をクリックし、詳細画面を開くと、赤枠のエラーメッセージが確認できます。
今回は、タスクとAWS Secrets Manager間の接続に問題があり、Secretsを取得できなかったことが原因と分かりました。
感想
クラウドサービスならではで、問題のあるタスクはすぐに置き換えられるのが便利ですが、それゆえにエラー原因を調査する方法もわからず、苦労しました。
このように一定期間停止済みタスクのステータスが残されていることが分かり、原因特定を進めることが出来て良かったです。