You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CloudFormation获取负载均衡LB的DNS名称

CloudFormation输出负载均衡DNS名称实现方法

完全可以实现,你只需要在CloudFormation模板的Outputs段落引用负载均衡资源的DNSName返回属性即可,以下是具体配置示例:

1. 模板配置示例

针对ALB/NLB(v2版负载均衡,资源类型为AWS::ElasticLoadBalancingV2::LoadBalancer)

Resources:
  # 你的负载均衡资源定义,此处逻辑名为MyLoadBalancer,可自定义
  MyLoadBalancer:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      # 此处替换为你实际的LB配置参数
      Scheme: internet-facing
      Subnets:
        - subnet-xxxx1
        - subnet-xxxx2
      SecurityGroups:
        - sg-xxxxxx

Outputs:
  LoadBalancerDNSName:
    Description: 负载均衡公网/内网DNS访问地址
    Value: !GetAtt MyLoadBalancer.DNSName
    # 可选配置:如果需要跨CloudFormation栈引用该值,可添加Export段
    # Export:
    #   Name: !Sub ${AWS::StackName}-LBDNS

针对经典负载均衡CLB(资源类型为AWS::ElasticLoadBalancing::LoadBalancer)

配置逻辑和上述一致,仅资源类型有差异,Outputs段引用逻辑名+DNSName属性即可生效。

2. 获取输出值的方式

  • 控制台获取:栈部署完成后,在CloudFormation控制台对应栈的「输出」标签页即可直接查看该DNS值
  • CLI获取:执行以下命令直接提取返回值
    aws cloudformation describe-stacks --stack-name 替换为你的栈名 --query "Stacks[0].Outputs[?OutputKey=='LoadBalancerDNSName'].OutputValue" --output text

注意事项

  • !GetAtt后跟随的负载均衡逻辑名必须和Resources段定义的LB逻辑名完全一致,拼写错误会导致栈部署失败
  • 内网LB输出的DNS为内网解析地址,仅对应VPC内可访问;公网LB输出的DNS为公网可访问地址

内容的提问来源于stack exchange,提问作者DlekaShelHaHaim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:45:09