这是物理资源不足导致的报错,不是配置错误,核心解决办法是更换可用域或区域,或者等待资源释放。
先说结论:Out of Capacity 代表所选区域的特定可用域内没有足够的物理硬件来容纳你请求的实例形状,通常发生在免费层级 ARM 实例上。
- 先确认:检查当前选择的区域(Region)和可用域(Availability Domain)是否资源紧张。
- 先处理:尝试切换同区域下的其他可用域,或更换到资源相对宽松的其他区域。
- 再验证:重新提交创建请求,观察实例状态是否变为 Running。
控制台具体操作路径
登录 Oracle Cloud 控制台后,按以下路径查找资源选项:
- 点击左上角导航菜单(汉堡图标)。
- 选择计算 -> 实例(Compute -> Instances)。
- 点击创建实例(Create Instance)。
- 在配置页面找到放置(Placement)部分。
- 在可用域(Availability Domain)下拉框中,尝试切换 AD-1、AD-2 或 AD-3。
- 如果当前区域所有可用域均报错,点击顶部导航栏的区域选择器,更换到其他区域(如从首尔换到大阪)。
OCI CLI 命令修正与使用
如果需要通过命令行检查实例状态,请使用以下修正后的命令。注意参数前不要加反引号:
oci compute instance get `--instance-id` <instance_ocid>将 <instance_ocid> 替换为实际的实例 OCID。查看输出中的 lifecycle-state 字段。
验证方法
提交创建请求后,通过以下方式确认是否成功:
- 控制台验证:进入实例详情页面,观察“实例状态”。若从 Provisioning 变为 Running,且不再报错,则生效。
- CLI 验证:运行上述 CLI 命令,确认
lifecycle-state为RUNNING。 - 失败特征:状态变回 Failed,错误信息依然包含 Out of Capacity 或 Host Error。
常见坑与风险
- 频繁刷新页面:短时间内大量刷新控制台或重复提交创建请求,可能被系统判定为异常流量,导致账号被暂时限制操作。
- 脚本封禁风险:使用第三方脚本抢资源时,如果请求频率过高(例如无延迟轮询),可能导致 API 密钥被临时禁用,影响正常业务操作。务必在脚本中加入随机延迟(例如每次请求间隔 30-60 秒)。
- 付费层级也报错:即使是付费实例,在极端热门区域也可能遇到容量不足,这不是免费 tier 独有的问题,只是免费 tier 概率更高。
- 数据迁移成本:更换区域后,如果后续需要将数据迁移回原区域,会产生跨区域流量费用,需提前评估。
参考来源
- Oracle Cloud Infrastructure Documentation, "Troubleshooting Instance Launch Failures"
- Oracle Cloud Community Forums