为何EC2 Auto Scaling仅支持Classic Load Balancers?技术问询
为什么我的Auto Scaling组创建时要求选择Classic Load Balancer,而我想用ALB?
这个问题我之前帮同事排查过,核心原因是Auto Scaling组(ASG)与ALB/Classic LB的关联逻辑不一样,你可能在创建ASG时没找对正确的配置入口,不是ASG不支持ALB哦!
下面拆解原因和解决步骤:
关联方式的本质区别
Classic Load Balancer是旧一代负载均衡器,ASG是直接把实例注册到LB本身;而Application Load Balancer(ALB)/Network Load Balancer(NLB)是通过**目标组(Target Group)**来管理后端实例的,ASG需要关联的是目标组,而不是ALB实例本身。你可能踩了这个操作坑
在创建ASG的流程中,当走到“负载均衡器和目标组”配置步骤时,默认可能显示的是“Classic Load Balancers”的选择项,但你需要切换到**“附加到目标组”**的选项,然后选择你之前为ALB创建的目标组即可——很多人会忽略这个切换,误以为只能选Classic LB。额外确认点
如果你还是看不到目标组选项,检查两个地方:- 你的ALB是否已经创建了对应的目标组(ALB必须绑定至少一个目标组才能和ASG配合);
- 你的IAM角色是否有足够权限让ASG访问目标组(比如
elasticloadbalancing:RegisterTargets等权限),不过这个情况比较少见,大部分时候都是操作流程的问题。
总结一下:ASG完全支持ALB/NLB,只是关联的是目标组而非LB实例,别在Classic LB的选项里死磕,切换到目标组的配置入口就可以啦!
内容的提问来源于stack exchange,提问作者Molay
相关产品推荐
相关产品推荐

