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 Compute Management - エキスパート向け知識
🏗️ OCI Landing Zone Terraform Modules を使用する
一から作り直す必要はありません。 本番環境へのデプロイには oracle-terraform-modules/landing-zone を使用してください。
Landing Zone が解決する問題:
- ❌ 悪い慣行 #5:インターネット全体に開かれたポート(22/3389 で 0.0.0.0/0)
- ❌ 悪い慣行 #9:パブリックコンピュートインスタンス(Security Zones によりプライベート 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 を有効にしてはいけません
- アクセスには Bastion サービスまたはプライベートエンドポイントを使用してください
- コストへの影響:インスタンスの公開によるセキュリティインシデント 1 件につき 500~5000 ドル以上
- Landing Zone Security Zones は、このパターンを自動的にブロックします
キャパシティエラーの判断ツリー
"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%節約):
- アプリが対応している場合は VM.Standard.A1.Flex(ARM):AMD の 0.03 ドルに対し、0.01 ドル/OCPU/時
- 注意点:ARM では動作しないソフトウェアもあるため、十分にテストしてください
汎用(バランス重視):
- VM.Standard.E4.Flex:CPU と RAM の比率は 2:16、0.03 ドル/OCPU/時
- まずは 2 OCPU から始め、推測ではなくメトリクスに基づいてスケールしてください
メモリ負荷の高い用途(データベース、キャッシュ):
- VM.Standard.E4.Flex でカスタム比率を設定:CPU と RAM の比率は最大 1:64
- コスト: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
ブート・ボリュームのバックアップにはインスタンス構成が含まれません
- バックアップに含まれるのはディスクのみです。シェイプ/ネットワーク設定/メタデータは含まれません
- DR には、すべてを取得できるカスタム・イメージ、またはインフラストラクチャ向けの 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 | ネットワーク負荷の高い用途 |
無料利用枠:AMD VM 2 台(1/8 OCPU、1GB)+ ARM コア 4 個(合計 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 公式仕様が必要な場合
次の場合は読み込まないでください:
- コストを手早く比較する場合(このスキルのコスト早見表を使用してください)
- 「容量不足」のトラブルシューティングを行う場合(このスキルの判断ツリーで対応できます)
- シェイプ選択のガイダンスが必要な場合(このスキルのアンチパターンと推奨事項を参照してください)
このスキルを使用する場面
- インスタンスの起動:シェイプの選択、容量計画
- 「容量不足」エラー:判断ツリー、制限の確認
- コストの最適化:シェイプの比較、適正サイズへの調整
- セキュリティ:インスタンス・プリンシパルの設定、コンソール接続の適切な使用
- トラブルシューティング:ブートの失敗、接続の問題
- 本番環境:アンチパターン、運用上の注意点