

# Amazon ECSの タスク定義
<a name="task_definitions"></a>

*タスク定義*はアプリケーションのブループリントです。これは、アプリケーションを形成するパラメータと 1 つ以上のコンテナを記述する JSON 形式のテキストファイルです。

以下に示したのは、タスク定義の中で指定できるパラメータの一部です。
+ タスクをホストするインフラストラクチャを決定するキャパシティ
+ タスクの各コンテナで使用する Docker イメージ
+ 各タスクで、またはタスク内の各コンテナで使用する CPU とメモリの量
+ メモリと CPU の要件
+ タスクが実行されるコンテナのオペレーションシステム
+ タスクのコンテナで使用する Docker ネットワーキングモード
+ タスクで使用するログ記録設定
+ コンテナが終了または失敗した場合にタスクを実行し続けるかどうか
+ コンテナの開始時に実行するコマンド
+ タスク内でコンテナが使用するデータボリューム
+ タスクで使用される IAMロール

タスク定義パラメータの完全なリストについては、「[Fargate での Amazon ECS タスク定義パラメータ](task_definition_parameters.md)」を参照してください。

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

**Topics**
+ [Amazon ECS タスク定義の状態](task-definition-state.md)
+ [Amazon ECS 用のアプリケーションの構築](application_architecture.md)
+ [コンソールを使用した Amazon ECS タスク定義の作成](create-task-definition.md)
+ [Amazon Q Developer を使用して Amazon ECS コンソールでタスク定義のレコメンデーションを生成する](using-amazon-q.md)
+ [コンソールを使用した Amazon ECS タスク定義の更新](update-task-definition-console-v2.md)
+ [新しいコンソールを使用した Amazon ECS タスク定義リビジョンの登録解除](deregister-task-definition-v2.md)
+ [コンソールを使用した Amazon ECS タスク定義リビジョンの削除](delete-task-definition-v2.md)
+ [Amazon ECS タスク定義のユースケース](use-cases.md)
+ [Amazon ECS マネージドインスタンスの Amazon ECS タスク定義パラメータ](task_definition_parameters-managed-instances.md)
+ [Fargate での Amazon ECS タスク定義パラメータ](task_definition_parameters.md)
+ [Amazon EC2 における Amazon ECS タスク定義パラメータ](task_definition_parameters_ec2.md)
+ [Amazon ECS タスク定義テンプレート](task-definition-template.md)
+ [Amazon ECS のタスク定義の例](example_task_definitions.md)