

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

# Amazon EC2 Auto Scaling 问题排查：AMI 问题
<a name="ts-as-ami"></a>

本页提供与您相关的问题 AMIs、潜在原因以及为解决这些问题可以采取的步骤的信息。

要检索错误消息，请参阅[检索来自扩缩活动的错误消息](CHAP_Troubleshooting.md#RetrievingErrors)。

当 AMI 的问题导致 EC2 实例启动失败时，您可能会收到一条或多条以下错误消息：

**Topics**
+ [AMI ID <您的 AMI 的 ID> 不存在。启动 EC2 实例失败。](#ts-as-ami-1)
+ [AMI <AMI ID> 正在等待，无法运行。启动 EC2 实例失败。](#ts-as-ami-2)
+ [设备名称 <device name> 无效。启动 EC2 实例失败。](#ts-as-ami-4)
+ [指定实例类型的架构 “arm64” 与指定 AMI 的架构 “x86\$164” 不匹配......启动 EC2 实例失败。](#ts-as-ami-5)
+ [AMI“<AMI ID>”已禁用，无法运行。启动 EC2 实例失败。](#ts-disabled-ami-error)

**重要**  
AWS 支持通过修改 AMI 权限与其他 AWS 账户私下共享 AMI。如果将 AMI 设为私有而不共享，则启动新实例时可能会导致授权错误。有关私有共享的更多信息 AMIs，请参阅 *Amazon EC2 用户指南*中的[与特定 AWS 账户共享 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html)。

## AMI ID <您的 AMI 的 ID> 不存在。启动 EC2 实例失败。
<a name="ts-as-ami-1"></a>
+ **原因**：创建启动模板或启动配置后，可能已删除 AMI。
+ **解决方案：**

  1. 使用有效的 AMI 创建新的启动模板或启动配置。

  1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令通过新的启动模板或启动配置更新您的 Auto Scaling 组。

## AMI <AMI ID> 正在等待，无法运行。启动 EC2 实例失败。
<a name="ts-as-ami-2"></a>

**原因**：您可能刚创建 AMI（通过获取运行实例的快照或任何其他方式），它可能还无法使用。

**解决方案**：必须等待您的 AMI 可用后，才能创建启动模板或启动配置。

## 设备名称 <device name> 无效。启动 EC2 实例失败。
<a name="ts-as-ami-4"></a>

**原因**：将 EBS 卷附加到 EC2 实例时，必须为该卷提供有效的设备名称。所选的 AMI 必须支持此设备名称。

**解决方案：**

1. 创建新的启动模板或启动配置并为您的 AMI 指定正确的设备名称。推荐的命名约定因 AMI 的虚拟化类型而异。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[设备名称](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/device_naming.html)。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令通过新的启动模板或启动配置更新您的 Auto Scaling 组。

## 指定实例类型的架构 “arm64” 与指定 AMI 的架构 “x86\$164” 不匹配......启动 EC2 实例失败。
<a name="ts-as-ami-5"></a>

**原因 1**：如果 AMI 的架构与您的启动模板或启动配置中使用的实例类型不同，那么当 Amazon EC2 Auto Scaling 尝试使用不兼容的实例配置启动实例时，就会出现错误。

**解决方案 1**：

1. 使用 desc [ribe-images 命令或在 Amazon EC2 控制台中查看亚马逊系统映像](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) **() AMIs** 页面详细信息窗格上的**架构**值，验证您的 AMI 的架构。

1. 使用[describe-instance-types](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-types.html)命令查找与您的 AMI 具有相同架构的实例类型，或者在 Amazon EC2 控制台中查看**实例类型**屏幕上的**架构**列。有关选择兼容实例类型的更多信息，请参阅《Amazon EC2 用户指南》**中的[更改实例类型的兼容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)。

1. 使用与您的 AMI 具有相同架构的实例类型创建新的启动模板或启动配置。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令通过新的启动模板或启动配置更新您的 Auto Scaling 组。

**原因 2**：Amazon EC2 Auto Scaling 尝试启动自动扩缩组的混合实例策略中指定的实例类型，但该实例类型的架构与启动模板中指定的 AMI 不同。

**解决方案 1**：不要在您的混合实例策略中包含具有不同架构的实例类型。

1. 使用 desc [ribe-images 命令或在 Amazon EC2 控制台中查看亚马逊系统映像](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) **() AMIs** 页面详细信息窗格上的**架构**值，验证您的 AMI 的架构。

1. 使用[describe-instance-types](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-instance-types.html)命令或在 Amazon EC2 控制台中查看实例类型屏幕上的**架构列，验证您打算包含在混合实例策略中的每**种实例类型的**架构**。有关选择兼容实例类型的更多信息，请参阅《Amazon EC2 用户指南》**中的[更改实例类型的兼容性](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/resize-limitations.html)。

1. 使用[update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)命令从 Auto Scaling 组中更新或移除不兼容的实例类型。

**解决方案 2**：要在同一自动扩缩组中同时启动 Arm (Graviton2) 和 x86\$164（英特尔）实例，您必须分别使用兼容 ARM 的 AMI 和兼容英特尔 x86 的 AMI 所支持的启动模板来匹配混合实例策略中的实例类型。

1. 使用 desc [ribe-images](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-images.html) 命令在现有启动模板中验证 AMI 的架构，或者在 Amazon EC2 控制台中查看 A **mazon 系统映像 () AMIs** 页面详细信息窗格上的**架构**值。

1. 使用与您打算使用的其他架构相匹配的 AMI 来创建新的启动模板。

1. 更新您的 Auto Scaling 组以覆盖现有启动模板，并使用[update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html)命令为每种兼容的实例类型指定新的启动模板。有关更多信息，请参阅 [使用多个启动模板](ec2-auto-scaling-mixed-instances-groups-launch-template-overrides.md)。

## AMI“<AMI ID>”已禁用，无法运行。启动 EC2 实例失败。
<a name="ts-disabled-ami-error"></a>

**原因**：您正试图从已禁用的 AMI 启动实例。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[禁用 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/disable-an-ami.html)。

**解决方案：**

1. 创建新的启动模板或启动配置，并指定未禁用的 AMI。

1. 使用 [update-auto-scaling-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/update-auto-scaling-group.html) 命令通过新的启动模板或启动配置更新您的 Auto Scaling 组。