Amazon ECSの タスク定義 - Amazon Elastic Container Service

Amazon ECSの タスク定義

Amazon ECSで Docker コンテナを実行するには、タスク定義が必要です。以下に示したのは、タスク定義の中で指定できるパラメータの一部です。

  • タスクの各コンテナで使用する Docker イメージ

  • 各タスクで、またはタスク内の各コンテナで使用する CPU とメモリの量

  • 使用する起動タイプ、これによりタスクをホストするインフラストラクチャを決定

  • タスクのコンテナで使用する Docker ネットワーキングモード

  • タスクで使用するログ記録設定

  • コンテナが終了または失敗した場合にタスクを実行し続けるかどうか

  • コンテナの開始時に実行するコマンド

  • タスク内でコンテナが使用するデータボリューム

  • タスクで使用される IAMロール

1 つのタスク定義に複数のコンテナを定義できます。使用するパラメータは、タスクで選択する起動タイプの種類に応じて決まります。すべてのパラメータが有効というわけではありません。利用できるパラメータの一覧と、タスク定義内でそれらのパラメータを使用できる起動タイプの種類ついては、「タスク定義パラメータ」を参照してください。

アプリケーションスタックは、その全体を単一のタスク定義上に置く必要はありません。また、多くの場合、(使用する) タスク定義は 1 つだけとはなりません。アプリケーションは、複数のタスク定義にまたがることができます。関連するコンテナを独自のタスク定義に結合し、それぞれが単一のコンポーネントを表すことにより、これを行えます。詳細については、「アプリケーションのアーキテクチャ」を参照してください。

タスク定義を作成したら、タスク定義をタスクまたはサービスとして実行できます。

  • タスクはクラスター内のタスク定義のインスタンス化です。Amazon ECS でアプリケーションのタスク定義を作成後、クラスターで実行するタスクの数を指定できます。

  • Amazon ECS サービスは、Amazon ECS クラスターで必要な数のタスクを同時に実行して維持します。仕組みとしては、タスクがいずれかの理由で失敗または停止した場合に、Amazon ECS サービススケジューラがタスク定義に基づいて別のインスタンスを起動することによって動作します。これは、それを置き換え、サービス内の必要な数のタスクを維持するために行われます。