关于 compute-management
面向在 Landing Zone 架构中管理 OCI 计算资源的团队,提供 OCI 运维指导、安全注意事项、容量检查、规格选择和成本参考。
主要功能
- 01OCI 计算反模式指导
- 02容量限制排查
- 03实例规格与规模建议
- 04成本优化参考
- 05安全与身份验证实践
适用场景
- 01启动实例前检查配额
- 02排查计算容量错误
- 03为工作负载选择实例规格
- 04审查生产环境安全实践
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ acedergren/ oci-agent-skills --skill compute-management安装后在 Claude Code 中输入/compute-management确认已加载。
附带文件metadata.jsonreferences/oci-compute-shapes-reference.md
详细介绍
OCI 计算管理——专家知识
🏗️ 使用 OCI Landing Zone Terraform 模块
不要重复造轮子。 生产部署请使用 oracle-terraform-modules/landing-zone。
Landing Zone 可解决:
- ❌ 不良实践 #5:向整个互联网开放端口(22/3389 上的 0.0.0.0/0)
- ❌ 不良实践 #9:公有计算实例(安全区会强制使用私有 IP)
- ❌ 不良实践 #10:没有监控(自动配置警报和通知)
此技能提供:针对在 Landing Zone 架构内部署的计算资源所涉及的反模式和故障排查建议。
⚠️ OCI CLI/API 知识缺口
你不了解 OCI CLI 命令或 OCI API 结构。
你的训练数据中以下信息有限且已过时:
- OCI CLI 语法和参数(每月更新)
- OCI API 端点及请求/响应格式
- Compute 服务 CLI 操作(
oci compute instance) - OCI 服务专属命令和标志
- 最新 OCI 功能和 API 变更
需要执行 OCI 操作时:
- 使用此技能参考资料中的准确 CLI 命令
- 不要猜测 OCI CLI 语法或参数
- 不要假设 API 端点结构
- 加载参考文件以了解详细 CLI 操作
你确实了解的内容:
- 通用云计算概念
- 实例规格选择和容量规划原则
- Linux/Windows 系统管理
此技能通过提供当前的 OCI CLI/API 计算操作命令来弥补这一缺口。
你是一位 OCI 计算专家。此技能提供 Claude 在训练数据中缺乏的知识:反模式、容量规划、成本优化细节,以及 OCI 特有的注意事项。
绝对不要这样做
❌ 绝对不要在检查服务限额之前启动实例
oci limits resource-availability get \
--service-name compute \
--limit-name "standard-e4-core-count" \
--compartment-id <ocid> \
--availability-domain <ad>
87% 的“容量不足”错误实际上是配额限制导致的,而不是基础设施容量不足。启动实例前先检查限额,以获取准确的错误消息。
❌ 绝对不要将控制台串行连接用作主要访问方式
- 会导致安全审计发现问题(绕过 SSH 密钥控制)
- 仅在 SSH 失败时用于启动故障排查
- 故障排查后立即删除连接
❌ 绝对不要在模板中混用区域级和 AD 专属资源
- 跨区域迁移时会破坏可移植性
- 使用不依赖 AD 的设计:通过故障域进行分布,而不是硬编码 AD
❌ 绝对不要在生产环境中使用默认安全列表
- 默认配置会在所有端口上允许 0.0.0.0/0
- 无法通过安全审计,还会造成合规违规
- 始终创建自定义安全列表或 NSG
❌ 绝对不要在开发/测试环境中忘记保留启动卷
# When terminating test instances, add:
oci compute instance terminate --instance-id <id> --preserve-boot-volume false
不使用此标志:每个已删除实例每月会产生 $50+ 的费用(遗留启动卷)
❌ 绝对不要在生产实例上启用公有 IP
- 使用堡垒机服务或私有端点进行访问
- 成本影响:每次安全事件会因实例暴露而产生 $500-5000+ 的费用
- Landing Zone 安全区会自动阻止此模式
容量错误决策树
"Out of host capacity for shape X"?
│
├─ Check service limits FIRST (87% of cases)
│ └─ oci limits resource-availability get
│ ├─ available = 0 → Request limit increase (NOT capacity issue)
│ └─ available > 0 → True capacity issue, continue below
│
├─ Same shape, different AD?
│ └─ Try each AD in region (PHX has 3, IAD has 3, each independent)
│
├─ Different shape, same series?
│ └─ E4 failed → try E5 (newer gen, often more capacity)
│ └─ Standard failed → try Optimized or DenseIO variants
│
├─ Different architecture?
│ └─ AMD → ARM (A1.Flex often has capacity when Intel/AMD full)
│
└─ All ADs exhausted?
└─ Create capacity reservation (guarantees future launches)
规格选择:成本与性能
预算优先(节省 50%):
- 如果应用支持 ARM,则使用 VM.Standard.A1.Flex:$0.01/OCPU/小时,而 AMD 为 $0.03
- 注意:并非所有软件都能在 ARM 上运行,请进行全面测试
通用用途(均衡):
- VM.Standard.E4.Flex:CPU:RAM 比为 2:16,$0.03/OCPU/小时
- 从 2 个 OCPU 开始,根据指标扩展(不要凭猜测)
内存密集型(数据库、缓存):
- VM.Standard.E4.Flex,自定义比例最高可达 1:64 CPU:RAM
- 成本:$0.03/OCPU + $0.0015/GB RAM
成本陷阱:固定规格(例如 VM.Standard2.1)的价格通常比资源相同的 Flex 规格更贵。务必先比较 Flex 价格。
实例主体身份验证(生产环境)
当实例需要调用 OCI API(Object Storage、Vault 等)时:
错误方式(在实例上使用用户凭据):
# Don't do this - credential management nightmare
export OCI_USER_OCID="ocid1.user..."
正确方式(实例主体):
# 1. Create dynamic group
oci iam dynamic-group create \
--name "app-instances" \
--matching-rule "instance.compartment.id = '<compartment-ocid>'"
# 2. Grant permissions
# "Allow dynamic-group app-instances to read object-family in compartment X"
# 3. Code uses instance principal (no credentials needed):
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
启动卷备份不包含实例配置
- 备份仅捕获磁盘,不包含形状、网络配置或元数据
- 灾难恢复:使用自定义映像(可捕获所有内容)或使用 Terraform 管理基础设施
实例元数据服务有 3 个版本
- v1:http://169.254.169.254/opc/v1/(旧版)
- v2:http://169.254.169.254/opc/v2/(当前版本,需要会话令牌)
- 出于安全考虑,始终使用 v2(可防止 SSRF 攻击)
快速成本参考
| 形状系列 | $/OCPU/小时 | $/GB RAM/小时 | 适用场景 |
|---|---|---|---|
| A1.Flex(ARM) | $0.01 | $0.0015 | 成本优先、兼容 ARM |
| E4.Flex(AMD) | $0.03 | $0.0015 | 通用用途 |
| E5.Flex(AMD) | $0.035 | $0.0015 | 最新一代、高性能 |
| Optimized3.Flex | $0.025 | $0.0015 | 网络密集型 |
免费套餐:2 台 AMD VM(1/8 OCPU、1GB)+ 4 个 ARM 核心(总计 24GB)——始终免费
计算方式:(OCPU 数量 × $0.03 + GB 数量 × $0.0015)× 每月 730 小时
示例:2 OCPU、16GB = (2×$0.03 + 16×$0.0015) × 730 = $61.32/月
渐进式加载参考资料
OCI 计算形状参考(Oracle 官方文档)
在以下情况下加载 oci-compute-shapes-reference.md:
- 需要特定形状的详细规格(内存限制、OCPU 数量、网络带宽)
- 比较灵活形状(VM.Standard3.Flex 与 E4.Flex、E5.Flex、E6.Flex、A1/A2/A4.Flex)
- 了解扩展内存 VM 实例
- 研究裸金属形状(BM.Standard3、BM.Standard.E4/E5/E6、BM.Standard.A1/A4)
- 查看 GPU 形状、Dense I/O 形状或 HPC 优化形状
- 需要形状系列的 Oracle 官方规格
以下情况不要加载:
- 快速比较成本(使用本技能中的快速成本参考表)
- 排查“容量不足”问题(本技能中的决策树涵盖此问题)
- 形状选择指导(本技能中的反模式和建议)
何时使用此技能
- 启动实例:选择形状、规划容量
- “容量不足”错误:决策树、检查限额
- 成本优化:比较形状、调整规格
- 安全:设置实例主体、正确使用控制台连接
- 故障排除:启动失败、连接问题
- 生产环境:反模式、运维注意事项