1

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

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

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

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

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

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

1 回答 1

5

Classic ELB 没有 ARN 作为返回值,您可以构建自己的Classic 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
于 2018-05-02T13:01:23.703 回答