I want to troubleshoot an instance status check failure on my Amazon Elastic Compute Cloud (Amazon EC2) Windows instance that’s built on AWS Nitro.
Short description
If an EC2 instance fails its status checks, then it becomes unavailable on the network. Typically, incompatible or outdated drivers cause instance status check failure for Windows instances built on Nitro.
Resolution
Important: Before you stop and start your instance, take the following actions:
Note: When you stop and start an instance, the instance's public IP address changes. It's a best practice to use an Elastic IP address to route external traffic to your instance instead of a public IP address.
To troubleshoot instance status check failures for Windows instances built on Nitro, complete the following steps:
- Verify that your instance type uses the Nitro hypervisor. To identify the underlying hypervisor, check the instance family summary for your general purpose, compute optimized, memory optimized, storage optimized, accelerated computing, high-performance computing, or previous generation instances.
- Troubleshoot other reasons that your instance might fail its status check.
- If your instance still fails its status checks, then check for incompatible or outdated drivers. To automatically upgrade or repair your instance's driver, run the AWSSupport-UpgradeWindowsAWSDrivers runbook.
- If the runbook doesn't resolve your issue, then complete the following steps to manually upgrade your instance driver.
- Stop your EC2 instance.
Note: You must stop the instance to change the instance type.
- Open the Amazon EC2 console.
- Choose Instances, and then select your stopped instance.
- Choose Actions, and then choose Instance settings.
- Choose Change instance type.
- In the Change instance type dialog box, choose t2.medium for Instance type.
Note: This step changes your instance type from Nitro to XEN. It also changes the underlying driver from AWS NVMe or Elastic Network Adaptor (ENA) to a Paravirtual (PV) driver. You can then identify whether the underlying driver caused the boot issue.
- Start your instance.
Note: If the t2 instance type also fails its status checks, then repeat steps 5-10, and then choose the m4.large instance type. Boot issues with the t2 instance type might occur if there are issues with the PV driver. The m4.large instance type doesn't use a PV driver.
- Use Remote Desktop Protocol (RDP) to connect to your instance.
- To view all driver versions, run one of the following commands in an elevated PowerShell session:
Get-WmiObject Win32_PnPSignedDriver|?{$_.manufacturer -like "*Amazon*"}| select DeviceName, DriverVersion, Manufacturer
-or-
dism /online /Get-Drivers /Format:table | findstr "Amazon*"
In the output, confirm that you installed the latest version of the ENA Windows driver or AWS NVMe Windows driver.
- If your driver is outdated, then install the latest version of the ENA driver or AWS NVMe driver. .
Note: It's a best practice to manually install the AWS drivers on production servers during the server's downtime because installation for an AWS driver requires a reboot. You can't use PV drivers for Nitro instances.
- Repeat step 13 to validate that you successfully installed the driver.
- Stop your EC2 instance.
- Open the Amazon EC2 console.
- Choose Instances, and then select your stopped instance.
- Choose Actions, and then choose Instance settings.
- Choose Change instance type.
- In the Change Instance Type dialog box, for Instance type, select your original Nitro based instance type.
- Choose Apply.
Related information
How do I upgrade or repair storage and network AWS drivers on an EC2 Windows instance?
Migrate an EC2 Windows instance to a Nitro-based instance type