データと予測を探索する - Amazon EC2 Auto Scaling

データと予測を探索する

予測を作成した後、過去 8 週間の履歴データと今後 2 日間の予測を示すグラフを表示できます。グラフは、ポリシーの作成後すぐに利用可能になります。

Amazon EC2 Auto Scaling コンソールを使用して予測とその履歴を表示する方法
  1. https://console.aws.amazon.com/ec2/ でAmazon EC2 コンソールを開き、ナビゲーションペインで [Auto Scaling グループ] を選択します。

  2. Auto Scaling グループの横にあるチェックボックスを選択します。

    ページの下部にスプリットペインが開きます。

  3. 下部のペインで、[Automatic Scaling] (自動スケーリング) タブをクリックします。

各グラフには、実績値と特定のタイプのデータに対する予測値が表示されます。[Load] (負荷) グラフには、選択した負荷メトリクスの負荷予測と実績値が表示されます。[Capacity] (キャパシティー) グラフには、ターゲット使用率と起動された実際のインスタンス数に基づいて予測されるインスタンスの数が表示されます。さまざまな色で実際のメトリクスデータポイントと過去および将来の予測値が表示されます。オレンジ色の線は、実際のメトリクスデータポイントを示します。緑色の線は、将来の予測期間に対して生成された予測を示します。青い線は、過去の期間の予測を示しています。


                予測スケーリングポリシーのグラフ

グラフの右上にある 2 日間1 週間2 週間4 週間6 週間、または 8 週間 の中から任意の値を選択して、過去のデータの時間範囲を調整できます。グラフ上の各ポイントは、1 時間のデータを表します。データポイントにマウスカーソルを合わせると、ツールヒントに特定の時点 (UTC) の値が表示されます。

グラフペインを拡大するには、グラフの右上にある拡大アイコンをクリックします。デフォルトビューに戻すには、アイコンを再度クリックします。

また、AWS CLI コマンド get-predictive-scaling-forecast を使用して、予測データを取得することもできます。この呼び出しによって返されるデータは、予測を上書きした方がよい可能性がある期間を特定するのに役立ちます。詳細については、「予定されたアクションを使用して予測値を上書きする」を参照してください。

注記

Auto Scaling グループメトリクスを有効にすることをお勧めします。これらのメトリクスが有効になっていないと、キャパシティー予測グラフに実際のキャパシティーデータが表示されません。これらのメトリクスの有効化にはコストはかかりません。詳細については、「Auto Scaling グループのメトリクスを有効にする (コンソール)」を参照してください。

重要

Auto Scaling グループが新規の場合は、Amazon EC2 Auto Scaling が最初の予測を作成するのに 24 時間かかります。

CloudWatch による予測スケーリングメトリクスのモニタリング

必要に応じて、Amazon EC2 Auto Scaling コンソールではなく Amazon CloudWatch から予測スケーリングのモニタリングデータにアクセスすることもできます。予測スケーリングポリシーを作成すると、ポリシーは、今後の負荷とキャパシティを予測するために使用するデータを収集します。このデータは収集後、定期的かつ自動的に CloudWatch に保存されます。その後、CloudWatch を使用して、経時的なポリシーのパフォーマンスを視覚化できます。また、CloudWatch アラームを作成して、パフォーマンス指標が CloudWatch で定義した制限を超えて変化したときに通知させることもできます。

履歴予測データの視覚化

CloudWatch では、予測スケーリングポリシーの負荷とキャパシティ予測データを表示できます。これは、他の CloudWatch メトリクスに対する予測を 1 つのグラフで視覚化する場合に便利です。また、経時的な傾向を確認するために、より長い期間を表示することもできます。最大 15 か月間の履歴メトリクスにアクセスして、ポリシーの動作をより的確に把握できます。

詳細については、「予測スケーリングのメトリクスとディメンション」を参照してください。

CloudWatch コンソールを使用して履歴予測データを表示する方法
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで、[Metrics] (メトリクス)、[All metrics] (すべてのメトリクス) の順に選択します。

  3. [Auto Scaling] メトリクス名前空間を選択します。

  4. 以下のオプションのいずれかを選択して、負荷予測またはキャパシティ予測メトリクスのいずれかを表示します。

    • 予測スケーリングの負荷予測

    • 予測スケーリングのキャパシティ予測

  5. 検索フィールドに、予測スケーリングポリシー名または Auto Scaling グループ名を入力し、Enter キーを押して結果をフィルタリングします。

  6. メトリクスをグラフ表示するには、メトリクスの横にあるチェックボックスを選択します。グラフの名前を変更するには、鉛筆アイコンを選択します。時間範囲を変更するには、事前定義済みの値を選択するか、[custom] を選択します。詳細については、「Amazon CloudWatch ユーザーガイド」の「メトリクスのグラフ化」を参照してください。

  7. 統計を変更するには、[Graphed metrics] タブを選択します。列見出しまたは個々の値を選択し、続いて各種統計を選択します。各メトリクスの任意の統計を選択できますが、すべての統計が PredictiveScalingLoadForecast および PredictiveScalingCapacityForecast メトリクスに有用なわけではありません。例えば、平均最小最大統計は有用ですが、合計統計は有用ではありません。

  8. グラフに別のメトリクスを追加するには、[Browse] (参照) で [All] (すべて) を選択し、追加したいメトリクスを見つけて、その横にあるチェックボックスをオンにします。最大 10 個のメトリクスを追加できます。

    例えば、CPU 使用率の実際の値をグラフに追加するには、[EC2] 名前空間、[By Auto Scaling Group] (Auto Scaling グループ別) の順に選択します。次に、[CPUUtilization] メトリクス、および対象とする Auto Scaling グループのチェックボックスをオンにします。

  9. (オプション) このグラフを CloudWatch ダッシュボードに追加するには、[Actions] (アクション)、[Add to dashboard] (ダッシュボードに追加) の順に選択します。

Metric Math を使用して精度メトリクスを作成する

Metric Math により、複数の CloudWatch メトリクスをクエリし、数式を使用して、これらのメトリクスに基づく新しい時系列を作成できます。作成された時系列を CloudWatch コンソールで可視化でき、ダッシュボードに追加できます。Metric Math の詳細については、「Amazon CloudWatch ユーザーガイド」の「Metric Math を使用する」を参照してください。

Metric Math を使用して、Amazon EC2 Auto Scaling が予測スケーリングのために生成するデータを各種の方法でグラフ化できます。これにより、ポリシーのパフォーマンスを経時的にモニタリングし、メトリクスの組み合わせを改善できるかどうかを把握することができます。

例えば、Metric Math 式を使用して、平均絶対パーセント誤差 (MAPE) をモニタリングできます。MAPE メトリクスは、予測値と、特定の予測期間中に観測された実際の値の差をモニタリングするのに役立ちます。MAPE の値の変化は、アプリケーションの性質が変化するにつれて、ポリシーのパフォーマンスが経時的に低下しているかどうかを示します。MAPE の増加は、予測値と実際の値の差が大きいことを示します。

例: Metric Math 式

このタイプのグラフを使用するには、次の例に示すような Metric Math 式を作成します。

{ "MetricDataQueries": [ { "Expression": "TIME_SERIES(AVG(ABS(m1-m2)/m1))", "Id": "e1", "Period": 3600, "Label": "MeanAbsolutePercentageError", "ReturnData": true }, { "Id": "m1", "Label": "ActualLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/EC2", "MetricName": "CPUUtilization", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Period": 3600, "Stat": "Sum" }, "ReturnData": false }, { "Id": "m2", "Label": "ForecastedLoadValues", "MetricStat": { "Metric": { "Namespace": "AWS/AutoScaling", "MetricName": "PredictiveScalingLoadForecast", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" }, { "Name": "PolicyName", "Value": "my-predictive-scaling-policy" }, { "Name": "PairIndex", "Value": "0" } ] }, "Period": 3600, "Stat": "Average" }, "ReturnData": false } ] }

単一のメトリクスではなく、MetricDataQueries 用のメトリクスデータクエリ構造の配列があります。MetricDataQueries の各項目は、メトリクスを取得するか、数式を実行します。最初の項目は、数式である e1 です。指定された式は、ReturnData パラメータを true に設定し、最終的に単一の時系列を生成します。他のすべてのメトリクスで、ReturnData 値は false です。

この例では、指定された式は実際の値と予測値を入力値として使用し、新しいメトリクス (MAPE) を返します。m1 は、実際の負荷値を含む CloudWatch メトリクスです (CPU 使用率が、my-predictive-scaling-policy という名前のポリシーに対して最初に指定された負荷メトリクスであると仮定)。m2 は、予測負荷値を含む CloudWatch メトリクスです。MAPE メトリクスの計算構文は次のとおりです。

(絶対値 ((実際の値 - 予測値)/(実際の値))) の平均

精度メトリクスを視覚化してアラームを設定する

精度メトリクスデータを視覚化するには、CloudWatch コンソールの [Metrics] (メトリクス) タブをクリックします。そこからデータをグラフ化できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「CloudWatch グラフへの数式の追加」を参照してください。

[Metrics] (メトリクス) セクションから、モニタリングしているメトリクスにアラームを設定することもできます。[Graphed metrics] (グラフ化したメトリクス) タブで、[Actions] (アクション) 列にある [Create alarm] (アラームを作成) アイコンをクリックします。[Create alarm] (アラームを作成) アイコンは小さなベルです。詳細については、「Amazon CloudWatch ユーザーガイド」の「メトリクスの数式に基づく CloudWatch アラームの作成」を参照してください。Amazon SNS によるアラートの受信については、「Amazon CloudWatch ユーザーガイド」の「Amazon SNS 通知の設定」を参照してください。

GetMetricData および PutMetricAlarm を使用して、Metric Math によって計算し、その出力に基づいてアラームを作成することもできます。