DevOps专业术语
ENI
Elastic Network Interface
弹性网络接口 · AWS 虚拟网卡,云上网络的原子单元
云平台网络容器/K8s
ENI
- 定义
- ENI(Elastic Network Interface)是DevOps领域的专业术语。ENI 是 AWS VPC 中的逻辑网络组件,相当于一张虚拟网卡。
最后更新:2026-04-15
什么是ENI?
ENI 是 AWS VPC 中的逻辑网络组件,相当于一张虚拟网卡。每个 EC2 实例启动时自动获得一个主 ENI(eth0),还可以挂载额外 ENI 实现多 IP、多子网或故障切换。Lambda、ECS Fargate、RDS 等服务底层也依赖 ENI 接入 VPC 网络。
- 每个 ENI 独立绑定私有 IP、安全组和 MAC 地址——可在实例间热迁移
- 实例可挂载的 ENI 数量和每个 ENI 的 IP 数量由实例类型决定
- Lambda VPC 模式使用 Hyperplane ENI,单个 VPC 软限制 250 个
ENI详解
ENI 是 AWS 网络架构的原子单元,承载私有/公有 IP 地址分配、安全组绑定、MAC 地址和流量路由。主 ENI(eth0)随实例创建,不可分离;辅助 ENI 可动态挂载和卸载,支持跨实例热迁移——这是实现高可用故障切换的关键机制。在容器场景中,ECS Fargate 为每个任务分配独立 ENI 实现网络隔离;Lambda 的 VPC 接入则使用共享的 Hyperplane ENI 以减少冷启动延迟。ENI 还衍生出 ENA(增强网络适配器,最高 200Gbps)和 EFA(弹性 Fabric 适配器,用于 HPC/AI 训练的超低延迟通信)两种增强形态。
公式提示
可挂载 ENI 数 × 每 ENI 的 IP 数 = 实例的最大私有 IP 容量(查 AWS 文档按实例类型确认)
ENI的应用场景
正式定义
AWS VPC 中代表虚拟网卡的逻辑网络组件,承载 IP 地址、安全组和路由配置。
应用场景
- 高可用架构中将 ENI(及其 IP)从故障实例热迁移到备用实例
- 单实例多 ENI 实现管理网络与业务网络分离
- ECS Fargate 任务级网络隔离,每个任务独立 ENI 和安全组
常见误区
- ENI 只是 EC2 的概念——实际上 Lambda、ECS、RDS、ELB 等服务底层都依赖 ENI
- 删除实例后 ENI 自动清理——辅助 ENI 不会随实例终止而删除,需手动清理避免资源泄漏
实际案例
📌 基于 ENI 迁移的数据库故障切换
将承载数据库 VIP 的辅助 ENI 从故障主节点卸载,挂载到备用节点。客户端无需更改连接地址即可恢复服务,切换时间通常在秒级。
ENI的参考来源
关于ENI的常见问题
- 一个 EC2 实例最多能挂几个 ENI
- 取决于实例类型和大小。例如 t3.micro 最多 2 个,m5.xlarge 最多 4 个。具体数值查 AWS 官方文档的实例类型规格表。
- ENI 和 ENA 有什么区别
- ENI 是虚拟网卡(逻辑组件),ENA 是增强网络驱动(性能优化)。ENA 运行在 ENI 之上,提供最高 200Gbps 带宽和更低延迟。
- Lambda 函数需要 ENI 吗
- 只有配置了 VPC 访问的 Lambda 才需要。AWS 使用共享的 Hyperplane ENI 而非每函数独占,单 VPC 软限制 250 个。