Enable enhanced networking with the Elastic Network Adapter (ENA) on Windows instances
Amazon EC2 provides enhanced networking capabilities through the Elastic Network Adapter (ENA). To use enhanced networking, you must install the required ENA module and enable ENA support.
Contents
Requirements
To prepare for enhanced networking using the ENA, set up your instance as follows:
-
Launch the instance using a current generation instance type, other than C4, D2, M4 instances smaller than
m4.16xlarge
, or T2. -
If the instance is running Windows Server 2008 R2 SP1, ensure that is has the SHA-2 code signing support update
. -
Ensure that the instance has internet connectivity.
-
Use AWS CloudShell
from the AWS Management Console, or install and configure the AWS CLI or the AWS Tools for Windows PowerShell on any computer you choose, preferably your local desktop or laptop. For more information, see Access Amazon EC2 or the AWS CloudShell User Guide. Enhanced networking cannot be managed from the Amazon EC2 console. -
If you have important data on the instance that you want to preserve, you should back that data up now by creating an AMI from your instance. Updating kernels and kernel modules, as well as enabling the
enaSupport
attribute, might render incompatible instances or operating systems unreachable. If you have a recent backup, your data will still be retained if this happens.
Enhanced networking performance
The following documentation provides a summary of the network performance for the instance types that support ENA enhanced networking:
Test whether enhanced networking is enabled
To test whether enhanced networking is already
enabled, verify that the
driver is installed on your instance and that
the enaSupport
attribute is set.
Instance attribute (enaSupport)
To check whether an instance has the enhanced networking
enaSupport
attribute set, use one of the following commands. If
the attribute is set, the response is true.
-
describe-instances (AWS CLI/AWS CloudShell)
aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance (Tools for Windows PowerShell)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
Image attribute (enaSupport)
To check whether an AMI has the enhanced networking enaSupport
attribute set, use one of the following commands. If the attribute is set, the
response is true.
-
describe-images (AWS CLI/AWS CloudShell)
aws ec2 describe-images --image-id
ami_id
--query "Images[].EnaSupport" -
Get-EC2Image (Tools for Windows PowerShell)
(Get-EC2Image -ImageId
ami_id
).EnaSupport
Enable enhanced networking on Windows
If you launched your instance and it does not have enhanced networking enabled
already, you must download and install the required network adapter driver on your
instance, and then set the enaSupport
instance attribute to activate
enhanced networking. You can only enable this attribute on supported instance types
and only if the ENA driver is installed. For more information, see Enhanced networking support.
To enable enhanced networking
-
Connect to your instance and log in as the local administrator.
-
[Windows Server 2016 and 2019 only] Run the following EC2Launch PowerShell script to configure the instance after the driver is installed.
PS C:\>
C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
-
From the instance, install the driver as follows:
-
Download
the latest driver to the instance. -
Extract the zip archive.
-
Install the driver by running the
install.ps1
PowerShell script.Note If you get an execution policy error, set the policy to
Unrestricted
(by default it is set toRestricted
orRemoteSigned
). In a command line, runSet-ExecutionPolicy -ExecutionPolicy Unrestricted
, and then run theinstall.ps1
PowerShell script again.
-
-
From your local computer, stop the instance using the Amazon EC2 console or one of the following commands: stop-instances (AWS CLI/AWS CloudShell), Stop-EC2Instance (AWS Tools for Windows PowerShell). If your instance is managed by AWS OpsWorks, you should stop the instance in the AWS OpsWorks console so that the instance state remains in sync.
-
Enable ENA support on your instance as follows:
-
From your local computer, check the EC2 instance ENA support attribute on your instance by running one of the following commands. If the attribute is not enabled, the output will be "[]" or blank.
EnaSupport
is set tofalse
by default.-
describe-instances (AWS CLI/AWS CloudShell)
aws ec2 describe-instances --instance-ids
instance_id
--query "Reservations[].Instances[].EnaSupport" -
Get-EC2Instance (Tools for Windows PowerShell)
(Get-EC2Instance -InstanceId
instance-id
).Instances.EnaSupport
-
-
To enable ENA support, run one of the following commands:
-
modify-instance-attribute (AWS CLI/AWS CloudShell)
aws ec2 modify-instance-attribute --instance-id
instance_id
--ena-support -
Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance_id
-EnaSupport $true
If you encounter problems when you restart the instance, you can also disable ENA support using one of the following commands:
-
modify-instance-attribute (AWS CLI/AWS CloudShell)
aws ec2 modify-instance-attribute --instance-id
instance_id
--no-ena-support -
Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)
Edit-EC2InstanceAttribute -InstanceId
instance_id
-EnaSupport $false
-
-
Verify that the attribute has been set to
true
using describe-instances or Get-EC2Instance as shown previously. You should now see the following output:[ true ]
-
-
From your local computer, start the instance using the Amazon EC2 console or one of the following commands: start-instances (AWS CLI/AWS CloudShell), Start-EC2Instance (AWS Tools for Windows PowerShell). If your instance is managed by AWS OpsWorks, you should start the instance using the AWS OpsWorks console so that the instance state remains in sync.
-
On the instance, validate that the ENA driver is installed and enabled as follows:
-
Right-click the network icon and choose Open Network and Sharing Center.
-
Choose the Ethernet adapter (for example, Ethernet 2).
-
Choose Details. For Network Connection Details, check that Description is Amazon Elastic Network Adapter.
-
-
(Optional) Create an AMI from the instance. The AMI inherits the
enaSupport
attribute from the instance. Therefore, you can use this AMI to launch another instance with ENA enabled by default. For more information, see Create a custom Windows AMI.
Amazon ENA driver versions
Windows AMIs include the Amazon ENA driver to enable enhanced networking.
The following table shows the corresponding ENA driver version to download for each Windows Server version.
Windows Server version | ENA driver version |
---|---|
Windows Server 2022 |
2.4.0 and later |
Windows Server 2019 |
latest |
Windows Server 2016 | latest |
Windows Server 2012 R2 | latest |
Windows Server 2012 | latest |
Windows Server 2008 R2 | 2.2.3 and earlier |
The following table summarizes the changes for each release.
Driver version | Details | Release date |
---|---|---|
New Features
Bug Fix
|
April 28, 2022 | |
2.2.4 |
AnnouncementENA Windows driver version 2.2.4 has been rolled back due to potential performance degradation on the sixth generation EC2 instances. We recommend that you downgrade the driver, using one of the following methods:
|
October 26, 2021 |
New Feature
Bug Fix
Windows ENA driver version 2.2.3 is the final version that supports Windows Server 2008 R2. Currently available instance types that use ENA will continue to be supported on Windows Server 2008 R2, and the drivers are available by download. No future instance types will support Windows Server 2008 R2, and you cannot launch, import, or migrate Windows Server 2008 R2 images to future instance types. |
March 25, 2021 | |
New Feature
Bug Fix
|
December 21, 2020 | |
New Feature
|
October 1, 2020 | |
New Features
Performance Optimizations
Bug Fix
|
August 12, 2020 | |
Bug Fix
|
June 23, 2020 | |
Bug Fixes
|
November 25, 2019 | |
New Feature
Bug Fixes
|
November 4, 2019 | |
Bug Fixes
|
September 16, 2019 | |
ENA Windows driver v2.1 introduces new ENA device capabilities,
provides a performance boost, adds new features, and includes
multiple stability improvements.
|
July 1, 2019 | |
|
October 4, 2018 | |
Includes reliability fixes and unifies support for Windows Server 2008 R2 through Windows Server 2016. |
February 13, 2018 | |
Includes some reliability fixes. Applies only to Windows Server 2008 R2. Not recommended for other versions of Windows Server. |
December 2016 | |
The initial release. Included in AMIs for Windows Server 2008 R2, Windows Server 2012 RTM, Windows Server 2012 R2, and Windows Server 2016. |
July 2016 |
Subscribe to notifications
Amazon SNS can notify you when new versions of EC2 Windows Drivers are released. Use the following procedure to subscribe to these notifications.
To subscribe to EC2 notifications
-
Open the Amazon SNS console at https://console.aws.amazon.com/sns/v3/home
. -
In the navigation bar, change the Region to US East (N. Virginia), if necessary. You must select this Region because the SNS notifications that you are subscribing to are in this Region.
-
In the navigation pane, choose Subscriptions.
-
Choose Create subscription.
-
In the Create subscription dialog box, do the following:
-
For TopicARN, copy the following Amazon Resource Name (ARN):
arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers
-
For Protocol, choose
Email
. -
For Endpoint, enter an email address that you can use to receive the notifications.
-
Choose Create subscription.
-
-
You'll receive a confirmation email. Open the email and follow the directions to complete your subscription.
Whenever new EC2 Windows drivers are released, we send notifications to subscribers. If you no longer want to receive these notifications, use the following procedure to unsubscribe.
To unsubscribe from Amazon EC2 Windows driver notification
-
Open the Amazon SNS console at https://console.aws.amazon.com/sns/v3/home
. -
In the navigation pane, choose Subscriptions.
-
Select the check box for the subscription and then choose Actions, Delete subscriptions. When prompted for confirmation, choose Delete.