Defines a basic ECS task with two containers, each with specific CPU and memory requirements, and essential status.

Terraform Template

resource "aws_ecs_task_definition" "service" {
  container_definitions = jsonencode([
 {
 name = "first"
 image = "service-first"
 cpu = 10
 memory = 512
 essential = true
 portMappings = [
 {
 containerPort = 80
 hostPort = 80
 }
 ]
 },
 {
 name = "second"
 image = "service-second"
 cpu = 10
 memory = 256
 essential = true
 portMappings = [
 {
 containerPort = 443
 hostPort = 443
 }
 ]
 }
 ])
  family = "service"

  placement_constraints {
    expression = "attribute:ecs.availability-zone in [us-west-2a, us-west-2b]"
    type = "memberOf"
  }

  volume {
    host_path = "/ecs/service-storage"
    name = "service-storage"
  }
}