Amazon Elastic Container Service
開発者ガイド (API バージョン 2014-11-13)

Amazon ECS タスクの配置

EC2 起動タイプを使用するタスクを起動するとき、Amazon ECS ではタスク定義で指定されている CPU やメモリなどの要件に基づいてタスクを配置する場所を決定する必要があります。同様に、タスク数を縮小する際も、Amazon ECS でどのタスクを終了させるか決定する必要があります。タスク配置の戦略と制約を適用することで、Amazon ECS がタスクを配置および終了する方法をカスタマイズできます。

タスク配置戦略は、タスク配置またはタスクの終了でインスタンスを選択するためのアルゴリズムです。たとえば、Amazon ECS でランダムにインスタンスを選択することも、インスタンスのグループ間に均等に分散されているタスクを持つインスタンスを選択することもできます。タスク配置の制約事項は、タスク配置中に考慮されるルールです。たとえば、アベイラビリティーゾーンやインスタンスタイプに基づいたタスク配置の制約を使用できます。名前と値のペアである属性をコンテナインスタンスに関連付け、属性に基づいて制約事項を使用しタスクを配置できます。

注記

タスク配置戦略はベストエフォートです。Amazon ECS は、最適な配置オプションが利用できない場合でも、タスクの配置を試みます。ただし、タスク配置の制約が有効な場合、タスクを配置できないことがあります。

戦略と制約は併用できます。たとえば、アベイラビリティーゾーン間でタスクを分散し、各アベイラビリティーゾーン内のメモリに基づいてタスクをビンパックするが、ただし G2 インスタンスの場合のみ、といったことができます。

Amazon ECS がタスクを配置する際は、以下のプロセスでコンテナインスタンスを選択します。

  1. タスク定義で要求される CPU、メモリ、ポートの要件を満たすインスタンスを識別します。

  2. タスク配置の制約事項を満たすインスタンスを識別します。

  3. タスク配置戦略を満たすインスタンスを識別します。

  4. タスクを配置するインスタンスを選択します。

注記

タスク配置制約は Fargate タスクではサポートされていません。デフォルトでは、Fargate タスクはアベイラビリティーゾーン間で分散されます。