Amazon ECS クラスターの自動スケーリング - Amazon Elastic Container Service

Amazon ECS クラスターの自動スケーリング

重要

2022 年 5 月 27 日以降、Amazon ECS ではリソースの管理方法が変更され、クラスターの自動スケーリング が容易になりました。詳細については、「Amazon ECS でクラスターの自動スケーリングのリソースを作成する方法に関する更新」を参照してください。

Amazon ECS では、クラスターに登録された Amazon EC2 インスタンスのスケーリングを管理できます。これは、Amazon ECS クラスターの自動スケーリングと呼ばれます。また、これはマネージドスケーリングが有効になっている Amazon ECS Auto Scaling グループのキャパシティープロバイダーを使用して行われます。マネージドスケーリングが有効な状態で Auto Scaling グループのキャパシティープロバイダーを使用すると、Auto Scaling グループのインスタンスの使用率のターゲットのパーセンテージ (targetCapacity) を設定します。Amazon ECS は 2 つのカスタム CloudWatch メトリクス、および Auto Scaling グループにアタッチするターゲットの追跡スケーリングポリシーを作成します。Amazon ECS は、このキャパシティープロバイダーからタスクが使用するリソースの利用に基づいて、Auto Scaling グループのスケールインアクションとスケールアウトアクションを管理します。Auto Scaling グループのキャパシティープロバイダーについての詳細は、「Amazon EC2 Auto Scaling グループキャパシティープロバイダー」を参照してください。

注記

Amazon ECS クラスターの自動スケーリングは、Auto Scaling グループのキャパシティプロバイダーを使用する場合にのみサポートされます。AWS Fargate でホストされている Amazon ECS ワークロードの場合は、「AWS Fargate キャパシティープロバイダー」を参照してください。

クラスターの自動スケーリングの仕組み

クラスターの自動スケーリング設定

Amazon ECS クラスターの自動スケーリングのために使用されるワークフローを次に示します。詳細については、「クラスターの自動スケーリングをオンにする」を参照してください。

  1. Auto Scaling グループを作成します。

  2. 作成した Auto Scaling グループを使用するキャパシティプロバイダーを作成します。

  3. キャパシティプロバイダーのマネージドスケーリングを有効にします。

  4. キャパシティプロバイダーをクラスターに関連付けます。

  5. キャパシティプロバイダーを使用するキャパシティプロバイダー戦略でタスクを実行するか、またはサービスを作成します。

    キャパシティープロバイダー戦略は、クラスターの複数のキャパシティープロバイダー間にタスクを分散する方法を決定します。スタンドアロンタスクを実行するか、サービスを作成するときは、クラスターのデフォルトのキャパシティプロバイダー戦略か、クラスターのデフォルト戦略をオーバーライドするキャパシティプロバイダー戦略のいずれかを使用します。

  6. (オプション) クラスターのデフォルトのキャパシティプロバイダー戦略を作成します。

クラスターの自動スケーリングのリソース

クラスターに関連付けられている各 Auto Scaling グループのキャパシティプロバイダーについて、Amazon ECS は次のリソースを作成し、管理します。

  • 低いメトリクス値の CloudWatch アラーム

  • 高いメトリクス値の CloudWatch アラーム

  • ターゲットの追跡スケーリングポリシー

    注記

    Amazon ECS は、ターゲットの追跡スケーリングポリシーを作成し、Auto Scaling グループにアタッチします。ターゲットの追跡スケーリングポリシーを更新するには、スケーリングポリシーを直接更新するのではなく、キャパシティプロバイダーのマネージドスケーリング設定を更新します。

マネージドスケーリングを無効にするか、クラスターからキャパシティプロバイダーの関連付けを解除すると、Amazon ECS は CloudWatch メトリクスとターゲットの追跡スケーリングポリシーのリソースの両方を削除します。

クラスターの自動スケーリング メトリクス

次のメトリクスは、実行するアクションを決定するのに役立ちます。

CapacityProviderReservation

特定のキャパシティプロバイダーで使用されているクラスターコンテナインスタンスの割合。Amazon ECS はこのメトリクスを生成します。

Amazon ECS は、CapacityProviderReservation の値を 0~100 の数値に設定します。Amazon ECS は、次の式を使用して Auto Scaling グループに残っているキャパシティの割合を表します。その後、Amazon ECS は CloudWatch にメトリクスをパブリッシュします。メトリクスの算出方法の詳細については、「Amazon ECS クラスター自動スケーリングのDeep Dive」を参照してください。

CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
DesiredCapacity

Auto Scaling グループのキャパシティ量。

クラスターの自動スケーリングプロセス

Amazon ECS は、クラスターに関連付けられている各キャパシティプロバイダーに対して、クラスターの自動スケーリングプロセスを実行します。Amazon ECS は、このプロセスを 1 分ごとに実行します。

Amazon ECS は AWS/ECS/ManagedScaling 名前空間内の CloudWatch に CapacityProviderReservation メトリックを公開します。CapacityProviderReservation メトリクスは、次のいずれかのアクションを実行します。

CapacityProviderReservation の値は targetCapacity に等しいです

Auto Scaling グループはスケールインまたはスケールアウトする必要はありません。目標使用率に達しました。

CapacityProviderReservation の値は targetCapacity より大きいです

キャパシティのパーセンテージを使用しているタスクの数が、自分の targetCapacity のパーセンテージを上回っています。CapacityProviderReservation メトリクスの値が増加すると、関連する CloudWatch アラームが動作します。このアラームは Auto Scaling グループの DesiredCapacity 値を更新します。Auto Scaling グループはこの値を使用して EC2 インスタンスを起動し、クラスターに登録します。

targetCapacity がデフォルト値の 100% の場合、インスタンスにタスクを実行できる空き容量がないため、スケールアウト中は新しいタスクは PENDING 状態になります。新しいインスタンスが ECS に登録されると、これらのタスクは新しいインスタンスで開始されます。

CapacityProviderReservation の値は targetCapacity 未満です

キャパシティのパーセンテージを使用しているタスクが自分の targetCapacity のパーセンテージよりも少なく、終了できるインスタンスが少なくとも 1 つあります。CapacityProviderReservation メトリクスの値が減少すると、関連する CloudWatch アラームが動作します。このアラームは Auto Scaling グループの DesiredCapacity 値を更新します。Auto Scaling グループはこの値を使用して EC2 コンテナインスタンスを終了し、クラスターから登録解除します。

Auto Scaling グループは、終了ポリシーを使用して、スケールインイベント中に最初に終了するインスタンスを決定します。さらに、インスタンスのスケールイン保護の設定は、回避します。クラスター自動スケーリングでは、マネージドターミネーション保護を有効にすると、どのインスタンスにインスタンススケールイン保護が設定されているかを管理できます。終了保護の詳細については、「マネージド終了保護」を参照してください。詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「スケールイン時にどの自動スケーリングインスタンスを終了するかのコントロール」を参照してください。

クラスターの Auto Scaling に関する考慮事項

クラスターの自動スケーリングを使用するときは、次の点を考慮してください。

  • キャパシティプロバイダーに関連付けられている Auto Scaling グループが希望するキャパシティは、Amazon ECS が管理しているもの以外のスケーリングポリシーを変更または管理しないでください。

  • Amazon ECS は、ユーザーに代わって AWS Auto Scaling を呼び出すために必要なアクセス許可として AWSServiceRoleForECS サービスにリンクされた IAM ロールを使用します。Amazon ECS サービスにリンクされた IAM ロールの使用と作成の詳細については、「Amazon ECS のサービスリンクロールの使用」を参照してください。

  • Auto Scaling グループでキャパシティプロバイダーを使用する場合、キャパシティプロバイダーを作成するユーザー、グループ、ロールには autoscaling:CreateOrUpdateTags アクセス許可が必要です。これは、Auto Scaling グループが、キャパシティープロバイダーに関連付けるときに、Amazon ECS が Auto Scaling グループにタグを追加するためです。

    重要

    ツールの使用により AmazonECSManaged タグが Auto Scaling グループから削除されないようにしてください。このタグが削除されると、Amazon ECS はクラスターをスケールするときにタグを管理できません。

  • クラスターの自動スケーリングは、グループの [MinimumCapacity][MaximumCapacity] を変更しません。グループをスケールアウトするには、[MaximumCapacity] を 0 より大きくする必要があります。

  • 自動スケーリング(マネージドスケーリング) がオンになっている場合、キャパシティプロバイダーは、同時に 1 つのクラスターにしか接続できません。キャパシティープロバイダーがマネージドスケーリングをオフにしている場合は、複数のクラスターに関連付けることができます。

  • マネージドスケーリングがオフの場合、キャパシティプロバイダーはスケールインまたはスケールアウトを実行しません。キャパシティプロバイダー戦略を使用して、キャパシティプロバイダー間でタスクのバランスを取ることができます。

  • Amazon ECS は現時点の既存のキャパシティーにおける配置戦略と配置制約を使用します。配置戦略は、アベイラビリティーゾーンまたは Amazon ECS インスタンス間でタスクを分散できます。これによって、すべてのタスクとすべてのインスタンスが分散され、実行中の各タスクが独自のハードウェア専有インスタンスで起動されます。これを防ぐには、spread 戦略と binpack 戦略を併用しないようにします。詳細については、「Amazon ECS タスク配置戦略」を参照してください。

コンソールを使用する際には、以下の点を考慮してください。

  • Amazon ECS マネージドスケーリング機能はデフォルトでオンになっています。詳細については、「マネージドスケールアウト動作」を参照してください。

  • マネージドターミネーション保護はデフォルトでオフになっています。詳細については、次のセクション「マネージド終了保護」をご覧ください。

  • 自動スケーリングインスタンスのスケールイン保護はデフォルトでオフになっています。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスのスケールイン保護の使用」を参照してください。

  • キャパシティプロバイダーで使用する Auto Scaling グループは、インスタンスの重み付け設定を使用することはできません。Amazon ECS キャパシティプロバイダーと同時に使用すると、インスタンスの重み付けはサポートされません。

マネージド終了保護

重要

クラスター自動スケーリングのマネージドターミネーション保護機能を使用するには、Auto Scaling グループで自動スケーリングインスタンスのスケールイン保護を有効にする必要があります。

Amazon ECS クラスター自動スケーリングは、CapacityProviderReservation 値が設定した targetCapacity パーセンテージを下回ると Auto Scaling グループ内でスケーリングされます。クラスター自動スケーリングでは、マネージド終了保護を有効にした場合にどのインスタンスを終了するかを制御できます。マネージド終了プロテクションを使用すると、Amazon ECS は、実行中の Amazon ECS タスクがない EC2 インスタンスのみを終了します。DAEMON スケジューリング戦略を使用するサービスによって実行されるタスクは無視され、インスタンスがこれらのタスクを実行している場合でも、クラスター自動スケーリングによってインスタンスを終了できます。これは、クラスター内のすべてのインスタンスがこれらのタスクを実行しているためです。

マネージド終了保護を使用するときは、Amazon ECS は最初に Auto Scaling グループの EC2 インスタンスのスケールイン保護オプションをオンにします。次に、Amazon ECS がインスタンスにタスクを配置します。デーモン以外のすべてのタスクがインスタンスで停止すると、Amazon ECS はスケールインプロセスを開始し、EC2 インスタンスのスケールイン保護をオフにします。Auto Scaling グループはインスタンスを終了できます。

自動スケーリングインスタンスのスケールイン保護は、終了できる EC2 インスタンスを制御します。スケールイン機能がオンになっているインスタンスは、スケールインプロセス中に終了できません。自動スケーリングのインスタンススケールイン保護についての詳細は、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンススケールイン保護を使用する」を参照してください。

クラスターの自動スケーリングがスケールインを管理する方法の詳細については、次の マネージドスケールイン動作 セクションを参照してください。

マネージド終了保護の考慮事項

新しいコンソールでマネージド終了保護を使用する場合は、以下のことを考慮してください:

  • デフォルトでは、コンソールで作成した新しいキャパシティープロバイダーのマネージドターミネーション保護はオフになっています。

  • コンソールでは、選択した Auto Scaling グループのインスタンスのスケールイン保護は、有効になりません。自動スケーリングインスタンスのスケールイン保護はデフォルトでオフになっています。マネージド終了保護を使用するには、Auto Scaling グループで 自動スケーリングインスタンスのスケールイン保護を有効にする必要があります。スケールイン保護を有効にしていない場合、マネージド終了保護を有効にすると、望ましくない動作が発生する可能性があります。例えば、インスタンスのドレイン状態のままになっている場合を考えてみます。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスのスケールイン保護の使用」を参照してください。

マネージドスケールアウト動作

マネージドスケーリングを使用する Auto Scaling グループキャパシティプロバイダーがあるとき、Amazon ECS はクラスターに追加する最適なインスタンス数を見積もります。次に、Amazon ECS はこの値を使用して、リクエストするインスタンスの数を決定します。以下では、スケールアウト動作について詳しく説明します。

  1. Amazon ECS は、サービス、スタンドアロンタスク、またはクラスターのデフォルトからのキャパシティプロバイダー戦略に従って、各タスクのキャパシティプロバイダーを選択します。Amazon ECS は、単一のキャパシティプロバイダーのために、これらの残りのステップに従います。

    タスクにキャパシティプロバイダー戦略がない場合、そのタスクはキャパシティプロバイダーによって無視されます。キャパシティプロバイダー戦略がない保留中のタスクによって、キャパシティプロバイダーがスケールアウトされることはありません。タスクまたはサービスが起動タイプを設定する場合、タスクまたはサービスはキャパシティプロバイダー戦略を設定できません。

  2. このキャパシティプロバイダーのすべてのプロビジョニングタスクをグループ化し、各グループが同じリソース要件を持つようにします。

  3. グループ内の複数のインスタンスタイプを使用する場合、Auto Scaling グループ内のインスタンスタイプはパラメータによってソートされます。これらのパラメータには vCPU、メモリ、Elastic Network Interface (ENI)、ポート、GPU が含まれます。各パラメータの最小インスタンスタイプと最大インスタンスタイプが選択されます。インスタンスタイプの選択方法の詳細については、「Amazon ECS ベストプラクティスガイド」の「Characterizing your application」(アプリケーションの特性を知る) を参照してください。

    重要

    タスクのグループに、Auto Scaling グループの最小のインスタンスタイプよりも大きなリソース要件がある場合、そのタスクのグループは、このキャパシティプロバイダーでは実行できません。キャパシティプロバイダーは、Auto Scaling グループをスケールしません。タスクは PENDING 状態のままです。

    タスクが PENDING 状態にとどまらないようにするには、最小リソース要件ごとに個別の Auto Scaling グループとキャパシティプロバイダーを作成することをお勧めします。タスクを実行するか、サービスを作成するときは、Auto Scaling グループ内の最小インスタンスタイプでタスクを実行できるキャパシティプロバイダーのみをキャパシティプロバイダー戦略に追加します。他のパラメータでは、配置制約を使用できます

  4. タスクグループごとに、Amazon ECS は未配置タスクの実行に必要なインスタンス数を計算します。この計算には、binpack 戦略が用いられます。この戦略では、タスクの vCPU、メモリ、Elastic Network Interface (ENI)、ポートや GPU の要件を考慮します。また、Amazon EC2 インスタンスのリソースの可用性も考慮されます。最大インスタンスタイプの値は、計算された最大インスタンス数として扱われます。最小のインスタンスタイプの値は、保護として使用されます。最小インスタンスタイプでタスクの少なくとも 1 つのインスタンスを実行できない場合、計算ではタスクが互換性がないと見なされます。その結果、タスクはスケールアウト計算から除外されます。すべてのタスクに最小のインスタンスタイプとの互換性がないときは、クラスター 自動スケーリングは停止し、CapacityProviderReservation 値は targetCapacity のままになります。

  5. Amazon ECS は、次のいずれかに該当する場合、minimumScalingStepSize に関連した CloudWatch に CapacityProviderReservation メトリクスをパブリッシュします。いずれの場合も、計算された最大インスタンス数が最小スケーリングステップサイズを下回っています。または、maximumScalingStepSize か、計算された最大インスタンス数のどちらか低い方の値。

  6. CloudWatch アラームは、キャパシティプロバイダーの CapacityProviderReservation メトリクスを使用します。CapacityProviderReservation メトリクスが targetCapacity 値より大きい場合、アラームでは、Auto Scaling グループの DesiredCapacity も増加します。targetCapacity 値は、クラスターの自動スケーリングがアクティブ化されているフェーズ中に CloudWatch アラームに送信されるキャパシティプロバイダー設定です。

    Auto Scaling グループを作成するとき、またはグループの作成後に値を変更するときに targetCapacity を設定できます。デフォルトでこの値は 100% に設定されています。

  7. Auto Scaling グループは追加の EC2 インスタンスを起動します。スケールアウト操作のオーバープロビジョニングを防ぐため、自動スケーリングは最近起動された EC2 インスタンスのキャパシティーが新たなインスタンスを起動する前に安定していることを確認します。自動スケーリングは、既存のすべてのインスタンスが instanceWarmupPeriod (現在はインスタンスの起動時間を減じたもの) を経過したかどうかを確認します。instanceWarmupPeriod 内にあるインスタンスのスケールアウトはブロックされます。

    新しく起動されたインスタンスがウォームアップに達するまでのデフォルト秒数は 300 です。

詳細については、「Amazon ECS のクラスター自動スケーリングに関する詳細な説明」を参照してください。

スケールアウトの考慮事項

スケールアウトのプロセスでは、次の点を考慮してください。

  1. 配置制約は複数ありますが、distinctInstance タスク配置の制約事項のみを使用することをお勧めします。サンプリングされたインスタンスと互換性がない配置制約を使用しているため、これにより、スケールアウトプロセスが停止するのを防ぐことができます。

  2. マネージドスケーリングは、Auto Scaling グループが同じインスタンスタイプまたは類似のインスタンスタイプを使用している場合に最適です。詳細については、「マネージドスケールアウト動作」を参照してください。

  3. スケールアウトプロセスが必要で現在実行中のコンテナインスタンスがない場合は、Amazon ECS は常に 2 つのインスタンスにスケールアウトしてから追加のスケールアウト/インプロセスを実行します。追加のスケールアウトは、インスタンスのウォームアップ期間を待ちます。スケールインプロセスの場合、Amazon ECS はスケールアウトプロセスの後 15 分待ってから、常にスケールインプロセスを開始します。

  4. 2 番目のスケールアウトのステップは instanceWarmupPeriod が期限切れになるまで待つ必要があるため、全体的なスケール制限に影響する可能性があります。この時間を短縮する必要がある場合は、instanceWarmupPeriod が EC2 インスタンスが Amazon ECS エージェントを起動して開始するのに十分な大きさであることを確認してください (オーバープロビジョニングを防ぐため)。

  5. クラスターの自動スケーリングは、キャパシティプロバイダーの Auto Scaling グループ内の起動設定、起動テンプレート、複数のインスタンスタイプをサポートします。複数のインスタンスタイプを使用せずに、属性ベースのインスタンスタイプの選択も使用できます。

  6. オンデマンドインスタンスと複数のインスタンスタイプ、またはスポットインスタンスを持つ Auto Scaling グループを使用する場合は、大きいインスタンスタイプを優先順位リストで上位に配置し、ウェイトを指定しないでください。現時点では、ウェイトの指定はサポートされていません。詳細については、AWS Auto Scalingユーザーガイドの「複数のインスタンスタイプと Auto Scaling グループ」を参照してください。

  7. Amazon ECS は、計算された最大インスタンス数が最小スケーリングステップサイズより小さい場合は minimumScalingStepSize を、あるいは maximumScalingStepSize または計算された最大インスタンスカウント値のいずれか小さい方を起動します。

  8. Amazon ECS サービスまたは run-task API がタスクを起動し、キャパシティプロバイダーのコンテナインスタンスにタスクをスタートするために十分なリソースがない場合、Amazon ECS は、各クラスターでこのステータスのタスク数を制限し、タスクがこの制限を超えることを防ぎます。詳細については、「Amazon ECS の Service Quotas」を参照してください。

マネージドスケールイン動作

Amazon ECS は、クラスター内の各キャパシティプロバイダーのコンテナインスタンスをモニタリングします。コンテナインスタンスがタスクを実行していない場合、コンテナインスタンスは空であるとみなされ、Amazon ECS はスケールインプロセスを開始します。次では、スケールイン動作について詳しく説明します。

  1. Amazon ECS は、空のコンテナインスタンスの数を計算します。デーモンタスクが実行されている場合でも、コンテナインスタンスは空であるとみなされます。

  2. Amazon ECS では、CapacityProviderReservation 値を 0 ~ 100 の数値に設定します。この数値は、Auto Scaling グループが必要とする規模と実際の規模との比率をパーセンテージで表す次の式を使用します。その後、Amazon ECS は CloudWatch にメトリクスをパブリッシュします。メトリクスの算出方法の詳細については、「Amazon ECS クラスター自動スケーリングのDeep Dive」を参照してください。

    CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
  3. CapacityProviderReservation メトリクスは CloudWatch アラームを生成します。このアラームは Auto Scaling グループの DesiredCapacity 値を更新します。すると、以下のいずれかのアクションが発生します。

    • キャパシティプロバイダーによるマネージド終了を使用しない場合、Auto Scaling グループは、Auto Scaling グループ終了ポリシーを使用して EC2 インスタンスを選択し、EC2 インスタンス数が DesiredCapacity に達するまでインスタンスを終了します。その後、コンテナインスタンスがクラスターから登録解除されます。

    • すべてのコンテナインスタンスがマネージド型の終了保護を使用している場合、Amazon ECS は空のコンテナインスタンスのスケールイン保護を削除します。Auto Scaling グループは EC2 インスタンスを終了できるようになります。その後、コンテナインスタンスがクラスターから登録解除されます。

スケールインの考慮事項

スケールインプロセスでは、次の点を考慮してください。

  • Amazon ECS コンテナインスタンスは、実行中のデーモン以外のタスクがない場合、スケールインに使用できると見なされます。

  • CloudWatch スケールインアラームは、Auto Scaling グループのスケールインプロセスが開始する前に 15 データポイント (15 分) を必要とします。スケールインプロセスがスタートされた後から Amazon ECS が登録されたコンテナインスタンス数を減らす必要があるまで、Auto Scaling グループは DesireCapacity 値を 1 つのインスタンスより大きく、かつ毎分 50% 未満に設定します。

  • Amazon ECS がスケールアウトをリクエストしたときに (CapacityProviderReservation が 100 より大きいとき) スケールインプロセスが進行中の場合、スケールインプロセスは停止して、必要に応じて最初から開始されます。

ターゲットの追跡に関する考慮事項

マネージドスケーリングが有効な状態でキャパシティプロバイダーを作成または更新する場合、targetCapacity のパーセンテージを設定できます。これにより、将来のタスクをより迅速に開始できるように、予備のキャパシティを維持できます。これは予備のキャパシティによって改善されます。なぜなら、Auto Scaling グループがさらに多くのインスタンスを起動するのを待つ必要がなくなるからです。Amazon ECS では、ターゲットキャパシティ値を使用して、作成される CloudWatch メトリクスを管理できます。これにより、クラスターの自動スケーリングが容易になります。Amazon ECS は CloudWatch メトリクスを管理します。こうすることで、Auto Scaling グループが定常状態として扱われるため、スケーリングアクションが必要なくなります。値は 0-100% の範囲で指定できます。例えば、Amazon ECS タスクで使用されるキャパシティーに加えて 10% の空き容量を維持するように Amazon ECS を設定するには、ターゲットキャパシティー値を 90% に設定します。

キャパシティプロバイダーで targetCapacity 値を設定する際には、次の点を考慮します。

  • 100% 未満の targetCapacity 値は、クラスター内に必要な空き容量 (Amazon EC2 インスタンス) を表します。空き容量とは、実行中のタスクがないことを意味します。

  • アベイラビリティーゾーンなどの配置制約は、追加の binpack がなければ、Amazon ECS が最終的にインスタンスごとに 1 つのタスクを実行するように強制しますが、これは望ましい動作ではない可能性があります。この動作を防ぐには、spread 戦略と binpack 戦略を併用しないようにします。

Amazon ECS でクラスターの自動スケーリングのリソースを作成する方法に関する更新

2022 年 5 月 27 日付で、Amazon ECS は、クラスタの自動スケーリングを促進するリソースを管理する方法を変更しました。エクスペリエンスを簡素化するために、Amazon ECS では Auto Scaling グループのキャパシティプロバイダーでマネージドスケーリングが有効な場合、AWS Auto Scaling スケーリングプランが必要ではなくなりました。

重要

この変更がクラスターの自動スケーリング のワークフローに機能的な影響を与えたり、価格やパフォーマンスに影響することはありません。

2022 年 5 月 27 日より前に作成されたキャパシティープロバイダー

2022 年 5 月 27 日より前に作成され、AWS Auto Scaling スケーリングプランを使用しているキャパシティプロバイダーは、引き続き機能します。

次の考慮事項を確認してください。

  • キャパシティプロバイダーに関連付けられた ECS-managed AWS Auto Scaling スケーリングプランまたはスケーリングポリシーのリソースは、更新または削除することはお勧めしません。

  • 自動スケーリングコンソールやアタッチメント付き describe-clusters で、クラスター用のスケーリングプランのリソースにアクセスできます。詳細については、「API ドキュメント」の「DescribeClusters」を参照してください。

  • クラスターキャパシティプロバイダーとして機能する Auto Scaling グループにスケーリングポリシーを追加することはできません。

  • アカウントごとの自動スケーリングプランの数は限られています。詳細については、Amazon EC2 Auto Scaling ユーザーガイドの「スケーリングプランのクォータ」を参照してください。

2022 年 5 月 27 日以降に作成されたキャパシティープロバイダー

2022 年 5 月 27 日以降、Amazon ECS では、新しく作成されたキャパシティープロバイダー用の AWS Auto Scaling スケーリングプランが作成されなくなりました。代わりに、Amazon ECS が Auto Scaling グループにアタッチされたターゲットの追跡スケーリングポリシーを使用して、ターゲット容量の仕様に基づき動的スケーリングが実行されます。詳細については、「Amazon EC2 Auto Scaling グループキャパシティープロバイダー」を参照してください。

この新しいリリースでは、新しいキャパシティプロバイダーを作成する際に使用するスケーリングポリシーを持つ既存の Auto Scaling グループを使用できます。ECS マネージドスケーリングポリシーまたはプランのリソースを変更することはお勧めしません。ただし、新しいキャパシティープロバイダーのリソースを作成する際に、AWS Auto Scaling スケーリングプランに変更を加えたカスタム済みのツールがある場合は、次のいずれかを実行します。

  • (推奨) キャパシティープロバイダーを更新して、Amazon ECS マネージドスケーリング設定を変更する。詳細については、「UpdateCapacityProvider」を参照してください。

  • Auto Scaling グループに関連付けられているスケーリングポリシーを更新して、使用するターゲットの追跡設定を変更する。詳細については、「PutScalingPolicy」を参照してください。