Amazon EC2 Auto Scaling:EC2 实例启动失败 - Amazon EC2 Auto Scaling
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

Amazon EC2 Auto Scaling:EC2 实例启动失败

此页提供有关未能启动的 EC2 实例的信息、可能的原因,以及可用来解决问题的步骤。

要检索错误消息,请参阅从扩展活动中检索错误消息

EC2 实例启动失败时,您可能会收到一条或多条以下错误消息:

当前不支持请求的配置。

  • 原因:启动模板或启动配置中的某些选项可能与实例类型不兼容,或者您请求的Amazon区域或可用区。

  • 解决方案:

    尝试其他实例配置。要搜索符合您要求的实例类型,请参阅查找 Amazon EC2 实例类型中的适用于 Linux 实例的 Amazon EC2 用户指南

    有关解决该问题的进一步指南,请检查以下内容:

    • 确保您选择了实例类型支持的 AMI。例如,如果实例类型使用基于 ARM 的Amazon引力处理器而不是英特尔至强处理器,您需要一个 ARM 兼容的 AMI。

    • 测试实例类型在您请求的区域和可用区中是否可用。最新一代实例类型可能尚未在给定区域或可用区域中提供。较旧的实例类型可能无法在较新的区域和可用区中使用。要搜索按位置(区域或可用区)提供的实例类型,请使用describe-instance-type-offerings命令。有关更多信息,请参阅 。查找 Amazon EC2 实例类型中的适用于 Linux 实例的 Amazon EC2 用户指南

    • 如果您使用专用实例或专用主机,请确保您选择了支持作为专用实例或专用主机的实例类型。

安全组 <该安全组的名称> 不存在。启动 EC2 实例失败。

  • 原因:启动模板或启动配置中指定的安全组可能已删除。

  • 解决方案:

    1. 使用 describe-security-groups 命令获取与您的账户关联的安全组列表。

    2. 从该列表中选择要使用的安全组。要创建安全组,请使用 create-security-group 命令。

    3. 创建新的启动模板或启动配置。

    4. 使用新的启动模板或启动配置更新 Auto Scaling 组,使用update-auto-scaling-group命令。

密钥对 <与您的 EC2 实例相关联的密钥对> 不存在。启动 EC2 实例失败。

  • 原因:启动实例时使用的 key pair 可能已删除。

  • 解决方案:

    1. 使用 describe-key-pairs 命令获取可用的密钥对列表。

    2. 从该列表中选择要使用的密钥对。要创建密钥对,请使用 create-key-pair 命令。

    3. 创建新的启动模板或启动配置。

    4. 使用新的启动模板或启动配置更新 Auto Scaling 组,使用update-auto-scaling-group命令。

不再支持请求的可用区。请重新尝试请求...

  • 错误消息:不再支持请求的可用区。请通过不指定可用区或选择 <提供的可用区的列表> 来重新尝试请求。启动 EC2 实例失败。

  • 原因:当前可能无法使用与 Auto Scaling 组相关联的可用区。

  • 解决方案:使用错误消息中的建议更新 Auto Scaling 组。

请求的实例类型(<实例类型>)在请求的可用区(<实例可用区>)中不受支持...

  • 错误消息:请求的实例类型 (<instance type>) 在请求的可用区 (<instance Availability Zone>) 中不受支持。请通过不指定可用区或选择 <支持该实例类型的可用区列表> 来重新尝试请求。启动 EC2 实例失败。

  • 原因:您选择的实例类型当前可能无法在 Auto Scaling 组中指定的可用区中使用。

  • 解决方案:使用错误消息中的建议更新 Auto Scaling 组。

您的竞价请求价格 0.015 低于要求的最低竞价请求履行价格 0.0735...

  • 原因:请求中的最高现货价低于所选实例类型的 Spot 价格。

  • 解决方案:提交具有较高竞价最高价(可能是按需价格)的新请求。以前,您支付的竞价价格是基于出价的。今天,您支付当前的竞价价格。通过设置更高的最高价格,Amazon EC2 竞价服务可以更好地启动和维护您所需容量的容量。

设备名称上载无效。启动 EC2 实例失败。

  • 原因:启动模板或启动配置中的块储存设备映射可能包含不可用或当前不受支持的块储存设备名称。

  • 解决方案:

    1. 使用 describe-volumes 命令查看如何向实例公开卷。

    2. 使用卷描述中列出的设备名称创建新的启动模板或启动配置。

    3. 使用新的启动模板或启动配置更新 Auto Scaling 组,使用update-auto-scaling-group命令。

用于参数 virtualName 的值(<与实例存储设备相关联的名称>)无效...

  • 错误消息:<name associated with the instance storage device>virtualName 的值 () 无效。预期格式:“ephemeralNUMBER”。启动 EC2 实例失败。

  • 原因:为与块储存设备相关联的虚拟名称指定的格式不正确。

  • 解决方案:

    1. 创建新的启动模板或启动配置,方法是在virtualName参数。有关设备名称格式的信息,请参阅Linux 实例上的设备命名中的适用于 Linux 实例的 Amazon EC2 用户指南

    2. 使用新的启动模板或启动配置更新 Auto Scaling 组,使用update-auto-scaling-group命令。

实例存储 AMI 不支持 EBS 块储存设备映射。

  • 原因:您的实例不受支持在启动模板或启动配置中指定的块储存设备映射。

  • 解决方案:

    1. 使用实例类型支持的块储存设备映射来创建新的启动模板或启动配置。有关更多信息,请参阅 。块储存设备映射中的适用于 Linux 实例的 Amazon EC2 用户指南

    2. 使用新的启动模板或启动配置更新 Auto Scaling 组,使用update-auto-scaling-group命令。

置放群组可能无法与类型为“m1.large”的实例一起使用。启动 EC2 实例失败。

  • 原因:您的集群置放群组包含无效实例类型。

  • 解决方案:

    1. 有关置放群组支持的有效实例类型的信息,请参阅置放群组中的适用于 Linux 实例的 Amazon EC2 用户指南

    2. 按照中的详细说明进行操作置放群组创建新的置放群组。

    3. 或者,也可以使用受支持的实例类型创建新的启动模板或启动配置。

    4. 使用新置放群组、启动模板或启动配置更新 Auto Scaling 群组,使用update-auto-scaling-group命令。

客户端。内部错误: 启动时的客户端错误。

  • 问题:Amazon EC2 Auto Scaling 尝试启动具有加密 EBS 卷的实例,但服务相关角色没有权限访问加密该卷所用的客户管理的 CMK。有关更多信息,请参阅 与加密卷结合使用时必需的 CMK 密钥策略

  • 原因 1:您需要一个密钥策略,为正确的服务链接角色授予使用 CMK 的权限。

  • 解决方案 1:允许服务相关角色使用 CMK,如下所示:

    1. 确定将哪个服务相关角色用于此 Auto Scaling 组。

    2. 更新 CMK 上的密钥策略并允许服务相关角色使用 CMK。

    3. 更新 Auto Scaling 组来使用服务相关角色。

    有关允许与服务关联的角色使用 CMK 的密钥策略的示例,请参阅示例 1:允许访问 CMK 的关键策略部分

  • 原因 2:如果 CMK 和 Auto Scaling 组属于不同 Amazon帐户,则需要配置对 CMK 的跨账户访问权限,以便向正确的服务链接角色授予使用 CMK 的权限。

  • 解决方案 2:允许外部帐户中的服务相关角色使用本地帐户中的 CMK,如下所示:

    1. 更新 CMK 上的密钥策略以允许 Auto Scaling 组账户访问 CMK。

    2. 在 Auto Scaling 组账户中定义可以创建授权的 IAM 用户或角色。

    3. 确定将哪个服务相关角色用于此 Auto Scaling 组。

    4. 使用适当的服务相关角色作为被授权委托人,创建对 CMK 的授权。

    5. 更新 Auto Scaling 组来使用服务相关角色。

    有关更多信息,请参阅 示例 2:允许跨账户访问 CMK 的关键策略部分

  • 解决方案 3:在同一个Amazon帐户作为 Auto Scaling 组。

    1. 使用属于与 Auto Scaling 组相同的账户中的另一个 CMK,复制并重新加密快照。

    2. 允许服务相关角色使用新 CMK。请参阅解决方案 1 的步骤。

<instance type>您请求的可用区()中当前没有足够的容量... 启动 EC2 实例失败。

  • 错误消息:<instance type>您请求的可用区(<requested Availability Zone>)中当前没有足够的容量。我们的系统将调配额外的容量。您当前可以通过不在请求中指定可用区,或者选择 <当前支持该实例类型的可用区列表> 来获取 <实例类型> 容量。启动 EC2 实例失败。

  • 原因:目前,Amazon EC2 无法在请求的可用区中支持您的实例类型。

  • 解决方案:

    要解决该问题,请尝试以下操作:

    • 等待几分钟,然后再次提交您的请求;容量可能经常转移。

    • 按照错误消息中的建议提交新的请求。

    • 提交减少了实例数的新请求(可在后期增加)。

没有与您的请求匹配的竞价容量。启动 EC2 实例失败。

  • 原因:目前,没有足够的空闲容量来满足您的竞价型实例请求。

  • 解决方案:

    要解决该问题,请尝试以下操作:

    • 等待几分钟;容量可能经常转移。Spot 请求会继续自动发起启动请求,直到有可用容量为止。当容量变为可用时,Amazon EC2 竞价服务将满足竞价请求。

    • 请遵循使用不同实例类型集的最佳实践,以便您不依赖于某一特定实例类型。有关更多信息,包括成功使用竞价型实例的最佳实践列表,请参阅Auto Scaling 组包括多种实例类型和购买选项

    • 提交减少了实例数的新请求(可在后期增加)。

已运行 <实例数量> 个实例。启动 EC2 实例失败。

  • 原因:您已达到可在某一区域中启动的实例数的限制。在创建 Amazon 账户时,我们根据区域设置可运行的实例数的默认限制。

  • 解决方案:

    要解决该问题,请尝试以下操作:

    • 如果您当前的限制不足以满足需求,可以请求提高每个区域的配额。有关更多信息,请参阅 。Amazon EC2 Service 配额中的适用于 Linux 实例的 Amazon EC2 用户指南

    • 提交减少了实例数的新请求(可在后期增加)。