如何创建拥有相同公网IP的两台EC2实例?求可行实现方案
可行方案汇总
方案1:同一公网子网部署两台EC2
这是最直接的实现方式:
- 创建一个VPC,再创建带公网路由的子网(路由表需包含
0.0.0.0/0指向互联网网关IGW) - 子网属性里开启自动分配IPv4地址(设置为“是”)
- 将两台EC2实例都部署在这个子网中,创建后会自动获取公网IP
- 默认安全组允许同组内实例互相访问,两台机器天然处于同一网络,可直接通信,同时都能访问公网
方案2:给私网子网的EC2绑定弹性公网IP(EIP)
如果想保留公网/私网子网的架构,手动绑定EIP即可解决私网实例无公网IP的问题:
- 在EC2控制台创建一个与VPC同区域的弹性公网IP
- 找到私网子网内的EC2实例,通过“操作”菜单选择“关联弹性IP地址”完成绑定
- 确保私网子网的路由表已配置
0.0.0.0/0指向NAT网关(你已完成此配置),绑定后实例即可正常访问公网 - 同一VPC下的实例无论处于公网还是私网子网,都属于同一网络,安全组放行后即可互相通信
方案3:修改私网子网的自动分配公网IP属性
你之前的私网实例未获取到公网IP,大概率是子网的自动分配开关未开启,调整即可:
- 进入VPC控制台,找到目标私网子网,打开“编辑子网设置”
- 将“自动分配IPv4地址”修改为“是”
- 重启或重新创建私网子网内的EC2实例,新实例会自动获取公网IP
- 此方式无需额外绑定EIP,适合需要临时公网访问的场景
补充说明:同一VPC下的所有子网默认同属一个CIDR块,属于同一网络,只要安全组和网络ACL放行,实例之间即可互相通信;公网访问能力仅与实例是否持有公网IP、路由表配置相关。
内容的提问来源于stack exchange,提问作者rockym
相关产品推荐
相关产品推荐

