如何取消Auto Scaling Group自动分配公网IP的设置
EC2实例自动分配公网IP的配置不属于Auto Scaling Group(ASG)的直接设置项,由ASG绑定的启动模板/启动配置、实例部署子网的默认配置共同决定,按以下步骤操作即可关闭该配置:
操作步骤
1 确认ASG关联的启动资源类型
- 登录AWS EC2控制台,左侧导航栏进入「Auto Scaling」-「Auto Scaling 组」,找到目标ASG进入详情页
- 在「详细信息」标签页中找到「启动模板」或「启动配置」字段,记录对应资源的名称
2 根据启动资源类型修改配置
2.1 场景:ASG使用启动模板(Launch Template)
启动模板支持版本迭代,无需重建ASG即可生效:
- 左侧导航栏进入「实例」-「启动模板」,找到刚才记录的启动模板进入详情
- 点击右上角「修改模板(创建新版本)」
- 下拉找到「网络设置」板块,将「自动分配公网IP」选项设置为禁用
- 其余配置保持与原有版本完全一致,填写版本描述后点击「创建启动模板版本」
- 回到ASG详情页,点击右上角「更新」,在「启动模板」配置区域将版本切换为刚刚创建的新版本,保存ASG更新即可
如果使用AWS CLI操作,创建新版本的核心命令参考:
aws ec2 create-launch-template-version \ --launch-template-name <你的启动模板名称> \ --source-version <原有生效版本号> \ --launch-template-data '{"NetworkInterfaces": [{"DeviceIndex": 0, "AssociatePublicIpAddress": false}]}'
注意:已在运行的存量实例不会自动调整公网IP配置,仅后续新扩容的实例会遵循新配置。如需统一存量实例配置,可手动终止存量实例,ASG会按新配置自动拉起符合要求的新实例,也可手动解绑存量实例的已有公网IP。
2.2 场景:ASG使用启动配置(Launch Configuration)
旧版启动配置不支持修改,需要新建配置替换原有配置:
- 左侧导航栏进入「实例」-「启动配置」,找到原有启动配置,点击右上角「复制启动配置」
- 在编辑页中下拉到「详细信息」-「IP 地址类型」板块,取消勾选「为实例分配公有 IP 地址」
- 确认其余所有配置(实例类型、系统镜像、安全组、IAM角色、用户数据等)与原配置完全一致后,保存新的启动配置
- 回到ASG详情页,点击右上角「更新」,在「启动配置」区域选择刚刚创建的新启动配置,保存更新即可
3 额外排查:子网默认公网IP分配配置
如果修改完上述配置后,新创建的实例仍然被分配公网IP,需要检查子网的默认配置:
- 进入AWS VPC控制台,找到ASG关联的部署子网进入详情
- 查看「自动分配公有 IPv4 地址」属性,如果取值为「是」,点击「操作」-「修改自动分配 IP 设置」,取消勾选「自动分配公有 IPv4 地址」后保存即可
内容的提问来源于stack exchange,提问作者Cyril N.
相关产品推荐
相关产品推荐

