Amazon ECS サービスの自動スケーリングのステップスケーリングポリシーを作成する - Amazon Elastic Container Service

Amazon ECS サービスの自動スケーリングのステップスケーリングポリシーを作成する

ステップスケーリングポリシーを作成して、Amazon ECS がサービスで必要なタスク数を自動的に増減させます。ステップスケーリングは、ステップ調整と呼ばれる、超過アラームのサイズによって異なる一連のスケーリング調整値に基づいて実行されます。

  1. サービスの作成や更新に使用する標準の IAM アクセス権限に加えて、追加のアクセス権限が必要です。詳細については、「Amazon ECS のサービス自動スケーリングに必要な IAM アクセス許可」を参照してください。

  2. ポリシーに使用するメトリクスを決定します。以下のメトリクスが利用可能です。

    • [ECSServiceAverageCPUUtilization] — サービスが使用する平均 CPU 使用率。

    • [ECSServiceAverageMemoryUtilization] — サービスが使用する平均メモリ使用率。

    • [ALBRequestCountPerTarget] – タスクが受信する 1 分あたりの理想的な平均リクエスト数。

  3. メトリクスの CloudWatch アラームを作成します。詳細については、Amazon CloudWatch ユーザーガイドの「静的しきい値に基づいて CloudWatch アラームを作成する」を参照してください。

  4. コンソールをhttps://console.aws.amazon.com/ecs/v2で開きます。

  5. [Clusters] (クラスター) ページで、クラスターを選択します。

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

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

  7. [タスク数を設定する] を選択します。

  8. [Amazon ECS サービスのタスク数] で、[自動スケーリングを使用する] を選択します。

    [タスク数セクション] が表示されます。

    1. [タスクの最小数] に、サービスの自動スケーリングで使用するタスクの下限数を入力します。必要な数がこの数を下回ることはありません。

    2. [最大] に、サービスの自動スケーリングで使用するタスクの上限数を入力します。必要な数がこの数を超えることはありません。

    3. [保存] を選択します。

      [ポリシー] ページが表示されます。

  9. [スケーリングポリシーを作成する] を選択します。

    [ポリシーを作成する] ページが表示されます。

  10. [スケーリングポリシータイプ][ステップスケーリング] を選択します。

  11. スケールアウトプロパティを設定します。[タスクを追加するステップ] で、次を実行します。

    1. [Policy Name] (ポリシー名) にこのポリシーの名前を入力します。

    2. [CloudWatch アラーム名] で、CloudWatch アラームを選択します。

    3. [メトリクスの集計タイプ] で、選択したメトリクスを定義されたしきい値と比較する方法を選択します。

    4. [調整タイプ] で、調整がタスク数の変化に基づくか、タスクの割合の変化に基づくかを選択します。

    5. [実行するアクション] で、実行するアクションの値を入力します。

      [ステップを追加] を選択して、追加のアクションを追加します。

  12. スケールインプロパティを設定します。[タスクを削除するステップ] で、次を実行します。

    1. [Policy Name] (ポリシー名) にこのポリシーの名前を入力します。

    2. [CloudWatch アラーム名] で、CloudWatch アラームを選択します。

    3. [メトリクスの集計タイプ] で、選択したメトリクスを定義されたしきい値と比較する方法を選択します。

    4. [調整タイプ] で、調整がタスク数の変化に基づくか、タスクの割合の変化に基づくかを選択します。

    5. [実行するアクション] で、実行するアクションの値を入力します。

      [ステップを追加] を選択して、追加のアクションを追加します。

  13. [クールダウン期間] には、前回のスケーリングアクティビティが有効になるまで待機する時間を秒単位で入力します。追加ポリシーの場合、スケールアウトアクティビティの終了後、スケーリングポリシーによってスケールインアクティビティがブロックされ、一度にスケールアウトできるタスクの数が制限されます。削除ポリシーの場合、これはスケールインアクティビティの後、別のスケールインアクティビティが開始されるまでに経過する必要がある時間です。

  14. [スケーリングポリシーを作成する] を選択します。

  1. register-scalable-target コマンドを使用して、スケーラブルなターゲットとして Amazon ECS サービスを登録します。

  2. put-scaling-policy コマンドを使用して、スケーリングポリシーを作成します。