Skip to content

How do I upgrade the storage and network drivers on an Amazon EC2 Windows instance?

5 minute read
0

I want to upgrade the drivers on my Amazon Elastic Compute Cloud (Amazon EC2) Windows instance.

Short description

First, identify the type of driver that your EC2 instance uses. Windows instances use Paravirtual (PV), AWS non-volatile memory express (NVMe), or Elastic Network Adapter (ENA) drivers.

Then, use the AWSSupport-UpgradeWindowsAWSDrivers runbook to automatically upgrade your drivers to the latest version. Or, manually upgrade your instance drivers.

Note: To upgrade drivers so that you can migrate to an instance that's built on the AWS Nitro System, you must adhere to additional requirements. For more information, see Migrate an EC2 Windows instance to a Nitro-based instance type.

Resolution

Prerequisite: Create an Amazon Machine Image (AMI) of your instance or take a snapshot of the instance's Amazon Elastic Block Store (Amazon EBS) volumes. It's a best practice to keep backups of your instances and data in case you need to restore your instance.

Identify your driver type

Note: Most Nitro instances use the ENA driver for networking and the AWS NVMe driver for storage. Most Xen-based instances use the AWS PV driver for both networking and storage. Some instances use a combination of drivers for storage and networking.

To identify the underlying hypervisor and required driver version, check the instance family summary for your general purpose, compute optimized, memory optimized, storage optimized, accelerated computing, high-performance computing, or previous generation instances. For information about the PV driver version required for your Windows Server version, see Paravirtual drivers for Windows instances.

To list the AWS drivers and driver versions that run on your Windows instance, run the following Windows PowerShell command:

Get-WmiObject Win32_PnpSignedDriver | Select-Object DeviceName, DriverVersion, InfName | Where-Object {$_.DeviceName -like "*AWS*" -OR $_.DeviceName -like "*Amazon*"}

For Nitro instances, the command's output shows the installed ENA and NVMe driver version. For Xen-based instances, the command output shows the installed PV driver version.

Automatically upgrade your drivers with the AWSSupport-UpgradeWindowsAWSDrivers runbook

Note: The upgrade process for domain controller instances is different from the standard Windows instance upgrade process. For domain controller instances, see Upgrade a domain controller (AWS PV upgrade).

Run the AWSSupport-UpgradeWindowsAWSDrivers runbook to install the latest AWS drivers. The runbook uses AWS Systems Manager Agent (SSM Agent) to install the driver upgrades online for managed instances. If your instance isn't a managed instance, or the runbook can't connect to SSM Agent, then you can configure the runbook to install upgrades offline.

Prerequisites:

  • Make sure that your AWS Identity and Access Management (IAM) user or role has the required runbook permissions. For a list of required permissions, see Required IAM permissions on AWSSupport-UpgradeWindowsAWSDrivers.
  • If you use Amazon Virtual Private Cloud (Amazon VPC) endpoints to connect to AWS Systems Manager, then run the runbook only in the us-east-1 AWS Region.
    Note: If the instance uses an internet or transit gateway to connect to Systems Manager without VPC endpoints, then run the runbook in any Region.

Run the AWSSupport-UpgradeWindowsAWSDrivers runbook and configure the following settings for Input parameters:

  • To install the drivers offline if the online installation fails, for (Optional) AllowOffline, select True.
    Important: The offline method requires a stop and start of the instance. When your instance stops, Amazon EC2 deletes the data on the instance store volumes. If you don't use an Elastic IP address, then the instance's public IP address changes. For more information, see Configure your instance for a stop and start on Why is my Amazon EC2 instance down with a system status check failure?
  • For (Optional) AutomationAssumeRole, enter the Amazon Resource Name (ARN) of the IAM role that allows the runbook to perform actions for you. If you don't enter a role, then the runbook uses the permissions of the user that started the runbook.
  • For (Optional) ForceUpgrade, select True to allow the offline driver upgrade to proceed even if your instance already has the latest drivers.
  • For InstanceId, enter the ID of your instance for Windows Server.
  • For offline installations, for (Optional) SubnetId, enter the subnet ID for the rescue instance that the runbook uses to perform the offline drivers upgrade. If you don't enter a subnet ID, then the runbook creates a new virtual private cloud (VPC) to use as the rescue instance.

Manually upgrade your Windows EC2 instance drivers

Note: Manual AWS driver installation requires an instance reboot. It's a best practice to manually install the AWS drivers on production servers during the server's downtime.

To install or upgrade AWS PV drivers, Citrix PV drivers, and Red Hat PV drivers, see Paravirtual drivers for Windows instances.

To install or upgrade AWS NVMe drivers, see AWS NVMe drivers.

To install ENA drivers, see Install the ENA driver on EC2 Windows instances. For the Intel 82599 VF interface, see Enhanced networking with the Intel 82599 VF interface.

Related information

How can I troubleshoot an EC2 Windows instance that is unreachable or can't reach the DNS after upgrading the drivers?

Troubleshoot PV drivers on Windows instances

AWS OFFICIALUpdated 2 months ago