カスタムメトリクスを使用した高度な予測スケーリングポリシー - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

カスタムメトリクスを使用した高度な予測スケーリングポリシー

予測スケーリングポリシーでは、事前定義されたメトリクスまたはカスタムメトリクスを使用できます。カスタムメトリクスは、事前定義されたメトリクス (CPU、ネットワーク I/O、および Application Load Balancer のリクエスト数) ではアプリケーションの負荷が十分に反映できない場合に役立ちます。

カスタムメトリクスを使用して予測スケーリングポリシーを作成するときは、 が提供する他の CloudWatch メトリクスを指定するか AWS、自分で定義して公開するメトリクスを指定できます。Metric Math を使用して、既存のメトリクスを集計し、自動的に追跡 AWS されない新しい時系列に変換することもできます。新しい合計や平均の計算など、データの値を組み合わせることを、集計すると言います。結果のデータは集計と言います。

以下のセクションには、ポリシー用の JSON 構造を構築する方法のベストプラクティスと例が記載されています。

ベストプラクティス

次のベストプラクティスは、カスタムメトリクスをより効果的に使用するのに役立ちます。

  • 負荷メトリクスの指定では、グループのキャパシティーに関係なく Auto Scaling グループ全体の負荷を表すメトリクスが最も有用です。

  • スケーリングメトリクスの指定では、インスタンスあたりの平均スループットまたは使用率のメトリクスでスケールするのが最も有用です。

  • スケーリングメトリクスは、キャパシティーに反比例する必要があります。つまり、Auto Scaling グループのインスタンス数が増加すると、スケーリングメトリクスはほぼ同じ割合で減少するようにします。予測スケーリングが期待どおりに動作するようにするには、負荷メトリクスとスケーリングメトリクスに強い相関がある必要もあります。

  • ターゲット使用率は、スケーリングメトリクスのタイプと一致する必要があります。CPU 使用率を使用するポリシー設定の場合、これはパーセンテージのターゲットです。リクエスト数やメッセージ数など、スループットを使用するポリシー設定の場合、これは任意の 1 分間のインスタンスあたりのリクエスト数やメッセージ数のターゲットです。

  • これらの推奨事項に従わない場合、予測される将来の時系列の値は、多くの場合、誤りになります。データが正しいことを確認するために、Amazon EC2 Auto Scaling コンソールで予測値を表示できます。または、予測スケーリングポリシーを作成した後、GetPredictiveScalingForecast API を呼び出して返された LoadForecast および CapacityForecast オブジェクトを検査します。

  • 予測スケーリングがキャパシティーのアクティブスケーリングを開始する前に予測を評価できるように、予測のみモードで予測スケーリングを設定することを強くお勧めします。

前提条件

予測スケーリングポリシーにカスタムメトリクスを追加するには、cloudwatch:GetMetricData 許可が必要です。

AWS が提供するメトリクスの代わりに独自のメトリクスを指定するには、まず CloudWatch にメトリクスを発行する必要があります。詳細については、「Amazon CloudWatch ユーザーガイド」の「カスタムメトリクスの発行」を参照してください。

独自のメトリクスを発行するときは、少なくとも 5 分間隔の頻度でデータポイントを発行するようにしてください。Amazon EC2 Auto Scaling は、必要な期間の長さに基づいて CloudWatch からデータポイントを取得します。例えば、負荷メトリクスの指定では、時間単位のメトリクスを使用してアプリケーションの負荷を測定します。CloudWatch は、発行されたメトリクスデータを使用して、各 1 時間の期間内にタイムスタンプがあるすべてのデータポイントを集計することにより、各 1 時間の期間に対して単一のデータ値を提供します。

制限

  • 1 つのメトリクス指定で最大 10 個のメトリクスのデータポイントをクエリできます。

  • この制限に関しては、1 つの式は 1 つのメトリクスとしてカウントされます。