阿里云没有叫“公网网卡”的独立产品。大家说的公网网卡,通常是两类东西:一类是创建ECS时直接分配的公网IP,另一类是给弹性网卡(ENI)绑定的弹性公网IP(EIP)。两者都能让服务器被外网访问,主要区别在于地址能不能脱离实例单独使用。

两种公网IP怎么选
- 实例自带公网IP:建机器时勾选就有,实例释放后地址跟着回收,没法单独拿出来迁移。
- 弹性公网IP(EIP):独立存在,可以解绑后绑到另一台实例或另一块弹性网卡上。需要固定出口地址,或者故障时要快速切换,选它更省事。
如果客户端已经记住了某个IP,或者业务对地址变化很敏感,就用“弹性网卡加EIP”的组合。只是临时测试的机器,实例自带的公网IP一般够用。
配置步骤
- 新建弹性网卡:在专有网络VPC控制台创建弹性网卡,交换机要选和目标ECS相同的那个,也就是同一个可用区,否则后面挂不上。
- 挂载到ECS:把网卡挂到目标实例上。每种规格能挂的网卡数量不一样,有些规格需要先停机。具体以控制台提示和官方文档为准,别凭印象操作。
- 申请EIP并绑定:申请弹性公网IP,绑定到弹性网卡的私有IP上。
- 在系统里配置网卡:控制台分配了地址,不代表系统已经用上。Linux下可以用netplan、NetworkManager或ip命令给这块网卡配置IP,并确认网卡处于启用状态。配完用ip addr查一下,别只看控制台。
- 检查安全组:安全组要和弹性网卡的关联关系一起看。需要对外的端口确认已经放行,其他端口保持关闭。
案例一:故障切换时地址不变
某在线教育团队的直播信令服务跑在一台ECS上,客户端通过固定公网IP连接,这个IP写在了App配置里。团队没有使用实例自带的公网IP,而是创建了一块弹性网卡并绑定EIP。
实例出故障时,运维人员把弹性网卡从故障机上分离,挂到同可用区的备用实例上,再在系统里配好网卡。公网地址没有变,客户端不用改配置,也不用等DNS缓存过期。
这套做法有两个前提。备用实例必须和弹性网卡在同一个可用区。另外,备用机的系统配置要提前准备好,否则切换时间大半会耗在配置网卡上。
案例二:业务流量和管理流量分开走
某电商团队的应用服务器有两块网卡。主网卡负责内网通信,并绑定EIP对外提供HTTPS服务。辅助网卡只有内网地址,用于堡垒机登录和上报监控数据,不对公网开放。
上线初期出过一个问题:公网请求从主网卡进来,回包却从辅助网卡的默认路由发出,客户端连接一直超时。后来团队为辅助网卡单独配置了路由表和策略路由,让源地址为辅助网卡IP的流量从它自己的网关返回。修改后,公网访问恢复,管理流量和业务流量也互不干扰。
如果业务对中断比较敏感,建议正式使用前先演练一次挂载和切换流程。第一次操作时,最好有人同时盯着监控和系统日志。
注意事项
- 先解绑再释放:EIP还绑定着资源时无法直接释放。删机器或更换地址前,先在控制台解绑,别等报错了再回头找。
- 提前算带宽和流量费:EIP的带宽和流量单独计费。按流量计费时,把带宽上限设在业务真实峰值附近,避免一次异常流量带来一笔意外账单。
- 多网卡一定验回包路径:挂上第二块网卡后,系统默认路由可能发生变化。分别从公网和内网各测一次,确认回包从哪块网卡发出,不能只看能不能连上。
- 公网暴露面尽量小:只为确实需要对外的服务绑定公网地址。SSH、数据库和监控端口优先走内网或堡垒机,不要图省事直接放开。