Troubleshoot Amazon EC2 instance stop issues - Amazon Elastic Compute Cloud

Troubleshoot Amazon EC2 instance stop issues

If your Amazon EBS-backed instance appears stuck in the stopping state, the issue might be with the underlying host computer.

To resolve the issue, follow these steps:

  1. Force stop the instance

    Use the Amazon EC2 console or the AWS CLI to force stop the instance. For the steps, see Force stop an instance.

    The instance will first attempt a graceful shutdown, which includes flushing file system caches and metadata. If the graceful shutdown fails to complete within the timeout period, the instance shuts down forcibly without flushing the file system caches and metadata.

  2. After force stop

    Perform file system check and repair procedures.

    Important

    Performing these procedures is crucial because a forced stop prevents flushing of file system caches and metadata.

  3. If force stop fails

    If, after 10 minutes, the instance has not stopped, do the following:

    1. Post a request for help on AWS re:Post. To help expedite a resolution, include the instance ID, and describe the steps that you've already taken.

    2. Alternatively, if you have a support plan, create a technical support case in the Support Center.

    3. While waiting for assistance, you can create a replacement instance if needed. For the steps, see (Optional) Create a replacement instance.

There is no cost for instance usage while an instance is in the stopping state or in any other state except running. You are only charged for instance usage when an instance is in the running state.

Force stop an instance

Force the instance to stop using either the console or the AWS CLI.

Note

You can force an instance to stop using the console only while the instance is in the stopping state. You can force an instance to stop using the AWS CLI while the instance is in any state, except shutting-down and terminated.

Console
To force stop the instance using the console
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Instances and select the stuck instance.

  3. Choose Instance state, Force stop instance, Stop.

    Note that Force stop instance is only available in the console if your instance is in the stopping state. If your instance is in another state (except shutting-down and terminated) you can use the AWS CLI to force stop your instance.

AWS CLI
To force stop the instance using the AWS CLI

Use the stop-instances command and the --force option as follows:

aws ec2 stop-instances --instance-ids i-0123ab456c789d01e --force

If, after 10 minutes, the instance has not stopped, post a request for help on AWS re:Post. To help expedite a resolution, include the instance ID, and describe the steps that you've already taken. Alternatively, if you have a support plan, create a technical support case in the Support Center.

(Optional) Create a replacement instance

While you are waiting for assistance from AWS re:Post or the Support Center, you can create a replacement instance if needed. Create an AMI from the stuck instance, and launch a new instance using the new AMI.

Important

You can create a replacement instance if the stuck instance produces system status checks only, as instance status checks will result in the AMI copying over an exact replica of the broken operating system. After you've confirmed the status message, create the AMI and launch a new instance using the new AMI.

Console
To create a replacement instance using the console
  1. Open the Amazon EC2 console at https://console.aws.amazon.com/ec2/.

  2. In the navigation pane, choose Instances and select the stuck instance.

  3. Choose Actions, Image and templates, Create image.

  4. On the Create image page, do the following:

    1. Enter a name and description for the AMI.

    2. Clear Reboot instance.

    3. Choose Create image.

    For more information, see Create an AMI from an instance.

  5. Launch a new instance from the AMI and verify that the new instance is working.

  6. Select the stuck instance, and choose Actions, Instance state, Terminate (delete) instance. If the instance also gets stuck terminating, Amazon EC2 automatically forces it to terminate within a few hours.

AWS CLI
To create a replacement instance using the CLI
  1. Create an AMI from the stuck instance using the create-image (AWS CLI) command and the --no-reboot option as follows:.

    aws ec2 create-image --instance-id i-0123ab456c789d01e --name "AMI" --description "AMI for replacement instance" --no-reboot
  2. Launch a new instance from the AMI using the run-instances (AWS CLI) command as follows:

    aws ec2 run-instances --image-id ami-1a2b3c4d --count 1 --instance-type c3.large --key-name MyKeyPair --security-groups MySecurityGroup
  3. Verify that the new instance is working.

  4. Terminate the stuck instance using the terminate-instances (AWS CLI) command as follows:

    aws ec2 terminate-instances --instance-ids i-1234567890abcdef0

If you are unable to create an AMI from the instance as described in the previous procedure, you can set up a replacement instance as follows:

(Alternate) To create a replacement instance using the console
  1. Select the instance and choose Description, Block devices. Select each volume and make note of its volume ID. Be sure to note which volume is the root volume.

  2. In the navigation pane, choose Volumes. Select each volume for the instance, and choose Actions, Create Snapshot.

  3. In the navigation pane, choose Snapshots. Select the snapshot that you just created, and choose Actions, Create Volume.

  4. Launch an instance with the same operating system as the stuck instance. Note the volume ID and device name of its root volume.

  5. In the navigation pane, choose Instances, select the instance that you just launched, and choose Instance state, Stop instance.

  6. In the navigation pane, choose Volumes, select the root volume of the stopped instance, and choose Actions, Detach Volume.

  7. Select the root volume that you created from the stuck instance, choose Actions, Attach Volume, and attach it to the new instance as its root volume (using the device name that you made note of). Attach any additional non-root volumes to the instance.

  8. In the navigation pane, choose Instances and select the replacement instance. Choose Instance state, Start instance. Verify that the instance is working.

  9. Select the stuck instance, choose Instance state, Terminate (delete) instance. If the instance also gets stuck terminating, Amazon EC2 automatically forces it to terminate within a few hours.