ターゲットメトリクス値を使用して Amazon ECS サービスをスケールする
ターゲット追跡スケーリングポリシーで、メトリクスを選択してターゲット値を設定します。Amazon ECS サービス自動スケーリングは、スケーリングポリシーを制御する CloudWatch アラームを作成および管理し、メトリクスとターゲット値に基づいてスケーリング調整値を計算します。スケーリングポリシーは、指定されたターゲット値、またはそれに近い値にメトリクスを維持するため、必要に応じてサービスタスクを追加または削除します。ターゲットの追跡スケーリングポリシーは、メトリクスをターゲット値近くに維持することに加えて、負荷パターンの変動によるメトリクスの変動に合わせて調整し、サービスで実行されているタスク数の急速な変動を最小化します。
考慮事項
ターゲット追跡ポリシーを使用する際は、以下について検討します。
-
ターゲットの追跡スケーリングポリシーでは、指定されたメトリクスがターゲット値を超えている場合、スケールアウトする必要があると見なされます。指定されたメトリクスがターゲット値を下回っている場合、ターゲットの追跡スケーリングポリシーを使用してスケールアウトすることはできません。
-
指定されたメトリクスに十分なデータがない場合、ターゲットの追跡スケーリングポリシーによってスケールされません。不十分なデータは低い使用率として解釈されないため、スケールインされません。
-
ターゲット値と実際のメトリクスデータポイント間にギャップが発生する場合があります。これは、Service Auto Scaling が追加または削除する容量を判断するときに、その数を切り上げまたは切り捨てることによって、常に控えめに動作するためです。これにより、不十分な容量を追加したり、必要以上に容量を削除することを防ぎます。
-
アプリケーションの可用性を高めるために、サービスのスケールアウトはメトリクスに比例して可能な限り高速に行われますが、スケールインはより緩やかです。
-
Application Auto Scaling は、Amazon ECS デプロイの進行中にスケールインプロセスをオフにします。ただし、スケールアウトプロセスは、中断しない限り、デプロイ中に引き続き発生します。詳細については、「サービスの自動スケーリングとデプロイ」を参照してください。
-
Amazon ECS サービスに対して複数のターゲット追跡スケーリングポリシーを設定できます。ただし、各ポリシーがそれぞれ異なるメトリクスを使用している必要があります。サービスの自動スケーリングの目的は常に可用性を優先することであるため、その動作は、スケールアウトまたはスケールインに対するターゲット追跡ポリシーの準備が整っているかどうかに応じて異なります。ターゲット追跡ポリシーのいずれかでスケールアウトする準備ができると、サービスがスケールアウトされますが、すべてのターゲット追跡ポリシー (スケールイン部分がオン) でスケールインする準備ができている場合にのみスケールインされます。
-
ターゲット追跡スケーリングポリシーのためにサービスの自動スケーリングが管理する CloudWatch アラームを編集または削除しないでください。スケーリングポリシーを削除するときに、サービスの自動スケーリングはアラームを自動的に削除します。
-
ブルー/グリーンデプロイタイプでは、ターゲット追跡スケーリングポリシーの
ALBRequestCountPerTarget
メトリクスはサポートされません。
ターゲット追跡スケーリングポリシーの詳細については、「Application Auto Scaling ユーザーガイド」の「ターゲット追跡スケーリングポリシー」を参照してください。
Amazon ECS コンソールを使用して Amazon ECS サービスのターゲットスケーリングポリシーを設定するには
-
サービスの作成や更新に使用する標準の IAM アクセス権限に加えて、追加のアクセス権限が必要です。詳細については、「Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可」を参照してください。
-
サービスを作成または更新するとき、スケーリングポリシーを設定できます。詳細については、以下のいずれかを参照してください。
-
定義済みのパラメータを使用したサービスの作成 — 新しいサービスの作成
-
コンソールを使用した Amazon ECS サービスの更新 - 既存のサーバーの更新
-
AWS CLI を使用して Amazon ECS サービスのターゲットスケーリングポリシーを設定するには
-
サービスの作成や更新に使用する標準の IAM アクセス権限に加えて、追加のアクセス権限が必要です。詳細については、「Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可」を参照してください。
-
register-scalable-target コマンドを使用して、スケーラブルなターゲットとして Amazon ECS サービスを登録します。
-
put-scaling-policy コマンドを使用して、スケーリングポリシーを作成します。