Amazon ECS キャパシティープロバイダー - Amazon Elastic Container Service

Amazon ECS キャパシティープロバイダー

Amazon ECS キャパシティープロバイダーを使用すると、クラスター内のタスクで使用するインフラストラクチャを管理できます。各クラスターには、1 つ以上のキャパシティープロバイダーがあり、さらにオプションとして、デフォルトのキャパシティープロバイダー戦略があります。キャパシティープロバイダー戦略は、クラスターの複数のキャパシティープロバイダー間にタスクを分散する方法を決定します。タスクを実行するか、サービスを作成するときは、クラスターのデフォルトのキャパシティープロバイダー戦略を使用するか、クラスターのデフォルト戦略をオーバーライドするキャパシティープロバイダー戦略を指定できます。

注記

キャパシティープロバイダー戦略を使用する場合、起動タイプを指定することはできません。その逆も同様です。起動タイプの詳細については、「Amazon ECS 起動タイプ」を参照してください。

キャパシティープロバイダーの概念

キャパシティープロバイダーは、以下のコンポーネントで構成されます。

キャパシティープロバイダー

キャパシティープロバイダーは、タスクが実行されるインフラストラクチャを決定するために、クラスターに関連して使用されます。

AWS Fargate で Amazon ECS を使用している場合、FARGATE キャパシティープロバイダーと FARGATE_SPOT キャパシティープロバイダーは予約されており、作成しなくても使用できます。また、これらを削除することもできません。詳細については、「AWS Fargate キャパシティープロバイダー」を参照してください。

Amazon EC2 で Amazon ECS を使用している場合、キャパシティープロバイダーは、名前、Auto Scaling グループ、マネージドスケーリングおよびマネージド終了保護の設定で構成されます。このタイプのキャパシティープロバイダーは、クラスターの Auto Scaling で使用します。詳細については、「Auto Scaling グループ キャパシティープロバイダー」を参照してください。

キャパシティープロバイダー戦略で 1 つ以上のキャパシティープロバイダーが指定され、クラスターに関連付けられます。

キャパシティープロバイダー戦略

キャパシティープロバイダー戦略では、タスクで 1 つ以上のキャパシティープロバイダーを使用する方法を制御できます。

タスクを実行するか、サービスを作成するときは、キャパシティープロバイダー戦略を指定します。キャパシティープロバイダー戦略は、1 つ以上のキャパシティープロバイダーで構成され、各プロバイダーに対してオプションのベースウエイトが指定されます。

ベース値は、指定されたキャパシティープロバイダーで実行するタスクの最小限の数を指定します。キャパシティープロバイダー戦略では、ベースを定義できるキャパシティープロバイダーは 1 つだけです。

ウエイト値は、指定したキャパシティープロバイダーを使用する起動済みタスクの総数に対する相対的な割合を示します。たとえば、2 つのキャパシティープロバイダーを含む戦略があり、両方のウェイトが 1 である場合、ベースが満たされると、タスクは 2 つのキャパシティープロバイダー間で均等に分割されます。同じロジックを使用して、キャパシティープロバイダー capacityProviderA1 のウエイトを指定し、capacityProviderB4 のウエイトを指定すると、capacityProviderA を使用して実行されるタスクごとに、4 つのタスクが capacityProviderB を使用します。

デフォルトのキャパシティープロバイダー戦略

デフォルトのキャパシティープロバイダー戦略は、各 Amazon ECS クラスターに関連付けられています。これにより、タスクの実行時またはサービスの作成時に他のキャパシティープロバイダー戦略または起動タイプが指定されていない場合に、クラスターが使用するキャパシティープロバイダー戦略が決まります。

キャパシティープロバイダーに関する考慮事項

キャパシティープロバイダーを使用する場合は、次の点を考慮する必要があります。

  • キャパシティープロバイダー戦略を指定する場合、指定できるキャパシティープロバイダーの数は 6 に制限されます。

  • クラスターには、Auto Scaling グループキャパシティープロバイダーと Fargate キャパシティープロバイダーの両方が混在している場合がありますが、キャパシティープロバイダー戦略を指定する場合は、どちらか一方のみを含めることができ、両方を含めることはできません。

  • クラスターには、キャパシティープロバイダーと起動タイプの両方を使用するタスクとサービスが混在する場合があります。起動タイプではなくキャパシティープロバイダー戦略を使用するようにサービスを更新することもできますが、その場合は新しいデプロイを強制する必要があります。

  • キャパシティープロバイダー戦略を指定する場合、base 値はタスクの実行時にのみサポートされます。サービスを作成する場合、キャパシティープロバイダー戦略 base パラメータはサポートされていません。

  • マネージド終了保護を使用する場合は、マネージドスケーリングも使用する必要があります。そうしないと、マネージド終了保護は機能しません。

  • サービスで Blue/Green デプロイタイプを使用している場合、キャパシティープロバイダーの使用はサポートされません。

  • サービスで Classic Load Balancer を使用している場合、キャパシティープロバイダーの使用はサポートされません。