условно добавить load_balancer в aws_ecs_service в terraform

Как я могу условно добавить дополнительный load_balancer к ресурсу aws_ecs_service в terraform 0.11.7?

троичные трюки

Я могу использовать троицу для некоторых сценариев - например, здесь я добавляю дополнительный sg, только если он определен

security_groups = ["${aws_security_group.host_type.id}",
    "${"" != var.additional_sg ? var.additional_sg : aws_security_group.host_type.id}",
]

Результатом является host_type.id, adda_sg или host_type.id, host_type.id. Он достаточно хорошо работает для определенного класса параметров.

Дополнительная проблема LB

В этом случае у меня есть два класса услуг, некоторые из них должны регистрироваться с несколькими LB, а некоторые нет. Поскольку это новое требование, я не хочу переключаться на новый модуль, так как это приведет к уничтожению / воссозданию, что более затратно для развертывания. В идеале хотелось бы доработать TF на месте.

resource "aws_ecs_service" "default" {
  name = "${var.service_name}"
  cluster = "${var.ecs_cluster_arn}"
  ...
  load_balancer {
    container_port = "${var.container_port}"
    container_name = "${var.env_name}-${var.service_name}"
    target_group_arn = "${var.lb_target_group_arn}"
  }

  load_balancer {
    container_port = "${var.internal_container_port}"
    container_name = "${var.env_name}-${var.service_name}"
    target_group_arn = "${var.internal_lb_target_group_arn}"
  }

  ...
}

0 ответов

Другие вопросы по тегам