排查实例启动问题
以下问题将阻止您启动实例。
设备名称无效
描述
在尝试启动新实例时,您将收到 Invalid device name
错误。device_name
原因
如果您在尝试启动实例时遇到此错误,则请求中为一个或多个卷指定的设备名称无效。可能的原因包括:
-
所选 AMI 目前可能在使用该设备名称。
-
该设备名称可能是为根卷保留的。
-
该设备名称可能用于请求中的另一个卷。
-
该设备名称可能对操作系统无效。
解决方案
要解决问题,请执行以下操作:
超出实例限制
描述
在尝试启动新实例或重新启动已停止的实例时,您将收到 InstanceLimitExceeded
错误。
原因
在尝试启动新实例或重新启动已停止的实例时,如果您已达到可在区域中启动的实例的数目限制,则将收到 InstanceLimitExceeded
错误。在创建 Amazon 账户时,我们根据区域设置可运行的实例数的默认限制。
解决方案
您可以根据区域请求提高实例限制。有关更多信息,请参阅 Amazon EC2 Service Quotas。
实例容量不足
描述
在尝试启动新实例或重新启动已停止的实例时,您将收到 InsufficientInstanceCapacity
错误。
原因
如果您在尝试启动实例或重新启动已停止的实例时收到此错误,则表示 Amazon 当前没有足够的可用按需容量来服务您的请求。
解决方案
要解决该问题,请尝试以下操作:
当前不支持请求的配置。请查看文档以了解支持的配置。
描述
当您尝试启动新实例时会出现 Unsupported
错误,因为不支持实例配置。
原因
错误消息提供了更多详细信息。例如,指定的区域或可用区可能不支持实例类型或实例购买选项。
解决方案
尝试其他实例配置。要搜索符合您要求的实例类型,请参阅 查找 Amazon EC2 实例类型。
实例立即终止
描述
您的实例会从 pending
状态变为 terminated
状态。
原因
下面是实例可能立即终止的一些原因:
-
您已超出 EBS 卷限制。有关更多信息,请参阅实例卷限制。
-
EBS 快照损坏。
-
根 EBS 卷已加密,但您无权访问用于解密的 KMS 密钥。
-
在块储存设备映射中为 AMI 指定的快照已加密,但您无权访问用于解密的 KMS 密钥,或者您无权访问 KMS 密钥 来加密还原的卷。
-
您用来启动实例的由实例存储支持的 AMI 缺少必需部分(一个 image.part.xx 文件)
有关更多信息,请通过以下某种方法了解终止原因。
使用 Amazon EC2 控制台了解终止原因
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择 Instances,然后选择实例。
-
在第一个选项卡上,在状态转换原因旁边查看原因。
使用 Amazon Command Line Interface 控制台了解终止原因
-
使用 describe-instances 命令并指定实例 ID。
aws ec2 describe-instances --instance-id
instance_id
-
检查命令返回的 JSON 响应,并记下
StateReason
响应元素中的值。下面的代码块显示了
StateReason
响应元素的示例。"StateReason": { "Message": "Client.VolumeLimitExceeded: Volume limit exceeded", "Code": "Server.InternalError" },
使用 Amazon CloudTrail 了解终止原因
有关更多信息,请参阅 Amazon CloudTrail 用户指南中的使用 CloudTrail 事件历史记录查看事件。
解决方案
根据找到的终止原因,执行以下某项操作:
-
Client.VolumeLimitExceeded: Volume limit exceeded
- 删除未使用的卷。您可以提交请求,要求提高卷限制。 -
Client.InternalError: Client error on launch
– 确保您具有访问用于解密和加密卷的 Amazon KMS keys 所需的权限。有关更多信息,请参阅 Amazon Key Management Service 开发人员指南中的在 Amazon KMS 中使用密钥策略。
Windows 启动后,CPU 使用率短时增高
如果将 Windows Update 设置为 Check for updates but let me choose whether to download and install them (检查更新,但允许我选择是否下载并安装它们)(默认实例设置),则此检查可能会在实例上消耗 50 - 99% 的 CPU。如果此 CPU 消耗会导致您的应用程序出现问题,您可手动在 Control Panel 中更改 Windows Update 设置或者使用 Amazon EC2 用户数据字段中的以下脚本:
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d
3
/f net stop wuauserv net start wuauserv
运行此脚本时,为 /d 指定一个值。默认值为 3。可能的值包括:
-
从未检查更新
-
检查更新,但允许我选择是否下载并安装它们
-
下载更新,但允许我选择是否安装它们
-
自动安装更新
在为您的实例修改用户数据后,可运行它。有关更多信息,请参阅 查看和更新实例用户数据 和 用户数据执行。