跳至内容

如何对 Amazon EC2 按需容量预留的问题进行故障排除?

2 分钟阅读
0

我对我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例使用按需容量预留。但是,我的 Amazon EC2 实例没有使用预留容量。

解决方法

**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

检查您的容量预留配置

检查您的容量预留设置

**先决条件:**您的容量预留必须符合以下要求:

  • 容量预留处于活动状态
  • 容量预留使用的实例类型与您的 EC2 实例相同。
  • 容量预留与您的实例位于同一可用区。
  • 容量预留利用率低于 100%

要检查您的容量预留设置,请打开 Amazon EC2 控制台,然后选择 Capacity Reservations(容量预留)。如果您的容量预留不符合上述要求,请取消容量预留。然后,使用正确的设置创建新的容量预留。您无法修改现有的容量预留。

检查容量预留是否设置为 open

运行以下 describe-instances AWS CLI 命令来检查实例的容量预留设置:

aws ec2 describe-instances --filters --instance-ids instance-id

**注意:**请将 instance-id 替换为使用容量预留的实例 ID。

在输出中,确保 CapacityReservationSpecification 设置为 Open。如果 CapacityReservationSpecification 设置为 None,则必须更新容量预留设置以允许实例使用容量预留。

输出示例:

"CapacityReservationSpecification": {
  "CapacityReservationPreference": "open",
  "CapacityReservationTarget": null
}

配置实例以进行停止和启动

**注意:**当停止或启动某个实例时,该实例的公有 IP 地址将发生变化。最佳做法是使用弹性 IP 地址(而不是公有 IP 地址)将外部流量路由到您的实例。如果您使用的是 Amazon Route 53,则在公有 IP 地址发生变化时可能需要更新 Route 53 DNS 记录

在停止和启动实例之前,请执行以下操作:

将容量预留设置为 open

完成以下步骤:

  1. 停止实例
  2. 选择实例,然后选择 Actions(操作)。
  3. 选择 Instance settings(实例设置),然后选择 Modify Capacity Reservation settings(修改容量预留设置)。
  4. 对于 Capacity Reservation setting(容量预留设置),选择 Open
  5. 选择 Save(保存)。
  6. 启动实例
  7. 运行以下 describe-instances 命令验证 CapacityReservationSpecification 是否设置为 open
    aws ec2 describe-instances --filters --instance-ids instance-id
    **注意:**请将 instance-id 替换为实例 ID。

相关信息

如何请求增加我的 EC2 按需型实例的 vCPU 服务配额?

如何对 EC2 实例启动时出现的 InsufficientInstanceCapacity 错误进行故障排除?

如何排查我在启动 Amazon EC2 实例时收到的 ReservationCapacityExceeded 错误?

AWS 官方已更新 6 个月前