获取 ELB ARN 作为输出

Get ELB ARN as an output

我需要获取经典 ELB 的 ARN 作为输出才能将其导出。关于如何实现这一目标的任何想法?

我尝试了以下代码但出现了以下错误。

Outputs:
  LoadBalancer:
    Description: A reference to the Application Load Balancer/ARN
    Value: 
      'Fn::GetAtt': [ LoadBalancer, Arn ]

Error Template validation error: Template error: resource LoadBalancer does not support attribute type Arn in Fn::GetAtt

对于 ALBs 以下代码有效。但对于经典 ELB,它只是 returns 名称。

Outputs:
  LoadBalancer:
    Description: A reference to the Application Load Balancer/ARN
    Value: !Ref LoadBalancer
    Export: 
      Name: SO-LoadBalancer

经典 ELB 没有作为 return value, you can construct your own Classic ELB's ARN 的 ARN 并导出它。

Outputs:
  LoadBalancer:
    Description: A reference to the Classic Load Balancer/ARN
    Value: !Sub 'arn:aws:elasticloadbalancing:${AWS::Region}:${AWS::AccountId}:loadbalancer/${LoadBalancer}'
    Export: 
      Name: SO-LoadBalancer