ECSのタスクとは
タスク定義はアプリケーションのブループリントです。これは、アプリケーションを形成するパラメータと 1 つ以上のコンテナを記述する JSON 形式のテキストファイルです。
- 使用する起動タイプ、これによりタスクをホストするインフラストラクチャを決定
- タスクの各コンテナで使用する Docker イメージ
- 各タスクで、またはタスク内の各コンテナで使用する CPU とメモリの量
- メモリと CPU の要件
- タスクが実行されるコンテナのオペレーションシステ
- タスクのコンテナで使用する Docker ネットワーキングモード
- タスクで使用するログ記録設定
- コンテナが終了または失敗した場合にタスクを実行し続けるかどうか
- コンテナの開始時に実行するコマンド
- タスク内でコンテナが使用するデータボリューム
- タスクで使用される IAMロール
使用されるタスクの優先順位
Terraformでタスクを更新しようとした際に生成もとに使用されるタスクは現行で稼働しているバージョンが参照されるか、最新版を基に更新するかなど いくつか方法がある。
BuildSpecの中を参照した際に、
TASK_DEFINITION_ARN=${
aws ecs descrive-services \
--clusuter "${SERVICE_NAME}-${ENV}-cluster" \
--services "${SERVICE_NAME}-${ENV}service-fargate-${SERVICE_NAME}" \
--query "services[0].taskDefinition" \
--output text
}
のような定義があれば、最新版ではなく現在稼働しているクラスターのタスクを参照に次のタスク生成をおk