EC2 Network Interfaces: ENI vs ENA vs EFA Complete Comparison
Compare AWS EC2's three network interfaces ENI, ENA, and EFA. Learn the differences and use cases for each. Essential concepts for SAA-C03 exam.
Related Exam Domains
- Design High-Performing Architectures
Key Takeaway
ENI is the basic virtual network card (~10Gbps), ENA provides Enhanced Networking (up to 100Gbps), and EFA is an ultra-high-speed interface for HPC/ML (with OS bypass). Exams frequently test use cases and performance differences for each interface.
Exam Tip
Exam Favorite: "Which network interface for High Performance Computing (HPC) workloads?" → EFA. "Need 100Gbps networking on EC2?" → Choose ENA-supported instances.
1. ENI (Elastic Network Interface)
Concept
ENI is a logical networking component representing a virtual network card in a VPC. Every EC2 instance has at least one ENI (the primary network interface).
Key Characteristics
| Attribute | Description |
|---|---|
| Bandwidth | Up to ~10Gbps (varies by instance type) |
| Support | All EC2 instances |
| Portability | Can be detached/attached between instances in same AZ |
| Multi-attach | Multiple ENIs can be attached per instance |
ENI Attributes
Attributes included in an ENI:
- Private IPv4 addresses (primary + secondary)
- Public IPv4 address (optional)
- Elastic IP address
- IPv6 addresses
- Security groups (one or more)
- MAC address
- Source/destination check flag
Use Cases
┌─────────────────────────────────────────────────────────┐
│ ENI Use Scenarios │
├─────────────────────────────────────────────────────────┤
│ 1. Management Network Separation │
│ - ENI-1: Public traffic (web) │
│ - ENI-2: Private traffic (management/monitoring) │
│ │
│ 2. Failover │
│ - Move ENI to standby instance on failure │
│ - Quick recovery while preserving IP address │
│ │
│ 3. License Management │
│ - MAC address-based licenses │
│ - Move ENI to retain license │
└─────────────────────────────────────────────────────────┘
2. ENA (Elastic Network Adapter)
Concept
ENA is a next-generation network interface that provides Enhanced Networking. It uses SR-IOV (Single Root I/O Virtualization) technology to deliver high throughput and low latency.
What is SR-IOV?
┌─────────────────────────────────────────────────────────┐
│ Standard Virtualization vs SR-IOV │
├───────────────────────┬─────────────────────────────────┤
│ Standard Virtualization │ SR-IOV │
├───────────────────────┼─────────────────────────────────┤
│ VM → Hypervisor → │ VM → Physical NIC │
│ Physical NIC │ (Direct access) │
│ │ │
│ [Overhead exists] │ [Minimized overhead] │
│ High CPU usage │ Low CPU usage │
│ Latency present │ Minimized latency │
└───────────────────────┴─────────────────────────────────┘
Key Characteristics
| Attribute | Description |
|---|---|
| Bandwidth | Up to 100Gbps |
| Support | Most current-generation instances |
| Latency | Consistently low latency |
| PPS | High packets per second throughput |
Verifying ENA Support
# Check ENA driver on Linux
modinfo ena
# Check if instance supports ENA
aws ec2 describe-instances --instance-ids i-1234567890abcdef0 \
--query "Reservations[].Instances[].EnaSupport"
Use Cases
- Big data analytics: Large-scale data transfer
- Video processing: High-bandwidth streaming
- Distributed computing: Fast inter-node communication
- Database clusters: Low latency requirements
Exam Tip
Exam Point: ENA is available at no additional cost on supported instances. It's automatically enabled without explicit activation.
3. EFA (Elastic Fabric Adapter)
Concept
EFA is a network interface designed for HPC (High Performance Computing) and Machine Learning workloads. It adds OS bypass capability to all ENA features.
What is OS Bypass?
┌─────────────────────────────────────────────────────────┐
│ OS Bypass Concept │
├───────────────────────┬─────────────────────────────────┤
│ Standard Networking │ OS Bypass │
├───────────────────────┼─────────────────────────────────┤
│ Application │ Application │
│ ↓ │ ↓ │
│ OS Kernel │ [Bypass] │
│ ↓ │ ↓ │
│ Network Driver │ Network Hardware │
│ ↓ │ │
│ Network Hardware │ → Dramatically reduced │
│ │ latency │
└───────────────────────┴─────────────────────────────────┘
Key Characteristics
| Attribute | Description |
|---|---|
| Bandwidth | 100Gbps+ |
| Latency | Consistent sub-15μs latency |
| OS Bypass | Supported (Linux only) |
| Protocol | SRD (Scalable Reliable Datagram) |
Limitations
| Limitation | Description |
|---|---|
| OS Support | Linux only (Windows not supported) |
| Subnet | Communication within single subnet only |
| Attachment | Can only be added at instance launch or when stopped |
| Instance Types | Only specific instances supported (p4d, c5n, m5n, etc.) |
Use Cases
┌─────────────────────────────────────────────────────────┐
│ EFA Primary Use Cases │
├─────────────────────────────────────────────────────────┤
│ High Performance Computing (HPC) │
│ - Computational Fluid Dynamics (CFD) │
│ - Weather/climate simulations │
│ - Molecular dynamics simulations │
│ │
│ Machine Learning │
│ - Distributed deep learning training │
│ - Large model training (GPU clusters) │
│ │
│ MPI-based Applications │
│ - Tightly coupled parallel processing │
│ - High-speed inter-node communication required │
└─────────────────────────────────────────────────────────┘
4. ENI vs ENA vs EFA Comparison
Key Comparison Table
| Attribute | ENI | ENA | EFA |
|---|---|---|---|
| Bandwidth | ~10Gbps | Up to 100Gbps | 100Gbps+ |
| Latency | Standard | Low | Ultra-low (15μs) |
| OS Bypass | No | No | Yes |
| SR-IOV | No | Yes | Yes |
| OS Support | All OS | All OS | Linux only |
| Subnet Limit | None | None | Single subnet |
| Additional Cost | None | None | None |
Selection Flowchart
Start
│
├── General web/app server? ─────────────→ ENI
│
├── Need high bandwidth? (Big data, video)
│ │
│ └── 100Gbps or less ─────────────→ ENA
│
└── HPC/ML workload?
│
├── Using MPI? ──────────────────→ EFA
│
├── Distributed deep learning? ──→ EFA
│
└── Need ultra-low inter-node ───→ EFA
latency?
Recommendations by Use Case
| Use Case | Recommended Interface | Reason |
|---|---|---|
| Web server | ENI | Standard performance sufficient |
| API server | ENI/ENA | Choose based on traffic |
| Database | ENA | Low latency |
| Big data analytics | ENA | High bandwidth needed |
| Video streaming | ENA | High throughput |
| Weather simulation | EFA | HPC workload |
| Distributed ML training | EFA | GPU cluster communication |
5. Hands-on: Verifying ENA Support
Using AWS CLI
# Check if instance supports ENA
aws ec2 describe-instances \
--instance-ids i-0123456789abcdef0 \
--query 'Reservations[*].Instances[*].EnaSupport'
# Check if AMI supports ENA
aws ec2 describe-images \
--image-ids ami-0123456789abcdef0 \
--query 'Images[*].EnaSupport'
Checking from Within Instance
# Check ENA driver is loaded (Linux)
ethtool -i eth0 | grep driver
# Example output
# driver: ena
SAA-C03 Exam Focus Points
Common Question Types
-
Scenario-based Selection
- "Which network interface for HPC cluster?" → EFA
- "Need 100Gbps throughput for big data analytics?" → ENA
-
Limitation Questions
- "Which OS does EFA support for OS bypass?" → Linux only
- "Can EFA-enabled instance move to different subnet?" → No
-
Cost Questions
- "Additional cost for using ENA?" → None (free on supported instances)
Exam Tip
Key Memorization:
- ENI = Basic (all instances)
- ENA = Enhanced (SR-IOV, 100Gbps)
- EFA = Extreme (OS bypass, HPC/ML)
FAQ
Q1: Is there an additional cost for ENA and EFA?
No. Both interfaces are available at no additional cost on supported instances. However, EFA-supported instances are typically high-spec, so instance costs themselves may be higher.
Q2: Can I use ENI and EFA simultaneously on one instance?
Yes. EFA includes all ENI functionality, so attaching an EFA interface enables both standard TCP/IP communication and OS bypass communication.
Q3: Can I use EFA on Windows?
EFA's TCP/IP functionality works on Windows, but OS bypass is only supported on Linux. If you need the key HPC benefit of OS bypass, use Linux.
Q4: How do I enable Enhanced Networking?
On most current-generation instances, it's automatically enabled. To enable on older instances:
- Use an ENA-supported AMI
- Install ENA driver on the instance
- Run
aws ec2 modify-instance-attribute --ena-support
Summary
Choose EC2 network interfaces based on workload characteristics:
- General workloads: ENI (default)
- High-throughput workloads: ENA (Enhanced Networking)
- HPC/ML workloads: EFA (OS bypass)
Exams frequently test distinguishing features and use cases for each interface, so clearly understand the key differences.