排查实例的停止问题 - Amazon Elastic Compute Cloud

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

排查实例的停止问题

如果您已停止由 Amazon EBS 支持的实例,并且它卡在 stopping 状态,这说明底层主机可能存在问题。

当实例处于 stopping 状态或处于除 running 外的任何其他状态时,不会收取任何实例使用费用。只有当实例处于 running 状态时,您使用实例时才需要付费。

强制停止实例

通过控制台或 AWS CLI 强制停止实例。

新控制台

使用控制台强制停止实例

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances,然后选择卡住实例。

  3. 选择 Instance state(实例状态)、 Force stop(强制停止实例)、Stop(停止)。

旧控制台

使用控制台强制停止实例

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances,然后选择卡住实例。

  3. 依次选择 Instance State(实例状态)、Stop(停止)、Yes, Forcefully Stop(是,强制停止)。

AWS CLI

使用 AWS CLI 强制停止实例

使用 stop-instances 命令和 --force 选项,如下所示:

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

如果在 10 分钟后,实例未停止,请在 Amazon EC2 forum 中寻求帮助。为了帮助加快解决问题,请提供实例 ID 并描述已采取的步骤。此外,如果您有支持计划,则可在支持中心创建技术支持案例。

创建替代实例

要在等待 Amazon EC2 forum支持中心的帮助时尝试解决此问题,请创建替代实例。创建卡住实例的 AMI,并使用新的 AMI 启动一个新实例。

新控制台

使用控制台创建替代实例

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances,然后选择卡住实例。

  3. 依次选择 Actions (操作)Image and templates (映像和模板)Create Image (创建映像)

  4. Create image (创建映像) 页面上,执行以下操作:

    1. 输入 AMI 的名称和说明。

    2. 选择 No reboot

    3. 选择创建映像

    有关更多信息,请参阅从实例创建 Linux AMI

  5. 从 AMI 启动新实例,验证新实例是否正常运行。

  6. 选择卡住的实例,然后依次选择 Actions(操作)、Instance State(实例状态)、Terminate(终止)。如果该实例也因卡住而终止,则 Amazon EC2 会自动强制其在几个小时内终止。

旧控制台

使用控制台创建替代实例

  1. 打开 Amazon EC2 控制台 https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择 Instances,然后选择卡住实例。

  3. 依次选择 ActionsImageCreate Image

  4. Create Image 对话框中,填写以下字段,然后选择 Create Image

    1. 为 AMI 指定名称和描述。

    2. 选择 No reboot

    有关更多信息,请参阅从实例创建 Linux AMI

  5. 从 AMI 启动新实例,验证新实例是否正常运行。

  6. 选择卡住的实例,然后依次选择 ActionsInstance StateTerminate。如果该实例也因卡住而终止,则 Amazon EC2 会自动强制其在几个小时内终止。

AWS CLI

使用 CLI 创建替代实例

  1. 使用 create-image (AWS CLI) 命令和 --no-reboot 选项从卡住实例创建 AMI,如下所示:

    aws ec2 create-image --instance-id i-0123ab456c789d01e --name "AMI" --description "AMI for replacement instance" --no-reboot
  2. 使用 run-instances (AWS CLI) 命令从 AMI 启动新实例,如下所示:

    aws ec2 run-instances --image-id ami-1a2b3c4d --count 1 --instance-type c3.large --key-name MyKeyPair --security-groups MySecurityGroup
  3. 验证新实例是否正常运行。

  4. 使用 terminate-instances (AWS CLI) 命令终止卡住实例,如下所示:

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

如果无法按上一步骤所述从该实例创建 AMI,则可以设置替代实例,如下所示:

(替代) 使用控制台创建替代实例

  1. 选择实例并选择 DescriptionBlock devices。选择每个卷并记下其卷 ID。请务必注意哪个卷是根卷。

  2. 在导航窗格中,选择 Volumes。选择该实例的各个卷,然后依次选择 ActionsCreate Snapshot

  3. 在导航窗格中,选择快照。选择您刚刚创建的快照,然后依次选择 ActionsCreate Volume

  4. 使用与粘滞的实例相同的操作系统启动实例。注意其根卷的卷 ID 和设备名称。

  5. 在导航窗格中,选择Instances(实例),选择刚才启动的实例,然后依次选择 Instance state(实例状态)、Stop Instance(停止实例)。

  6. 在导航窗格中,选择 Volumes,选择已停止实例的根卷,然后依次选择 ActionsDetach Volume

  7. 选择您从卡住的实例创建的根卷,依次选择 ActionsAttach Volume,然后将其附加到新实例以作为其根卷(使用记下的设备名称)。将任何其他非根卷附加到该实例。

  8. 在导航窗格中,选择 Instances,然后选择替代实例。依次选择实例状态启动实例。验证该实例是否正常运行。

  9. 选择卡住的实例,然后依次选择实例状态终止实例。如果该实例也因卡住而终止,则 Amazon EC2 会自动强制其在几个小时内终止。