AWS Beanstalk で None of the instances are sending data.やInstance has not sent any data since launch.が出たとき

Beanstalk環境がデプロイできなくなった。。。

このBeanstalk環境はこれまでずっと使用していたものなのに、突然デプロイできなくなってしまったわけだ。ステータスがUnkonw(不明)のまま。

かなり苦戦した。
ログをパッと見てもわからなかった。

状態として、アプリは起動してCloudwatchLogsにも適切に出力されており、ロードバランサーのヘルスチェックも成功していたのに、Beanstalkからだけこれらのデータが取れていないようだった。
環境起動後、いくら待ってもUnknownステータスのまま。

広告

先に解決策

BeanstalkのInstanceProfileにelasticbeanstalk:PutInstanceStatisticsを追加する。

原因は、Beanstalkのプロファイルに対するRole不足だった。

なので、環境とアプリケーションにPutInstanceStatistics Policyを追加してあげれば動くようになる。

原因調査と見逃してたログ

eb-activity.log 等のログを見ていたけど何も問題なし。

healthd のログを見逃していたのが中々解決までたどり着けなかった原因(これは俺のせい。)

Beanstalkのダッシュボード画面からフルログを取得する。

BundleLogs-sxxxxx.zip\var\log\healthd
の中にヘルスチェックに関するログがでる。
見るべきはこのファイルだった。
下記の通りしっかりfailedエラーワーニングが出力されていた。

くそーーー。

こんなログみねぇよーーー。

勉強になった。

じゃあね〜〜〜。