首页 > 解决方案 > 我无法让我的自动缩放组引用我的 TargetGroup

问题描述

我能够启动一个简单的自动缩放组。但是,当我尝试设置应用程序负载均衡器以将流量引导到我的各种实例时,问题就出现了。首先,我创建了负载均衡器,它也很简单。问题是创建目标组和听众。在我的自动缩放组中,我添加了以下属性:

    TargetGroupARNs:
      - !Ref AlbTargetGroup 

然后,我的目标群体如下:

  AlbTargetGroup:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
     TargetType: ip 
     VpcId: ###########
     Protocol: HTTP 
     Port: 3000
     HealthCheckPath: /hello
     HealthCheckIntervalSeconds: 10
     HealthCheckTimeoutSeconds: 5
     HealthyThresholdCount: 2
     UnhealthyThresholdCount: 2

请注意,我是由 VpcId 硬编码的。我正在从 CLI 进行部署。在控制台中,我在堆栈中遇到的错误是:

前提是目标组“arn:aws:elasticloadbalancing:...”的目标类型无效。请确保所有提供的目标组都具有目标类型的实例

标签: amazon-web-servicesamazon-cloudformationautoscalingaws-load-balanceraws-application-load-balancer

解决方案


Application LoadBalancer 和 AutoScalingGroup 之间的链接需要根据 ALB TargetGroup 是使用 TargetTypeip还是instance. 与instance您一起使用:

TargetGroupARNs:
   - !Ref LoadBalancerTargetGroup

ip答案取决于实际目标。例如,对于 ECS,您通常在服务定义中指定它:

LoadBalancers:
  - ContainerName: ContainerName
    ContainerPort: 8080
    TargetGroupArn: !Ref LoadBalancerTargetGroup

如果您将instanceASG 类型引用到ipALBTG,那么您将收到Please ensure all provided Target Groups have target type of instance错误消息。


推荐阅读