CloudWatch アラームに基づく定義済みの増分を使用して Amazon ECS サービスをスケールする
ステップスケーリングポリシーでは、CloudWatch アラームを指定してスケーリングプロセスを開始します。たとえば、CPU 利用率が一定のレベルに達したときにスケールアウトする場合、提供される CPUUtilization
メトリクスを使用してアラームを作成します。ステップスケーリングポリシーを作成したら、次のいずれかのスケーリング調整タイプを指定する必要があります。
-
[追加] - 指定した数の容量ユニットまたは指定した割合の現在の容量で、スポットフリートのタスク数を増やします。
-
[削除] - 指定した数の容量ユニットまたは指定した割合の現在の容量で、スポットフリートのタスク数を減らします。
-
[設定] - 指定した数の容量ユニットに、タスクの数を設定します。
例えば、ターゲット容量と取得済み容量がそれぞれ 10 で、スケーリングポリシーが 1 を加算するとします。アラームに違反すると、オートスケーリングプロセスは 10 に 1 を加えて 11 を得るため、Amazon ECS はサービスに対して 1 つのタスクを起動します。
ターゲット追跡スケーリング ポリシーを使用して、ターゲットごとの平均 CPU 使用率や平均リクエスト数などのメトリクスに基づいてスケールすることを強くお勧めします。キャパシティーが増加すると減少し、キャパシティーが減少すると増加するメトリクスを使用すると、ターゲット追跡を使用してインスタンス数を比例的にスケールアウトしたり、タスク数を増やすことができます。これにより、サービスの Auto Scaling がアプリケーションの需要曲線に厳密に従うことが保証されます。
ステップスケーリングポリシーの概要とその仕組みについては、「Application Auto Scaling ユーザー ガイド」の「ステップスケーリングポリシー」を参照してください。この概要を読んだ後は、以下のセクションでコンソールと AWS Command Line Interface を使用して Amazon ECS のステップスケーリングを設定する方法を参照してください。
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 コマンドを使用して、スケーリングポリシーを作成します。
-
put-metric-alarm コマンドを使用してスケーリングポリシーを開始するアラームを作成します。