SAABlog
ComputeIntermediate

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.

PHILOLAMB-Updated: January 31, 2026
EC2ENIENAEFANetworkingEnhanced Networking

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

AttributeDescription
BandwidthUp to ~10Gbps (varies by instance type)
SupportAll EC2 instances
PortabilityCan be detached/attached between instances in same AZ
Multi-attachMultiple 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

AttributeDescription
BandwidthUp to 100Gbps
SupportMost current-generation instances
LatencyConsistently low latency
PPSHigh 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

AttributeDescription
Bandwidth100Gbps+
LatencyConsistent sub-15μs latency
OS BypassSupported (Linux only)
ProtocolSRD (Scalable Reliable Datagram)

Limitations

LimitationDescription
OS SupportLinux only (Windows not supported)
SubnetCommunication within single subnet only
AttachmentCan only be added at instance launch or when stopped
Instance TypesOnly 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

AttributeENIENAEFA
Bandwidth~10GbpsUp to 100Gbps100Gbps+
LatencyStandardLowUltra-low (15μs)
OS BypassNoNoYes
SR-IOVNoYesYes
OS SupportAll OSAll OSLinux only
Subnet LimitNoneNoneSingle subnet
Additional CostNoneNoneNone

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 CaseRecommended InterfaceReason
Web serverENIStandard performance sufficient
API serverENI/ENAChoose based on traffic
DatabaseENALow latency
Big data analyticsENAHigh bandwidth needed
Video streamingENAHigh throughput
Weather simulationEFAHPC workload
Distributed ML trainingEFAGPU 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

  1. Scenario-based Selection

    • "Which network interface for HPC cluster?" → EFA
    • "Need 100Gbps throughput for big data analytics?" → ENA
  2. Limitation Questions

    • "Which OS does EFA support for OS bypass?" → Linux only
    • "Can EFA-enabled instance move to different subnet?" → No
  3. 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:

  1. Use an ENA-supported AMI
  2. Install ENA driver on the instance
  3. 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.

References