Skip to content
Back to skills

Compute Management

ASecurity

Use when launching OCI compute instances, troubleshooting out-of-capacity or boot failures, optimizing compute costs, or handling instance lifecycle. Covers shape selection, capacity planning, service limits, instance principal auth, and production gotchas. KEYWORDS: compute, instance, shape, capacity, OCPU, boot volume, launch, flex.

  • 221 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 4, 2026
securitygobashterraformapidatabasesecurityperformance

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 13 files and shows the line behind each finding

Scanned September 4, 2026

npx -y skills add NeverSight/skills_feed --skill compute-management --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Compute Management?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Compute Management
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/neversight-compute-management/badge)](https://www.skillsdirectory.com/skills/neversight-compute-management)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: compute-management
description: "Use when launching OCI compute instances, troubleshooting out-of-capacity or boot failures, optimizing compute costs, or handling instance lifecycle. Covers shape selection, capacity planning, service limits, instance principal auth, and production gotchas. KEYWORDS: compute, instance, shape, capacity, OCPU, boot volume, launch, flex."
---

# OCI Compute Management - Expert Knowledge

## NEVER Do This

**NEVER launch instances without checking service limits first**
```bash
oci limits resource-availability get \
  --service-name compute \
  --limit-name "standard-e4-core-count" \
  --compartment-id <ocid> \
  --availability-domain <ad>
```
87% of "out of capacity" errors are actually quota limits, not infrastructure capacity. Check limits BEFORE launching to get accurate error messages.

**NEVER use console serial connection as primary access**
- Creates security audit findings (bypasses SSH key controls)
- Use only for boot troubleshooting when SSH fails
- Delete connection immediately after troubleshooting

**NEVER mix regional and AD-specific resources in templates**
- Breaks portability when moving between regions
- Use AD-agnostic designs: spread via fault domains, not hardcoded ADs

**NEVER forget boot volume preservation flag in dev/test**
```bash
oci compute instance terminate --instance-id <id> --preserve-boot-volume false
```
Without `--preserve-boot-volume false`: $50+/month per deleted instance (orphaned boot volumes accumulate silently)

**NEVER enable public IP on production instances**
- Use bastion service or private endpoints for access
- Cost impact: $500–5000+ per security incident from exposed instances

**NEVER use fixed shapes when Flex covers the same specs**
- Fixed shapes (e.g., VM.Standard2.1) are often MORE expensive than Flex equivalents
- Always compare Flex pricing first before choosing a fixed shape

## Capacity Error Decision Tree

```
"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 a capacity issue)
│     └─ available > 0 → True capacity issue, continue below
│
├─ Same shape, different AD?
│  └─ Try each AD in region (PHX/IAD each have 3, all independent)
│
├─ Different shape, same series?
│  └─ E4 failed → try E5 (newer gen, often more available)
│  └─ 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)
```

## Shape Selection: Cost vs Performance

**Budget-critical** (save ~66%):
- VM.Standard.A1.Flex (ARM): $0.01/OCPU/hr vs $0.03 AMD
- Caveat: test ARM compatibility — not all software runs on ARM

**General purpose** (balanced):
- VM.Standard.E4.Flex: 2:16 CPU:RAM ratio, $0.03/OCPU/hr
- Start with 2 OCPUs, scale based on metrics — not guesses

**Memory-intensive** (databases, caches):
- VM.Standard.E4.Flex with custom ratio: up to 1:64 CPU:RAM
- Cost: $0.03/OCPU + $0.0015/GB RAM

## Quick Cost Reference

| Shape Family      | $/OCPU/hr | $/GB RAM/hr | Best For                        |
|-------------------|-----------|-------------|---------------------------------|
| A1.Flex (ARM)     | $0.01     | $0.0015     | Cost-critical, ARM-compatible   |
| E4.Flex (AMD)     | $0.03     | $0.0015     | General purpose                 |
| E5.Flex (AMD)     | $0.035    | $0.0015     | Latest gen, premium performance |
| Optimized3.Flex   | $0.025    | $0.0015     | Network-intensive               |

**Free Tier**: 2x AMD VM (1/8 OCPU, 1GB) + 4 ARM cores (24GB total) — always free

**Formula**: (OCPUs × $/OCPU + GB × $0.0015) × 730 hrs/month
Example: 2 OCPU, 16GB E4 = (2×$0.03 + 16×$0.0015) × 730 = **$61.32/month**

## Instance Principal Authentication (Production)

When an instance needs to call OCI APIs, NEVER put user credentials on the instance.

```bash
# 1. Create dynamic group
oci iam dynamic-group create \
  --name "app-instances" \
  --matching-rule "instance.compartment.id = '<compartment-ocid>'"

# 2. Grant permissions (IAM policy)
# "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)
```

Benefits: No credential rotation, no secrets to manage, automatic token refresh.

## OCI-Specific Gotchas

**Availability Domain names are tenant-specific**
- Your AD: `fMgC:US-ASHBURN-AD-1`
- Another tenant: `ErKW:US-ASHBURN-AD-1`
- MUST query your own tenant: `oci iam availability-domain list`
- Hardcoding AD names from examples breaks cross-tenant portability

**Boot Volume backups do NOT include instance config**
- Backup captures disk only — NOT shape, networking, or metadata
- For DR: use custom images (captures config) or Terraform for infrastructure

**Instance Metadata Service has 3 versions — always use v2**
- v1: `http://169.254.169.254/opc/v1/` (legacy, vulnerable to SSRF)
- v2: `http://169.254.169.254/opc/v2/` (requires session token, prevents SSRF)
- v1 is still enabled by default on older instances

## Progressive Loading Reference

Load [`references/oci-compute-shapes-reference.md`](references/oci-compute-shapes-reference.md) when:
- Comparing flexible shape specs (E4 vs E5 vs E6 vs A1/A2/A4.Flex)
- Looking up bare metal, GPU, Dense I/O, or HPC shapes
- Need official Oracle specs (memory limits, OCPU counts, network bandwidth)

Do NOT load for quick cost comparisons, capacity troubleshooting, or shape selection — this file covers those.

Files in this skill

  • SKILL.md5.7 KB
  • description_ar.txt581 B
  • description_cn.txt301 B
  • description_de.txt399 B
  • description_en.txt337 B
  • description_es.txt470 B
  • description_fr.txt476 B
  • description_it.txt484 B
  • description_ja.txt577 B
  • description_ko.txt381 B
  • description_ru.txt808 B
  • description_tw.txt316 B
  • stats.json68 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in security →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.