排查实例的停止问题 - Amazon Elastic Compute Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

排查实例的停止问题

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

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

强制停止实例

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

注意

当实例处于 stopping 状态时,您只能强制实例停止使用控制台。当实例处于除 shutting-downterminated 之外的任何状态时,您只能强制实例停止使用 Amazon CLI。

Console
使用控制台强制停止实例
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

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

    请注意,只有当您的实例处于 stopping 状态时,Force stop instance(强制停止实例)才可用。如果您的实例处于另一状态(除 shutting-downterminated 之外的状态),您可以使用 Amazon CLI 强制停止您的实例。

Amazon CLI
使用 Amazon CLI 强制停止实例

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

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

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

创建替代实例

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

重要

如果仅注册系统状态检查,则建议创建替换实例,因为实例状态检查将导致 AMI 复制损坏操作系统的精确副本。确认状态消息后,创建 AMI 并使用新 AMI 启动新实例。

Console
使用控制台创建替代实例
  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

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

  3. 依次选择操作映像和模板创建映像

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

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

    2. 选择 No reboot

    3. 选择创建映像

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

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

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

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

    aws ec2 create-image --instance-id i-0123ab456c789d01e --name "AMI" --description "AMI for replacement instance" --no-reboot
  2. 使用 run-instances (Amazon 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 (Amazon 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 会自动强制其在几个小时内终止。