Menu
Amazon Elastic Compute Cloud
User Guide for Windows Instances

Enabling Enhanced Networking with the Elastic Network Adapter (ENA) on Windows Instances in a VPC

To prepare for enhanced networking with the ENA network adapter, set up your instance as follows:

  • Launch the instance in a VPC. (You can't enable enhanced networking if the instance is in EC2-Classic.)

  • 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 Accessing Amazon EC2. 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, may render incompatible instances or operating systems unreachable; if you have a recent backup, your data will still be retained if this happens.

Testing Whether Enhanced Networking with ENA Is Enabled

To test whether enhanced networking with ENA 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 already has the enhanced networking enaSupport attribute set, use one of the following commands:

  • describe-instances (AWS CLI)

    Copy
    C:\> aws ec2 describe-instances --instance-id instance_id --query 'Reservations[].Instances[].EnaSupport'

    Note

    If you're using the Windows command prompt, replace the single quotes (') with double quotes (").

    If the enaSupport attribute isn't set, the returned JSON is empty; otherwise, it is set as follows:

    Copy
    [ true ]
  • Get-EC2Instance (Tools for Windows PowerShell)

    Copy
    C:\> (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport

    If the enaSupport attribute is set, the response is True.

Image Attribute (enaSupport)

To check whether an AMI already has the enhanced networking enaSupport attribute set, use one of the following commands:

  • describe-images (AWS CLI)

    Copy
    C:\> aws ec2 describe-images --image-id ami_id --query 'Images[].EnaSupport'

    Note

    This command only works for images that you own. You receive an AuthFailure error for images that do not belong to your account.

    If you're using the Windows command prompt, replace the single quotes (') with double quotes (").

    If the attribute isn't set, EnaSupport is empty; otherwise, it is set as follows:

    Copy
    [ true ]
  • Get-EC2Image (Tools for Windows PowerShell)

    Copy
    C:\> (Get-EC2Image -ImageId ami_id).EnaSupport

    If the enaSupport attribute is set, the response is True.

Enabling Enhanced Networking with ENA 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. For more information, see Enhanced Networking Types.

To enable enhanced networking with ENA

  1. Connect to your instance and log in as the local administrator.

  2. From the instance, install the driver as follows:

    1. Download the Amazon ENA adapter driver package.

    2. Extract the zip archive.

    3. Open a Command Prompt window and navigate to the folder containing the driver for your Windows version, which must be one of the following:

      • Windows Server 2008 R2

      • Windows Server 2012

      • Windows Server 2012 R2

      • Windows Server 2016

    4. In the folder corresponding to your OS version, you should see three driver files: ena.cat, ena.inf, and ena.sys. Install the driver with the following command:

      Copy
      C:\> pnputil -i -a ena.inf

      This should yield the following output if the installation is successful:

      Copy
      Microsoft PnP Utility Processing inf : ena.inf Succesfully installed the driver on a device on the system. Driver package added successfully. Published name : oem9.inf Total attempted: 1 Number successfully imported: 1
  3. From your local computer, stop the instance using the Amazon EC2 console or one of the following commands: stop-instances (AWS CLI), 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.

  4. Enable ENA support on your instance.

    Note

    You cannot enable ENA support on the instance unless you have previously installed the ENA driver as described above.

    1. From your local computer, check the EC2 instance ENA-support attribute on your instance by running of the following commands. EnaSupport is set to false by default.

      AWS CLI:

      Copy
      C:\> aws ec2 describe-instances --instance-id instance-id --query 'Reservations[].Instances[].EnaSupport'

      Note

      If you're using the Windows command prompt, replace the single quotes (') with double quotes (").

      Tools for Windows PowerShell:

      Copy
      C:\> (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport

      If the attribute is not enabled, the output will be "[]" or blank.

    2. To enable ENA support, run one of the following commands, which returns no output:

      AWS CLI:

      Copy
      C:\> aws ec2 modify-instance-attribute --instance-id instance-id --ena-support

      Tools for Windows PowerShell

      Copy
      C:\> Edit-EC2InstanceAttribute -InstanceId instance-id -EnaSupport $true

      Note

      If you encounter problems when you restart the instance, you can also disable ENA support with one of the following commands:

      Copy
      C:\> aws ec2 modify-instance-attribute --instance-id instance-id --no-ena-support
      Copy
      C:\> Edit-EC2InstanceAttribute -InstanceId instance-id -EnaSupport $false

    3. Verify that the attribute has been set to true by again running the describe-instances or Get-EC2Instance command as shown above. You should now see:

      Copy
      [ true ]
  5. From your local computer, start the instance using the Amazon EC2 console or one of the following commands: start-instances (AWS CLI), Start-EC2Instance (AWS Tools for Windows PowerShell). If your instance is managed by AWS OpsWorks, you should start the instance in the AWS OpsWorks console so that the instance state remains in sync.

  6. On the instance, validate that the ENA driver is installed and working.

    1. Right-click the network icon and choose Open Network and Sharing Center.

    2. Choose the Ethernet adapter, for example, Ethernet 2.

    3. Choose Details. The Network Connection Details window, the Description field should have the value Amazon Elastic Network Adapter.

  7. (Optional) Create an AMI from the instance. The AMI will inherit the enhanced networking enaSupport attribute from the instance. Therefore, you can use this AMI to launch another instance with enhanced networking with ENA enabled by default.

    If your instance is an EBS–backed instance, create a new AMI as described in Creating an Amazon EBS-Backed Windows AMI.

    If your instance is an instance store–backed instance, create a new AMI as described in Creating an Instance Store-Backed Windows AMI. To enable enhanced networking by default on instances created from the AMI, be sure to include the --ena-support flag when you register it.