Elastic Beanstalk 環境で黄色または赤のヘルスステータス警告を解決する方法を教えてください。
最終更新日: 2020 年 1 月 29 日
AWS Elastic Beanstalk 環境のヘルスステータスが黄色 (Warning) または赤色 (Degraded または Severe) です。ヘルスステータスを緑色 (OK) に戻すにはどうすればよいですか ?
簡単な説明
Elastic Beanstalk 環境の黄色または赤のヘルスステータス警告は、以下の一般的な問題から生じている可能性があります。
- ヘルスエージェントが、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスのデータ量不足を報告している。
- コマンドタイムアウト内に、インスタンスでオペレーションが進行中である。
- Elastic Beanstalk 環境が更新中である。
- ロードバランサーのヘルスチェックが失敗している。
- ヘルスエージェントが多数のリクエスト失敗を報告している。
- インスタンスなどの環境リソースが使用できない。
- インスタンスでのオペレーションに時間がかかっている。
- インスタンスが深刻な状態である。
- Elastic Beanstalk ヘルスデーモンが失敗した。
- Elastic Beanstalk 環境が 1 つ以上のヘルスチェックに失敗した。
- Elastic Beanstalk が受け取る 4xx または 5xx の HTTP リターンコードの数が増えている。
- コマンドタイムアウトでデプロイの失敗がある。
警告の詳細については、「状態の色とステータス」をご参照ください。
解決方法
ヘルス警告の原因を特定する
- Elastic Beanstalk コンソールを開きます。
- アプリケーションを選択します。
- ナビゲーションペインで、[Events] をクリックします。
- [Type] 列で [Severity] タイプが [WARN] の最近のイベントを探し、後でトラブルシューティングするため、これらのイベントを書き留めます。
- ナビゲーションペインで [Dashboard] を選択します。
- [Health] セクションで [Causes] を選択します。
これで、Enhanced Health Overview ページで環境全体の状態を表示できるようになりました。
詳細については、「環境管理コンソールでの拡張ヘルスモニタリング」をご参照ください。
ヘルス警告の原因となった問題のトラブルシューティング
Enhanced Health Overview ページで特定したヘルスに関する問題に基づいて、次のいずれかのトラブルシューティング方法を選択します。
- ヘルスチェックの失敗については、「基本ヘルスレポート」をご参照ください。拡張ヘルスレポートを使用している場合は、「拡張ヘルスレポートおよびモニタリング」をご参照ください。
時間がかかりすぎる操作については、Elastic Beanstalk イベントストリームを使用して進行中の操作を特定します。または、Amazon EC2 インスタンスにログインして /var/log/eb-activity.log をモニタリングします。
注意: 環境のデプロイや設定の更新の操作は、通常よりも時間がかかります。 - 4xx および 5xx HTTP リターンコードの数が増加した場合、プロキシサーバーのアクセスログをモニタリングして増加の原因を特定します。次に、アクセスログをアプリケーションログと比較して、増加したエラーのパターンを特定します。詳細については、「Common Errors」をご参照ください。
注意 : プロキシサーバーログは、プラットフォームに応じて Apache アクセスログ (/var/log/httpd/access_log)、NGINX アクセスログ (/var/log/nginx/access_log)、またはインターネットインフォメーションサービスアクセスログ (C:\inetpub\logs\LogFiles) です。 - 深刻な状態のインスタンスの場合は、発行された警告に基づいてソリューションを選択します。詳細については、「インスタンスのトラブルシューティング」をご参照ください。
注意: インスタンスは、デプロイが進行中、Amazon EC2 インスタンスのヘルスデーモンの障害、またはリソース使用率が高いといった理由で、深刻な状態になる可能性があります。ほとんどの場合、環境の警告状態は一時的なもので、ヘルス警告の原因となった問題に対処すると、ステータスが緑色 (OK) に変わります。詳細については、「状態の色とステータス」をご参照ください。 - 失敗した Elastic Beanstalk ヘルスデーモンの場合、Amazon EC2 インスタンスにログインし、/var/log/messages をモニタリングして失敗の原因を特定します。