

# Amazon ECS の予測スケーリングポリシーの評価
<a name="predictive-scaling-graphs"></a>

予測スケーリングポリシーを使用してサービスをスケールする前に、Amazon ECS コンソールでポリシーの推奨事項とその他のデータを確認します。予測が正確であることがわかるまで、予測スケーリングポリシーが実際のキャパシティをスケーリングすることが好ましくないため、これは重要です。

サービスが新しい場合は、最初の予測の作成に 24 時間かかります。

AWS が予測を作成するとき、履歴データを使用します。サービスに最新の履歴データがまだ十分にない場合、予測スケーリングは現在使用可能な履歴集計から作成された集計で予測を一時的にバックフィルすることがあります。予測は、ポリシーの作成日より最大 2 週間前にバックフィルされます。

## 予測スケーリングの推奨事項の表示
<a name="view-predictive-scaling-recommendations"></a>

分析を効果的に行うには、サービスの自動スケーリングに比較対象となる予測スケーリングポリシーが少なくとも 2 つ必要です。(ただし、単一ポリシーの結果を確認することはできます) 複数のポリシーを作成するとき、1 つのメトリクスを使用するポリシーを異なるメトリクスを使用するポリシーと比較して評価できます。異なる目標値およびメトリクスの組み合わせによる影響を評価することもできます。予測スケーリングポリシーが作成された後、Amazon ECS は、どのポリシーがグループのスケーリングに適しているかについて、すぐに評価を開始します。

**Amazon ECS コンソールで推奨事項を表示するには**

1. コンソールを[https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)で開きます。

1. **[クラスター]** ページで、クラスターを選択します。

1. [クラスターの詳細] ページの **[サービス]** セクションで、サービスを選択します。

   [サービス詳細] ページが表示されます。

1. **[サービスの自動スケーリング]** を選択します。

1. 予測スケーリングポリシーを選択し、**[アクション]**、**[予測スケーリング]**、**[レコメンデーションの表示]** を選択します。

   ポリシーの詳細と推奨事項を表示できます。推奨事項は、予測スケーリングポリシーを使用しない場合よりも優れた性能を発揮するかどうかについて説明します。

   予測スケーリングポリシーがグループに適切かどうかが不明な場合、**[可用性への影響]** 列および **[コストへの影響]** 列を確認し、適切なポリシーを選択してください。各列の情報は、ポリシーの影響について説明します。
   + **[可用性への影響]**: ポリシーを使用しない場合と比較し、ワークロードを処理するために十分なタスクをプロビジョニングすることにより、ポリシーが可用性への悪影響を回避できるかどうかについて説明します。
   + **[コストへの影響]**: ポリシーを使用しない場合と比較し、タスクを過剰にプロビジョニングしないことにより、ポリシーがコストへの悪影響を回避できるかどうかについて説明します。過剰にプロビジョニングしすぎると、サービスが十分に活用されない、またはアイドル状態になり、コストへの影響が増す一方です。

   複数のポリシーがある場合、より低コストで最も可用性のメリットが高いポリシーの名前の横に **[最良予測]** タグが表示されます。可用性への影響がより重視されます。

1. (オプション) 推奨結果の必要な期間を選択するには、**[評価期間]** のドロップダウンから **[2 日]**、**[1 週間]**、または **[2 週間]** のいずれか希望する値を選択します。デフォルトでは、評価期間は過去の 2 週間です。評価期間が長いほど、推奨結果のデータポイントが増えます。ただし、需要が非常に高い時期の後など、負荷パターンが変化した場合、データポイントを追加しても結果が改善されない可能性があります。この場合、最新のデータを見ることでより焦点を絞った推奨事項を得ることができます。

**注記**  
推奨事項は **[予測のみ]** モードのポリシーに対してのみ生成されます。推奨機能は、評価期間中にポリシーが **[予測のみ]** モードのときにより効果的に機能します。ポリシーを **[予測とスケーリング]** モードで開始し、後で **[予測のみ]** モードに切り替える場合、そのポリシーの結果に偏りが生じる可能性があります。これは、ポリシーが既に実際のキャパシティに関与しているためです。

## 予測スケーリングのモニタリンググラフの確認
<a name="review-predictive-scaling-monitoring-graphs"></a>

コンソールでは、以前の日、週間、月の予測を確認し、時間の経過と共にポリシーがどの程度機能しているか視覚化できます。また、ポリシーが実際のタスク数をスケールするかどうかを決定するとき、この情報を使用して予測の精度を評価できます。

**Amazon ECS コンソールで予測スケーリングのモニタリンググラフを表示するには**

1. コンソールを[https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2)で開きます。

1. **[クラスター]** ページで、クラスターを選択します。

1. [クラスターの詳細] ページの **[サービス]** セクションで、サービスを選択します。

   [サービス詳細] ページが表示されます。

1. **[サービスの自動スケーリング]** を選択します。

1. 予測スケーリングポリシーを選択し、**[アクション]**、**[予測スケーリング]**、**[グラフの表示]** を選択します。

1. **[モニタリング]** セクションでは、ポリシーの負荷およびキャパシティに関する過去および今後の予測を実際の値と比較できます。**[負荷]** グラフには、選択した負荷メトリクスの負荷予測および実際の値が表示されます。**[キャパシティ]** グラフには、ポリシーによって予測されたタスク数が表示されます。実際に起動されたタスク数も含まれます。縦線は履歴の値と今後の予測を区切っています。これらのグラフは、ポリシーの作成後にすぐ利用できます。

1. (オプション) グラフに表示される履歴データの量を変更するには、ページ上部の **[評価期間]** のドロップダウンから希望する値を選択します。評価期間はこのページのデータをはいかなる方法で変換することはありません。表示される履歴データの量のみを変更します。

****[負荷]** グラフのデータを比較**  
各水平線は、1 時間間隔で報告される異なる一連のデータポイントを表しています。

1. **[実際に観測された負荷]** は、選択した負荷メトリクスの SUM 統計を使用し、過去の 1 時間ごとの合計負荷を表示します。

1. **[ポリシーによって予測される負荷]** は、1 時間ごとの負荷予測を表示します。この予測は過去 2 週間分の実際の負荷観測に基づいています。

****[キャパシティ]** グラフのデータの比較**  
各水平線は、1 時間間隔で報告される異なる一連のデータポイントを表しています。

1. **[実際に観測されたタスク数]** には、Amazon ECS サービスの過去の実際のキャパシティが表示されます。これは、他のスケーリングポリシーや、選択した期間に有効な最小グループサイズによって異なります。

1. **[ポリシーによって予測されるキャパシティ]** には、ポリシーが **[予測とスケーリング]** モードになっているときに各時間の開始時に予想されるベースラインキャパシティが表示されます。

1. **[推定される必要タスク数]** には、スケーリングメトリクスを選択したターゲット値に維持するためのサービス内の理想的なタスク数が表示されます。

1. **[最小タスク数]** には、サービス内の最小タスク数が表示されます。

1. **[最大キャパシティ]** には、サービス内の最大タスク数が表示されます。

推定される必要キャパシティを計算するため、最初は各タスクが指定された目標値で均等に使用されていると仮定します。実際には、タスク数は均等に使用されません。ただし、使用率がタスク間で均等に分散されていると仮定することにより、必要なキャパシティの量を推定できます。次に、タスク数の要件は、予測スケーリングポリシーに使用したスケーリングメトリクスに反比例するように計算されます。つまり、タスク数が増加するにつれ、スケーリングメトリクスは同じ割合で減少します。例えば、タスク数が 2 倍になった場合、スケーリングメトリクスは半減します。

推定された必要キャパシティの計算式は、次のとおりです。

 `sum of (actualServiceUnits*scalingMetricValue)/(targetUtilization)`

例えば、特定の時間の `actualServiceUnits` (`10`) および `scalingMetricValue` (`30`) を算出します。その後、予測スケーリングポリシー (`60`) で指定した `targetUtilization` を使用し、同じ時間に推定される必要キャパシティを計算します。これは `5` の値を返します。これは、スケーリングメトリクスの目標値とは正反比例し、キャパシティを維持するために必要なキャパシティの推定量は 5 であることを意味します。

**注記**  
コスト削減およびアプリケーションの可用性を調整および改善するため、さまざまな手段が用意されています。  
ベースラインキャパシティに予測スケーリングを使用し、追加のキャパシティに動的スケーリングを使用します。動的スケーリングは予測スケーリングとは独立して動作し、現在の使用率に基づいてスケールインおよびスケールアウトを行います。まず、Amazon ECS は、スケジュールされていないスケーリングポリシーごとに推奨されるタスク数を計算します。次に、最も多くのタスクを提供するポリシーに基づいてスケーリングします。
負荷が減少したときにスケールインできるようにするには、サービスに、スケールイン部分を有効にした動的スケーリングポリシーが常に少なくとも 1 つ必要です。
最小キャパシティおよび最大キャパシティを制限しすぎないようにすることにより、スケーリングパフォーマンスを向上させることができます。推奨されるタスク数が最小キャパシティおよび最大キャパシティの範囲に収まらないポリシーは、スケールインおよびスケールアウトができなくなります。