AWS Elastic Beanstalk
開発者ガイド

EB CLI を使用した環境ヘルスのモニタリング

Elastic Beanstalk コマンドラインインターフェイス (EB CLI) は、AWS Elastic Beanstalk 環境を管理するためのコマンドラインツールの 1 つです。EB CLI では、環境の状態をリアルタイムで、現在の AWS マネジメントコンソールより細かくモニタリングすることもできます。

EB CLI をインストールし、設定したら、eb create コマンドを使用して、新しい環境を起動し、それにコードをデプロイできます。AWS マネジメントコンソールで既に環境を作成している場合は、プロジェクトフォルダ (空でも問題ありません) で eb init を実行し、プロンプトに従うことによって、その環境に EB CLI をアタッチできます。

重要

pip install オプションを付けて --upgrade を実行し、EB CLI の最新バージョンを使用していることを確認します。

$ sudo pip install --upgrade awsebcli

EB CLI の詳細なインストール手順については、「Elastic Beanstalk コマンドラインインターフェイス(EB CLI)のインストール」を参照してください。

EB CLI を使用して対象環境のヘルスステータスを監視するには、eb init を実行して画面の指示に従うことで、まず、ローカルのプロジェクトフォルダを設定する必要があります。詳細な手順については、「EB CLI の設定」を参照してください。

Elastic Beanstalk で既に環境が実行されており、EB CLI を使用してその状態をモニタリングする場合は、既存の環境を使用するために、以下のステップに従って、それに EB CLI をアタッチします。

EB CLI を既存の環境にアタッチするには

  1. コマンドラインターミナルを開き、ユーザーフォルダに移動します。

  2. 対象環境用に新しいフォルダを作成して開きます。

  3. eb init コマンドを実行し、モニタリングするアプリケーションと環境を選択します。選択したアプリケーションを実行している環境が 1 つしかない場合、EB CLI は自動的にそれを選択するので、次の例に示すように、手動で環境を選択する必要はありません。

    ~/project$ eb init Select an application to use 1) elastic-beanstalk-example 2) [ Create new Application ] (default is 2): 1 Select the default environment. You can change this later by typing "eb use [environment_name]". 1) elasticBeanstalkEx2-env 2) elasticBeanstalkExa-env (default is 1): 1

EB CLI を使用して状態をモニタリングするには

  1. コマンドラインを開き、ユーザーフォルダに移動します。

  2. eb health コマンドを実行して、お客様の環境内のインスタンスのヘルスステータスを表示します。この例では、5 つのインスタンスが Linux 環境内で実行されています。

    ~/project $ eb health elasticBeanstalkExa-env Ok 2015-07-08 23:13:20 WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0 instance-id status cause health Overall Ok i-d581497d Ok i-d481497c Ok i-136e00c0 Ok i-126e00c1 Ok i-8b2cf575 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 671.8 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-d581497d 143.0 1430 0 0 0 0.003 0.002 0.001 0.001 0.000 i-d481497c 128.8 1288 0 0 0 0.003 0.002 0.001 0.001 0.000 i-136e00c0 125.4 1254 0 0 0 0.004 0.002 0.001 0.001 0.000 i-126e00c1 133.4 1334 0 0 0 0.003 0.002 0.001 0.001 0.000 i-8b2cf575 141.2 1412 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-d581497d t2.micro 1a 12 mins 0.0 0.04 6.2 0.0 1.0 92.5 0.1 i-d481497c t2.micro 1a 12 mins 0.01 0.09 5.9 0.0 1.6 92.4 0.1 i-136e00c0 t2.micro 1b 12 mins 0.15 0.07 5.5 0.0 0.9 93.2 0.0 i-126e00c1 t2.micro 1b 12 mins 0.17 0.14 5.7 0.0 1.4 92.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.19 0.08 6.5 0.0 1.2 92.1 0.1 instance-id status id version ago deployments i-d581497d Deployed 1 Sample Application 12 mins i-d481497c Deployed 1 Sample Application 12 mins i-136e00c0 Deployed 1 Sample Application 12 mins i-126e00c1 Deployed 1 Sample Application 12 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

    この例では、1 つのインスタンスが Windows 環境内で実行されています。

    ~/project $ eb health WindowsSampleApp-env Ok 2018-05-22 17:33:19 WebServer IIS 10.0 running on 64bit Windows Server 2016/2.2.0 total ok warning degraded severe info pending unknown 1 1 0 0 0 0 0 0 instance-id status cause health Overall Ok i-065716fba0e08a351 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 13.7 100.0 0.0 0.0 0.0 1.403 0.970 0.710 0.413 0.079 i-065716fba0e08a351 2.4 100.0 0.0 0.0 0.0 1.102* 0.865 0.601 0.413 0.091 instance-id type az running % user time % privileged time % idle time cpu i-065716fba0e08a351 t2.large 1b 4 hours 0.2 0.1 99.7 instance-id status id version ago deployments i-065716fba0e08a351 Deployed 2 Sample Application 4 hours

出力の読み取り

出力は、環境の名前、環境の総合的な状態、および現在の日付を画面の上部に表示します。

elasticBeanstalkExa-env Ok 2015-07-08 23:13:20

その次の 3 行には、環境のタイプ (ここでは "WebServer")、設定 (Ruby 2.1 with Puma)、および 7 つの状態にあるインスタンスの数が表示されます。

WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0

出力の残りは 4 つのセクションに分かれています。最初のセクションには、環境全体と各インスタンスのステータスとそのステータスの原因が表示されます。以下の例は、環境内のステータスが Info である 2 つのインスタンスと、デプロイが開始されたことを示す原因を示しています。

instance-id status cause health Overall Ok i-d581497d Info Performing application deployment (running for 3 seconds) i-d481497c Info Performing application deployment (running for 3 seconds) i-136e00c0 Ok i-126e00c1 Ok i-8b2cf575 Ok

ヘルスのステータスと色の詳細については、「状態の色とステータス」を参照してください。

[requests] セクションには、各インスタンスに関するウェブサーバーログからの情報が表示されます。この例では、各インスタンスは正常にリクエストを受け取っており、エラーはありません。

instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 13.7 100.0 0.0 0.0 0.0 1.403 0.970 0.710 0.413 0.079 i-d581497d 2.4 100.0 0.0 0.0 0.0 1.102* 0.865 0.601 0.413 0.091 i-d481497c 2.7 100.0 0.0 0.0 0.0 0.842* 0.788 0.480 0.305 0.062 i-136e00c0 4.1 100.0 0.0 0.0 0.0 1.520* 1.088 0.883 0.524 0.104 i-126e00c1 2.2 100.0 0.0 0.0 0.0 1.334* 0.791 0.760 0.344 0.197 i-8b2cf575 2.3 100.0 0.0 0.0 0.0 1.162* 0.867 0.698 0.477 0.076

[CPU] セクションには、各インスタンスのオペレーティングシステムメトリクスが表示されます。出力はオペレーティングシステムによって異なります。Linux 環境での出力を次に示します。

instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-d581497d t2.micro 1a 12 mins 0.0 0.03 0.2 0.0 0.0 99.7 0.1 i-d481497c t2.micro 1a 12 mins 0.0 0.03 0.3 0.0 0.0 99.7 0.0 i-136e00c0 t2.micro 1b 12 mins 0.0 0.04 0.1 0.0 0.0 99.9 0.0 i-126e00c1 t2.micro 1b 12 mins 0.01 0.04 0.2 0.0 0.0 99.7 0.1 i-8b2cf575 t2.micro 1c 1 hour 0.0 0.01 0.2 0.0 0.1 99.6 0.1

Windows 環境での出力を次に示します。

instance-id type az running % user time % privileged time % idle time i-065716fba0e08a351 t2.large 1b 4 hours 0.2 0.0 99.8

サーバーとオペレーティングシステムのメトリクスの詳細については、「インスタンスメトリクス」を参照してください。

最終セクション [deployments] には、各インスタンスのデプロイステータスが表示されます。ローリングデプロイが失敗した場合は、表示されたデプロイ ID、ステータス、バージョンラベルを使って、間違ったバージョンを実行している環境のインスタンスを特定できます。

instance-id status id version ago deployments i-d581497d Deployed 1 Sample Application 12 mins i-d481497c Deployed 1 Sample Application 12 mins i-136e00c0 Deployed 1 Sample Application 12 mins i-126e00c1 Deployed 1 Sample Application 12 mins i-8b2cf575 Deployed 1 Sample Application 1 hour

インタラクティブヘルスビュー

eb health コマンドは、環境の状態のスナップショットを表示します。表示される情報が 10 秒ごとに更新されるようにするには、--refresh オプションを使用します。

$ eb health --refresh elasticBeanstalkExa-env Ok 2015-07-09 22:10:04 (1 secs) WebServer Ruby 2.1 (Puma) total ok warning degraded severe info pending unknown 5 5 0 0 0 0 0 0 instance-id status cause health Overall Ok i-bb65c145 Ok Application deployment completed 35 seconds ago and took 26 seconds i-ba65c144 Ok Application deployment completed 17 seconds ago and took 25 seconds i-f6a2d525 Ok Application deployment completed 53 seconds ago and took 26 seconds i-e8a2d53b Ok Application deployment completed 32 seconds ago and took 31 seconds i-e81cca40 Ok instance-id r/sec %2xx %3xx %4xx %5xx p99 p90 p75 p50 p10 requests Overall 671.8 100.0 0.0 0.0 0.0 0.003 0.002 0.001 0.001 0.000 i-bb65c145 143.0 1430 0 0 0 0.003 0.002 0.001 0.001 0.000 i-ba65c144 128.8 1288 0 0 0 0.003 0.002 0.001 0.001 0.000 i-f6a2d525 125.4 1254 0 0 0 0.004 0.002 0.001 0.001 0.000 i-e8a2d53b 133.4 1334 0 0 0 0.003 0.002 0.001 0.001 0.000 i-e81cca40 141.2 1412 0 0 0 0.003 0.002 0.001 0.001 0.000 instance-id type az running load 1 load 5 user% nice% system% idle% iowait% cpu i-bb65c145 t2.micro 1a 12 mins 0.0 0.03 0.2 0.0 0.0 99.7 0.1 i-ba65c144 t2.micro 1a 12 mins 0.0 0.03 0.3 0.0 0.0 99.7 0.0 i-f6a2d525 t2.micro 1b 12 mins 0.0 0.04 0.1 0.0 0.0 99.9 0.0 i-e8a2d53b t2.micro 1b 12 mins 0.01 0.04 0.2 0.0 0.0 99.7 0.1 i-e81cca40 t2.micro 1c 1 hour 0.0 0.01 0.2 0.0 0.1 99.6 0.1 instance-id status id version ago deployments i-bb65c145 Deployed 1 Sample Application 12 mins i-ba65c144 Deployed 1 Sample Application 12 mins i-f6a2d525 Deployed 1 Sample Application 12 mins i-e8a2d53b Deployed 1 Sample Application 12 mins i-e81cca40 Deployed 1 Sample Application 1 hour (Commands: Help,Quit, ▼ ▲ ◄ ►)

この例は、最近、インスタンスを 1 個から 5 個にスケールアップした環境を示しています。スケーリングオペレーションが完了し、すべてのインスタンスがヘルスチェックに合格したら、リクエストを受け取ることができるようになります。対話モードでは、ヘルスステータスが 10 秒ごとに更新されます。右上隅で、タイマーが次の更新までカウントダウンされます。

左下隅で、レポートがオプションのリストを表示します。インタラクティブモードを終了するには、Q キーを押します。スクロールするには、矢印キーを押します。他のコマンドのリストを表示するには、H キーを押します。

インタラクティブヘルスビューのオプション

環境の状態をインタラクティブに表示する場合、キーボードのキーを使用して、表示を調整したり、個々のインスタンスを置換または再起動するように Elastic Beanstalk に指示したりできます。インタラクティブモードでヘルスレポートを表示しているときに使用できるコマンドのリストを表示するには、H キーを押します。

up,down,home,end Scroll vertically left,right Scroll horizontally F Freeze/unfreeze data X Replace instance B Reboot instance <,> Move sort column left/right -,+ Sort order descending/ascending P Save health snapshot data file Z Toggle color/mono mode Q Quit this program Views 1 All tables/split view 2 Status Table 3 Request Summary Table 4 CPU%/Load Table H This help menu (press Q or ESC to return)