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

CDK/Python 如何获取CDK创建的负载均衡等资源的ARN

AWS CDK获取负载均衡ARN报错解决方案

问题根因

你遇到的报错由两个拼写及属性调用错误导致:

  • 负载均衡逻辑ID大小写不匹配:你创建CfnLoadBalancer时传入的逻辑ID是"LB"(大写B),但调用core.Fn.ref()时传入的是"Lb"(小写b),CloudFormation逻辑ID大小写敏感,因此无法找到对应资源。
  • 目标组ARN属性调用错误:CfnTargetGroup不存在listenerArn属性,需调用对应属性获取ARN。

修正方案

你可以直接通过CDK资源实例的内置属性获取ARN,无需手动写core.Fn.ref传入逻辑ID,避免拼写错误,修正后代码如下:

# 原负载均衡创建代码无需修改
lb = lbv2.CfnLoadBalancer(self, "LB",
                                    name = config.loadbalancer.name,
                                    scheme= "internet-facing",
                                    security_groups=[core.Fn.ref(config.loadbalancer.sgname)],
                                    subnets = [public_subnets[0],public_subnets[1]],
                                    type = config.loadbalancer.type
                                    )

# 修正后的监听器代码
lb_listeners= lbv2.CfnListener(self, "LBlisteners",
                                       default_actions = [{"Type":"forward","TargetGroupArn":target_groups.attr_target_group_arn, "Order" : 1}],
                                       load_balancer_arn = lb.ref
                                       )

注:如果你使用的是L2层级的TargetGroup构造(非Cfn开头的L1构造),目标组ARN需替换为target_groups.target_group_arn。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 12:39:03