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 an instance based on the Nitro system.
-
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.
Note
We require TLS 1.2 and recommend TLS 1.3. Your client must meet this requirement to
download from Amazon Simple Storage Service (Amazon S3). For more information, see TLS
1.2 to become the minimum TLS protocol level for all AWS API
endpoints
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.
Install or upgrade Elastic Network Adapter (ENA) driver
If your instance isn't based on one of the latest Windows Amazon Machine Images (AMIs) that Amazon provides, use the following procedure to install the current ENA driver on your instance. You should perform this update at a time when it’s convenient to reboot your instance. If the install script doesn’t automatically reboot your instance, we recommend that you reboot the instance as the final step.
If you use an instance store volume to store data while the instance is running, that data is erased when you stop the instance. Before you stop your instance, verify that you've copied any data that you need from your instance store volumes to persistent storage, such as Amazon EBS or Amazon S3.
Prerequisites
To install or upgrade the ENA driver, your Windows instance must meet the following prerequisites:
-
Have PowerShell version 3.0 or later installed
Step 1: Back up your data
We recommend that you create a backup AMI, in case you're not able to roll back your changes through the Device Manager. To create a backup AMI with the AWS Management Console, follow these steps:
-
Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/
. -
In the navigation pane, choose Instances.
-
Select the instance that requires the driver upgrade, and choose Stop instance from the Instance state menu.
-
After the instance is stopped, select the instance again. To create your backup, choose Image and templates from the Actions menu, then choose Create image.
-
To restart your instance, choose Start instance from the Instance state menu.
Step 2: Install or upgrade your ENA driver
You can install or upgrade your ENA driver with AWS Systems Manager Distributor, or with PowerShell cmdlets. For further instructions, select the tab that matches the method that you want to use.
Step 3 (optional): Verify the ENA driver version after installation
To ensure that the ENA driver package was successfully installed on your instance, you can verify the new version as follows:
-
Connect to your instance and log in as the local administrator.
-
To open the Windows Device Manager, enter
devmgmt.msc
in the Run box. -
Choose OK. This opens the Device Manager window.
-
Select the arrow to the left of Network adapters to expand the list.
-
Choose the name, or open the context menu for the Amazon Elastic Network Adapter, and then choose Properties. This opens the Amazon Elastic Network Adapter Properties dialog.
Note
ENA adapters all use the same driver. If you have multiple ENA adapters, you can select any one of them to update the driver for all of the ENA adapters.
-
To verify the current version that's installed, open the Driver tab and check the Driver Version. If the current version doesn't match your target version, see Troubleshoot the Elastic Network Adapter (ENA) Windows driver.
Roll back an ENA driver installation
If anything goes wrong with the installation, you might need to roll back the driver. Follow these steps to roll back to the previous version of the ENA driver that was installed on your instance.
-
Connect to your instance and log in as the local administrator.
-
To open the Windows Device Manager, enter
devmgmt.msc
in the Run box. -
Choose OK. This opens the Device Manager window.
-
Select the arrow to the left of Network adapters to expand the list.
-
Choose the name, or open the context menu for the Amazon Elastic Network Adapter, and then choose Properties. This opens the Amazon Elastic Network Adapter Properties dialog.
Note
ENA adapters all use the same driver. If you have multiple ENA adapters, you can select any one of them to update the driver for all of the ENA adapters.
-
To roll back the driver, open the Driver tab and choose Roll Back Driver. This opens the Driver Package rollback window.
Note
If the Driver tab doesn't show the Roll Back Driver action, or if the action is unavailable, it means that the Driver Store
on your instance doesn't contain the previously installed driver package. To troubleshoot this issue, see Troubleshooting scenarios, and expand the Unexpected ENA driver version installed section. For more information about the device driver package selection process, see How Windows selects a driver package for a device on the Microsoft documentation website.
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 | 2.6.0 and earlier |
Windows Server 2012 | 2.6.0 and earlier |
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 Fixes
|
June 20, 2023 | |
2.5.0 |
AnnouncementENA Windows driver version 2.5.0 has been rolled back due to failure to initialize on the Windows domain controller. Windows Client and Windows Server are unaffected. |
February 17, 2023 |
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 | |
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.