获取 ELB ARN 作为输出

SAU*_*AUJ 1 amazon-web-services amazon-elb aws-cloudformation

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

我尝试了以下错误的代码。

Outputs:
  LoadBalancer:
    Description: A reference to the Application Load Balancer/ARN
    Value: 
      'Fn::GetAtt': [ LoadBalancer, Arn ]
Run Code Online (Sandbox Code Playgroud)

错误模板验证错误:模板错误:资源 LoadBalancer 不支持 Fn::GetAtt 中的属性类型 Arn

对于ALB,以下代码有效。但是对于经典 ELB,它只返回名称。

Outputs:
  LoadBalancer:
    Description: A reference to the Application Load Balancer/ARN
    Value: !Ref LoadBalancer
    Export: 
      Name: SO-LoadBalancer
Run Code Online (Sandbox Code Playgroud)

Sud*_*ran 5

经典 ELB 没有 ARN 作为返回值,您可以构建自己的经典 ELB 的 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
Run Code Online (Sandbox Code Playgroud)