スキップしてコンテンツを表示

Elastic Beanstalk 環境での Amazon EC2 Auto Scaling の問題をトラブルシューティングする方法を教えてください。

所要時間1分
0

AWS Elastic Beanstalk 環境にある Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling の問題を診断して解決したいと考えています。

解決策

Elastic Beanstalk での Auto Scaling の問題は、インスタンスの起動失敗、ヘルスチェックの問題、またはスケーリングポリシーの設定ミスが原因で発生する可能性があります。

Amazon EC2 Auto Scaling グループがインスタンスの置換を繰り返す

Amazon EC2 Auto Scaling グループが Amazon EC2 インスタンスを予期せず停止した理由を特定します。Amazon EC2 Auto Scaling グループが異常なインスタンスを停止した場合は、インスタンスのヘルスチェックステータスを確認します。ヘルスチェックの失敗を解決するには、「Troubleshoot unhealthy instances in Amazon EC2 Auto Scaling」(Amazon EC2 Auto Scaling での異常なインスタンスのトラブルシューティング) を参照してください。

Elastic Beanstalk アプリケーションログをダウンロードして、ヘルスチェックの問題の原因を調べることもできます。デプロイの失敗については、以下のファイルを確認してください。

  • /var/log/eb-engine.log
  • /var/log/cfn-init-cmd.log
  • /var/log/cfn-init.log

アプリケーショントラフィックの問題を特定するには、次のウェブサーバーアクセスログとエラーログを確認してください。

  • /var/log/nginx/access.log
  • /var/log/nginx/error.log
  • (Apache のみ) /var/log/httpd/access_log
  • (Apache のみ) /var/log/httpd/error_log

Windows インスタンスを使用している場合は、デプロイの失敗について以下のファイルを確認してください。

  • CloudFormation 初期化ログについては、C:\cfn\log\cfn-init.log を確認します。
  • Elastic Beanstalk ログについては、C:\Program Files\Amazon\ElasticBeanstalk\logs\ を確認します。

Windows インスタンスでのアプリケーショントラフィックの問題を特定するには、次のログファイルを確認してください。

  • Microsoft Internet Information Services (IIS) のアクセスログについては、C:\inetpub\logs\LogFiles\W3SVC1\ を確認します。
  • HTTP エラーログについては、C:\Windows\System32\LogFiles\HTTPERR\ を確認します。
  • アプリケーション、システム、セキュリティなどの Windows イベントログについては、Windows イベントビューアコンソールを確認します。詳細については、Microsoft Learn のウェブサイトで「Event Viewer」(イベントビューア) を参照してください。

Amazon EC2 Auto Scaling グループが、CPU 使用率が 100% になるまでスケーリングしない

Amazon EC2 Auto Scaling グループが Average 統計を使用している場合、Amazon EC2 Auto Scaling グループはトラフィックの急激な増加に応答しない可能性があります。その結果、平均が設定したしきい値を下回っているのに、CPU 使用率の最大値が 100% に達することがあります。

この問題を解決するには、統計設定を Average から Maximum に変更します。

Amazon Auto Scaling グループで不必要なスケーリングイベントが頻繁に発生する

しきい値設定の幅が狭いと、スケールアップトリガーとスケールダウントリガーの間にウィンドウが生じて、事後的なスケーリングサイクルが発生します。

この問題を解決するには、次の手順を実行します。

  1. Amazon CloudWatch アラームの [上限しきい値] と [下限しきい値] の設定の差を広げます
  2. クールダウン期間を設けます。
  3. 負荷テストを実行してから、アプリケーションの過去の負荷パターンと以前の CloudWatch メトリクスを使用してこれらの設定を微調整します。例えば、過去の CPU 使用率、メモリ使用率、ディスク使用率、ネットワーク帯域幅使用率を使用します。

関連情報

Using Locust on AWS Elastic Beanstalk for Distributed Load Generation and Testing (AWS Elastic Beanstalk での Locust による分散された負荷の生成およびテスト)

AWS公式更新しました 6ヶ月前
コメントはありません

関連するコンテンツ