我对我的 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
完成以下步骤:
- 停止实例。
- 选择实例,然后选择 Actions(操作)。
- 选择 Instance settings(实例设置),然后选择 Modify Capacity Reservation settings(修改容量预留设置)。
- 对于 Capacity Reservation setting(容量预留设置),选择 Open。
- 选择 Save(保存)。
- 启动实例。
- 运行以下 describe-instances 命令验证 CapacityReservationSpecification 是否设置为 open:
aws ec2 describe-instances --filters --instance-ids instance-id
**注意:**请将 instance-id 替换为实例 ID。
相关信息
如何请求增加我的 EC2 按需型实例的 vCPU 服务配额?
如何对 EC2 实例启动时出现的 InsufficientInstanceCapacity 错误进行故障排除?
如何排查我在启动 Amazon EC2 实例时收到的 ReservationCapacityExceeded 错误?