翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECS クラスターの自動スケーリング
Amazon ECS では、クラスターに登録された Amazon EC2 インスタンスのスケーリングを管理できます。これは、Amazon ECS クラスターの自動スケーリングと呼ばれます。また、これはマネージドスケーリングが有効になっている Amazon ECS Auto Scaling グループのキャパシティープロバイダーを使用して行われます。マネージドスケーリングが有効な状態で Auto Scaling グループのキャパシティープロバイダーを使用すると、Auto Scaling グループのインスタンスの使用率のターゲットのパーセンテージ (targetCapacity
) を設定します。Amazon ECS は、Auto Scaling グループにアタッチする 2 つのカスタム CloudWatch メトリクスとターゲット追跡スケーリングポリシーを作成します。Amazon ECS は、このキャパシティープロバイダーからタスクが使用するリソースの利用に基づいて、Auto Scaling グループのスケールインアクションとスケールアウトアクションを管理します。Auto Scaling グループのキャパシティープロバイダーについての詳細は、「Amazon EC2 Auto Scaling グループキャパシティープロバイダー」を参照してください。
注記
Amazon ECS クラスターの自動スケーリングは、Auto Scaling グループのキャパシティプロバイダーを使用する場合にのみサポートされます。でホストされている Amazon ECS ワークロードについては AWS Fargate、「」を参照してくださいAWS Fargate キャパシティープロバイダー。
Amazon ECS クラスターの自動スケーリングのために使用されるワークフローを次に示します。詳細については、「クラスターの自動スケーリングをオンにする」を参照してください。
-
Auto Scaling グループを作成します。
-
作成した Auto Scaling グループを使用するキャパシティプロバイダーを作成します。
-
キャパシティプロバイダーのマネージドスケーリングを有効にします。
-
キャパシティプロバイダーをクラスターに関連付けます。
-
キャパシティプロバイダーを使用するキャパシティプロバイダー戦略でタスクを実行するか、またはサービスを作成します。
キャパシティープロバイダー戦略は、クラスターの複数のキャパシティープロバイダー間にタスクを分散する方法を決定します。スタンドアロンタスクを実行するか、サービスを作成するときは、クラスターのデフォルトのキャパシティプロバイダー戦略か、クラスターのデフォルト戦略をオーバーライドするキャパシティプロバイダー戦略のいずれかを使用します。
-
(オプション) クラスターのデフォルトのキャパシティプロバイダー戦略を作成します。
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。
考慮事項
クラスターの自動スケーリングを使用するときは、次の点を考慮してください。
-
キャパシティプロバイダーに関連付けられている 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 は変更されません。グループをスケールアウトするには、 の値が 0 より大きくMaximumCapacityなければなりません。
-
自動スケーリング(マネージドスケーリング) がオンになっている場合、キャパシティプロバイダーは、同時に 1 つのクラスターにしか接続できません。キャパシティープロバイダーがマネージドスケーリングをオフにしている場合は、複数のクラスターに関連付けることができます。
-
マネージドスケーリングがオフの場合、キャパシティプロバイダーはスケールインまたはスケールアウトを実行しません。キャパシティプロバイダー戦略を使用して、キャパシティプロバイダー間でタスクのバランスを取ることができます。
-
この
binpack
戦略は、容量に関して最も効率的な戦略です。 -
ターゲット容量が 100% 未満の場合、配置戦略は
binpack
、戦略よりも順序の高いspread
戦略を使用しないで、binpack
戦略を使用する必要があります。これにより、各タスクに専用インスタンスがあるか、制限に達するまで、キャパシティープロバイダーはスケールアウトできなくなります。
コンソールを使用する際には、以下の点を考慮してください。
-
Amazon ECS マネージドスケーリング機能はデフォルトでオンになっています。詳細については、「マネージドスケールアウト動作」を参照してください。
-
マネージドターミネーション保護はデフォルトでオフになっています。詳細については、次のセクション「マネージド終了保護」をご覧ください。
-
自動スケーリングインスタンスのスケールイン保護はデフォルトでオフになっています。詳細については、「Amazon EC2 Auto Scaling ユーザーガイド」の「インスタンスのスケールイン保護の使用」を参照してください。
-
キャパシティプロバイダーで使用する Auto Scaling グループは、インスタンスの重み付け設定を使用することはできません。Amazon ECS キャパシティプロバイダーと同時に使用すると、インスタンスの重み付けはサポートされません。