Terraform resource: aws ecs service

From wikieduonline
Revision as of 12:19, 24 May 2023 by Welcome (talk | contribs) (→‎Arguments)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Arguments[edit]

Examples[edit]

Official example[edit]

resource "aws_ecs_service" "mongo" {
 name            = "mongodb"
 cluster         = aws_ecs_cluster.foo.id
 task_definition = aws_ecs_task_definition.mongo.arn
 desired_count   = 3
 iam_role        = aws_iam_role.foo.arn
 depends_on      = [aws_iam_role_policy.foo]

 ordered_placement_strategy {
   type  = "binpack"
   field = "cpu"
 }

 load_balancer {
   target_group_arn = aws_lb_target_group.foo.arn
   container_name   = "mongo"
   container_port   = 8080
 }

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

Additional examples[edit]

resource "aws_ecs_service" "your_service" {
  count           = var.network_name == "prod" ? 1 : 0
  name            = "your_service-${var.env}-service"
  cluster         = aws_ecs_cluster.your_cluster.name
  task_definition = "${aws_ecs_task_definition.your_task[0].family}:${aws_ecs_task_definition.your_task[0].revision}"

  launch_type   = "FARGATE"
  desired_count = var.your_service_desired_count 

  network_configuration {
    security_groups  = [aws_security_group.your_sg[0].id]
    subnets          = [for s in data.aws_subnet.all_private : s.id]
    assign_public_ip = false
  } 

  load_balancer {
    target_group_arn = aws_lb_target_group.your_tg[0].arn
    container_name   = "your-container-${var.env}-c"
    container_port   = 4444
  }
}

Errors[edit]

News[edit]

Related[edit]

See also[edit]

Advertising: