Terraform 如何针对单个ECS服务连接两个目标组

Terraform 如何针对单个ECS服务连接两个目标组,terraform,amazon-ecs,terraform-provider-aws,Terraform,Amazon Ecs,Terraform Provider Aws,我正在寻找一种方法来针对单个ECS服务连接两个目标组,在另一种情况下,我的容器公开了两个端口,但我只能针对我的服务将一个端口映射到LB 到目前为止,我能够创建一个新的侦听器和目标组,但在创建目标组后,我可以按照预期看到所有内容,但目标组显示没有注册到此目标组的目标 下面是我的目标组和侦听器配置 目标群体: 听众:' 我的问题是如何添加ECS群集自动缩放组,或者如何将ECS群集中运行的所有实例添加到此目标组? 每个服务只能有一个负载平衡器或目标组 如果要将自动缩放组附加到目标组,请使用aws_a

我正在寻找一种方法来针对单个ECS服务连接两个目标组,在另一种情况下,我的容器公开了两个端口,但我只能针对我的服务将一个端口映射到LB

到目前为止,我能够创建一个新的侦听器和目标组,但在创建目标组后,我可以按照预期看到所有内容,但目标组显示没有注册到此目标组的目标

下面是我的目标组和侦听器配置

目标群体:

听众:'

我的问题是如何添加ECS群集自动缩放组,或者如何将ECS群集中运行的所有实例添加到此目标组?

每个服务只能有一个负载平衡器或目标组

如果要将自动缩放组附加到目标组,请使用aws_autoscaling_attachment,

根据,

每个服务只能有一个负载平衡器或目标组

如果要将自动缩放组附加到目标组,请使用aws_autoscaling_attachment,

AWS支持ECS服务的多个目标组

当前未发布的通过向aws_ecs_服务资源添加更多负载平衡器块包含对此的支持。示例来自:

AWS支持ECS服务的多个目标组

当前未发布的通过向aws_ecs_服务资源添加更多负载平衡器块包含对此的支持。示例来自:


但附加自动缩放组的其他方式呢使用aws_autoscaling_附件,我将其用于EKS的自动缩放组,将多个端口连接到nlb目标组。您是否为每个端口创建了两个目标组?是的,正如我所提到的,这是第二个目标组。您可以共享您的配置吗?但附加自动缩放组的其他方式如何使用aws_autoscaling_附件,我将其用于EKS的自动缩放组,将多个端口连接到nlb目标组。您是否为每个端口创建了两个目标组?是的,正如我提到的,这是第二个目标组。您可以共享您的配置吗
resource "aws_lb_target_group" "e_admin" {
  name = "${var.env_prefix_name}-admin"
  port = 5280
  protocol = "HTTP"
  vpc_id = "${aws_vpc.VPC.id}"

  health_check {
    path = "/admin"
    healthy_threshold = 2
    unhealthy_threshold = 10
    port = 5280
    timeout = 90
    interval = 100
    matcher = "401,200"
  }
}
resource "aws_lb_listener" "admin" {
  load_balancer_arn = "${aws_lb.admin_lb.arn}"
  port = "5280"
  protocol = "HTTP"

  default_action {
    target_group_arn = "${aws_lb_target_group.e_admin.id}"
    type = "forward"
  }
}
resource "aws_autoscaling_attachment" "asg_attachment_bar" {
  autoscaling_group_name = "${aws_autoscaling_group.your_asg.id}"
  alb_target_group_arn   = "${aws_alb_target_group.e_admin.arn}"
}
resource "aws_ecs_service" "with_alb" {
  name            = "example"
  cluster         = "${aws_ecs_cluster.main.id}"
  task_definition = "${aws_ecs_task_definition.with_lb_changes.arn}"
  desired_count   = 1
  iam_role        = "${aws_iam_role.ecs_service.name}"

  load_balancer {
    target_group_arn = "${aws_lb_target_group.test.id}"
    container_name   = "ghost"
    container_port   = "2368"
  }

  load_balancer {
    target_group_arn = "${aws_lb_target_group.static.id}"
    container_name   = "ghost"
    container_port   = "4501"
  }

  depends_on = [
    "aws_iam_role_policy.ecs_service",
  ]
}