November 18, 2020 / Eternal Team
Elastic Network Interface is an essentially a virtual network card. A virtual network card (ENI in this scenario) is automatically attached to your EC2 instance when you provision one.
It basically allows a primary private IPv4 address, from the IPv4 address range of your VPC.
And it also allows one or more secondary private IPv4 addresses from the IPv4 address range of your VPC. With an ENI you get one elastic IP address, per private IPv4 address. And your ENI will have one or more security groups through which you can get a MAC address as well.
Enhanced Networking Interface uses what’s called single root I/O virtualization or SR-IOV, to provide high-performance networking capabilities to the supported instance types.SR-IOV is a method of device virtualization, that provides higher IO performance and lower CPU utilization,
Enhanced Networking is required for higher bandwidth, a higher number of packets per second performance. So depending on your instance type, Enhanced Networking can be enabled using two methodologies:
1. Elastic Fabric Adapter
It supports network speeds of up to 100 gigabits per second for supported instance types.
2. Intel 82599 Virtual Function, or VF interface
Which supports network speeds of up to 10 gigabits per second, for supported instance types (like C3, C4, D2, I2, M4 (excluding m4. 16xlarge).
Elastic Fabric Adapter
It is a network device that you attach to your EC2 instance to accelerate High-Performance Compute, mostly used in the machine learning applications. (P instance family type)
EFA will use OS-bypass. It enables high performance-compute and machine learning applications to bypass the operating system kernel and to communicate directly with the EFA device. It makes it a lot faster with a lot lower latency.
Note: It’s not supported on Windows currently, it’s only supported with Linux.