提问者:小点点

无法使用aws云结构为应用程序负载平衡器创建自动调用组


AWS CFN构建失败,以下自动调用组的状态为“TargetGroupARNs属性值必须为字符串列表类型”:

InfyASG:
  Type: AWS::AutoScaling::AutoScalingGroup
  UpdatePolicy:
    AutoScalingRollingUpdate:
      MaxBatchSize: "4"
      MinInstancesInService:
        Ref: InfyASGMin
  Properties:
    Cooldown: "300"
    DesiredCapacity:
      Ref: InfyASGDesiredSize
    MaxSize:
      Ref: InfyASGMaxSize
    MinSize:
      Ref: InfyASGMin
    HealthCheckGracePeriod: "300"
    HealthCheckType: ELB
    VPCZoneIdentifier:
      Ref: PrivateSubnet
    LaunchConfigurationName:
      Ref: InfyLaunchConfig
    TargetGroupARNs:
      - !GetAtt "InfyTG.LoadBalancerArns"
    Tags:
      - Key: Owner
        Value:
          Ref: BaseOwner
        PropagateAtLaunch: true
      - Key: Name
        Value:
          Fn::Sub: ${BaseName}-${Environment}-InfyASG
        PropagateAtLaunch: true
      - Key: Application
        Value:
          Ref: Application
        PropagateAtLaunch: true
      - Key: Environment
        Value:
          Ref: Environment
        PropagateAtLaunch: true
      - Key: Role
        Value:
          Fn::Sub: ${BaseName}-${Environment}-Role
        PropagateAtLaunch: true

我的目标组名称是“InfyTG”。用于映射的自动缩放组下只给出了“TargetGroupARNs”。我也使用了以下方法,但没有用。

      TargetGroupARNs:
        Ref: InfyTG

将目标组映射到自动缩放组时应出现问题。我尝试搜索自动缩放组、目标组和应用程序负载平衡器之间的映射,但这无助于解决上述问题。

我所需要的只是目标组下的高可用性应用程序服务器,以便我可以通过应用程序负载平衡器将流量路由到实例。如果实例关闭,自动调用组应生成新实例并将其注册到同一目标组下。

请帮我解决这个问题。


共1个答案

匿名用户

试试这个:

  TargetGroupARNs: [!Ref InfyTG]

或者(你和你的第二种形式很接近):

  TargetGroupARNs: 
    - !Ref InfyTG