SuperAPI AI 工具集

compute-management

部署与运维

查看项目

更新于 10-15 08:17

技能介绍

OCI Compute Management 是一份面向 Oracle Cloud Infrastructure(OCI)计算实例管理的专家知识技能,适用于启动 OCI 计算实例、排查容量不足(out-of-capacity)或启动失败、优化计算成本以及处理实例生命周期等场景。

主要能力与核心内容:

一、禁止事项(NEVER Do This)

  • 启动实例前必须先检查服务限额,示例命令为 oci limits resource-availability get,并指定 --service-name compute、--limit-name "standard-e4-core-count"、--compartment-id 与 --availability-domain。资料指出 87% 的“out of capacity”错误实际上是配额限制而非基础设施容量问题,因此应在启动前检查限额以获得准确的错误信息。
  • 不要将控制台串行连接作为主要访问方式,因为它会绕过 SSH 密钥控制并产生安全审计发现;仅在 SSH 失败时用于启动故障排查,且排查后应立即删除连接。
  • 不要在模板中混用区域级和可用域(AD)特定资源,这会破坏跨区域迁移的可移植性;应采用与 AD 无关的设计,通过故障域而非硬编码 AD 来分布。
  • 在开发/测试环境中终止实例时不要忘记启动卷保留标志,示例命令为 oci compute instance terminate --instance-id <id> --preserve-boot-volume false;若不设置 --preserve-boot-volume false,每个被删除实例可能产生每月 50 美元以上的孤立启动卷费用。
  • 不要在生产实例上启用公网 IP,应使用堡垒服务或私有端点访问;资料称暴露实例可能导致每次安全事件 500 至 5000 美元以上的成本影响。
  • 当 Flex 规格覆盖相同配置时不要使用固定规格,固定规格(如 VM.Standard2.1)往往比 Flex 等价规格更贵,选择固定规格前应先比较 Flex 定价。

二、容量错误决策树 当出现“Out of host capacity for shape X”时,按以下顺序排查:

  1. 先检查服务限额(87% 的情况):若 available = 0,则申请限额提升(并非容量问题);若 available > 0,则为真实容量问题,继续后续步骤。
  2. 同一规格换不同 AD:尝试区域内每个 AD(PHX/IAD 各有 3 个,相互独立)。
  3. 同一系列换不同规格:E4 失败可尝试 E5(更新一代,通常更易获得容量);Standard 失败可尝试 Optimized 或 DenseIO 变体。
  4. 换架构:AMD 失败可尝试 ARM(A1.Flex 在 Intel/AMD 满载时通常仍有容量)。
  5. 所有 AD 都耗尽:创建容量预留(capacity reservation)以保证未来启动。

三、规格选择:成本与性能

  • 预算优先(节省约 66%):VM.Standard.A1.Flex(ARM),每 OCPU 每小时 0.01 美元,对比 AMD 的 0.03 美元;需注意测试 ARM 兼容性,并非所有软件都能在 ARM 上运行。
  • 通用型(均衡):VM.Standard.E4.Flex,CPU:RAM 比为 2:16,每 OCPU 每小时 0.03 美元;建议从 2 个 OCPU 起步,根据指标而非猜测进行扩展。
  • 内存密集型(数据库、缓存):VM.Standard.E4.Flex 自定义比例,最高可达 1:64 CPU:RAM;成本为每 OCPU 0.03 美元加每 GB RAM 0.0015 美元。

四、快速成本参考

  • A1.Flex(ARM):每 OCPU 每小时 0.01 美元,每 GB RAM 每小时 0.0015 美元,适合成本敏感且兼容 ARM 的场景。
  • E4.Flex(AMD):每 OCPU 每小时 0.03 美元,每 GB RAM 每小时 0.0015 美元,适合通用场景。
  • E5.Flex(AMD):每 OCPU 每小时 0.035 美元,每 GB RAM 每小时 0.0015 美元,适合最新一代、高性能需求。
  • Optimized3.Flex:每 OCPU 每小时 0.025 美元,每 GB RAM 每小时 0.0015 美元,适合网络密集型场景。
  • 免费层:2 个 AMD VM(1/8 OCPU、1GB)加 4 个 ARM 核心(共 24GB),始终免费。
  • 计算公式:(OCPUs × 每 OCPU 单价 + GB × 0.0015) × 每月 730 小时。示例:2 OCPU、16GB E4 = (2×0.03 + 16×0.0015) × 730 = 每月 61.32 美元。

五、实例主体认证(生产环境) 当实例需要调用 OCI API 时,不要把用户凭据放在实例上。步骤包括:

  1. 创建动态组:oci iam dynamic-group create --name "app-instances" --matching-rule "instance.compartment.id = '<compartment-ocid>'"。
  2. 授予权限(IAM 策略):"Allow dynamic-group app-instances to read object-family in compartment X"。
  3. 代码使用实例主体,无需凭据:signer = oci.auth.signers.InstancePrincipalsSecurityTokenSigner();client = oci.object_storage.ObjectStorageClient(config={}, signer=signer)。 优势:无需凭据轮换、无需管理密钥、自动刷新令牌。

六、OCI 特有注意事项

  • 可用域名称是租户特定的:你的 AD 可能是 fMgC:US-ASHBURN-AD-1,而另一租户是 ErKW:US-ASHBURN-AD-1;必须查询自己的租户:oci iam availability-domain list;硬编码示例中的 AD 名称会破坏跨租户可移植性。
  • 启动卷备份不包含实例配置:备份仅捕获磁盘,不包含规格、网络或元数据;灾难恢复应使用自定义镜像(捕获配置)或 Terraform 管理基础设施。
  • 实例元数据服务有 3 个版本,应始终使用 v2:v1 为 http://169.254.169.254/opc/v1/(旧版,易受 SSRF 攻击);v2 为 http://169.254.169.254/opc/v2/(需要会话令牌,防止 SSRF);旧实例上 v1 仍默认启用。

七、渐进式加载参考 在以下情况加载 references/oci-compute-shapes-reference.md:比较灵活规格(E4 与 E5 与 E6 与 A1/A2/A4.Flex)、查找裸金属、GPU、Dense I/O 或 HPC 规格、需要 Oracle 官方规格(内存限制、OCPU 数量、网络带宽)。快速成本比较、容量排查或规格选择时不要加载该文件,因为本技能已覆盖这些内容。