2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OCI CLIでComputeの容量予約をしてみた

2
Last updated at Posted at 2025-07-21

はじめに

OCIには容量予約という仕組みがあり、特定のComputeを事前に確保しておくことができます。
「必要なときに確実にインスタンスを起動できるよう、あらかじめリソース枠を押さえておく」ための仕組みです。
予約済みのComputeは他のユーザーに使用されることはないので、使いたいときに予約枠から確実に起動することができます。
常時起動しておくのに比べ、85%のコストで容量予約をすることができます。

環境セットアップ

OCIコンソールから容量予約をすることができますが、今回はCLIで実行します。
手元のWindows PCでのOCI CLIのセットアップ方法はこちらをご確認ください。

OCI Cloud Shellを使う場合は、コンソールの右上にある[Cloud Shell]をクリックしてください。
image.png
Cloud ShellはOCI CLIがセットアップ済みの環境のため、すぐに実行することができます。

環境ごとの固有値の取得

容量予約を作成するのに①②、容量予約を更新するのに③が必要です。

①コンパートメントIDの取得

OCIコンソールのアイデンティティとセキュリティ>アイデンティティ>コンパートメント>コンパートメントの詳細ページでOCIDをコピーしてください。

②可用性ドメイン情報の取得

OCIコンソールのコンピュート>インスタンス>インスタンスの作成画面で確認できます。xxxx:AP-TOKYO-1-AD-1のxxxx部分がテナンシごとの固有値なので控えておいてください。

③容量予約のIDの取得

既存の容量予約の内容を更新する際に使用します。容量予約を作成するときには不要です。
OCIコンソールのコンピュート>容量予約>容量予約の詳細ページでOCIDをコピーしてください。

容量予約の作成

まずはじめに、容量予約をしたいComputeのShapeを記載したJSONファイル(shape-reservation.json)を作成します。

vi shape-reservation.json

下記のように記載します。ここでは、各FDごとにVM.Standard.E4.Flex(4GB,1OCPU)を1台予約することを想定しています。

shape-reservation.json
[
  {
    "faultDomain": "FAULT-DOMAIN-1",
    "instanceShape": "VM.Standard.E4.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 1
  },
  {
    "faultDomain": "FAULT-DOMAIN-2",
    "instanceShape": "VM.Standard.E4.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 1
  },
  {
    "faultDomain": "FAULT-DOMAIN-3",
    "instanceShape": "VM.Standard.E4.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 1
  }
]

容量予約を作成します。
--region ap-tokyo-1でリージョンを指定します。大阪の場合はap-osaka-1です。
--compartment-idでコンパートメントIDを指定します。
--availability-domain xxxx:AP-TOKYO-1-AD-1でADを指定します。xxxxはテナンシ固有の値です。

oci compute capacity-reservation create --region ap-tokyo-1 --compartment-id xxxxxx --availability-domain xxxx:AP-TOKYO-1-AD-1 --instance-reservation-configs file://shape-reservation.json

容量予約ができたか確認します。OCIコンソールのコンピュート>容量予約>容量構成のページで指定したコンピュートが予約できていることが確認できます。
image.png

容量予約の更新

先ほど作成した容量予約を更新します。
容量予約を更新したいComputeのShapeを記載したJSONファイル(shape-reservation-update.json)を作成します。

vi shape-reservation-update.json

下記のように記載します。ここでは、FD3のシェイプをVM.Standard.E3.Flex(4GB,1OCPU)に変更しています。変更を加えないFD1と2の情報はそのまま記載しておきます。

shape-reservation-update.json
[
  {
    "faultDomain": "FAULT-DOMAIN-1",
    "instanceShape": "VM.Standard.E4.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 1
  },
  {
    "faultDomain": "FAULT-DOMAIN-2",
    "instanceShape": "VM.Standard.E4.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 2
  },
  {
    "faultDomain": "FAULT-DOMAIN-3",
    "instanceShape": "VM.Standard.E3.Flex",
    "instanceShapeConfig": {
      "memoryInGBs": 4.0,
      "ocpus": 1.0
    },
    "reservedCount": 1
  }
]

容量予約の更新を行います。
--region ap-tokyo-1でリージョンを指定します。大阪の場合はap-osaka-1です。
--capacity-reservation-idで容量予約のIDを指定します。

oci compute capacity-reservation update --region ap-tokyo-1 --instance-reservation-configs file://shape-reservation-update.json --capacity-reservation-id xxxxxx

以下のように更新していいか聞かれるので、yと答えます。

WARNING: Updates to defined-tags and freeform-tags and instance-reservation-configs will replace any existing values. Are you sure you want to continue? [y/N]: y

容量予約が更新できたか確認します。OCIコンソールのコンピュート>容量予約>容量構成のページで指定したコンピュートが予約できていることが確認できます。
image.png

まとめ

今回は容量予約をOCIコンソールではなくCLIで実行してみました。OCIの容量予約は、必要なタイミングで確実にComputeリソースを確保したいときに非常に有効な仕組みです。
Cloud Shellやスクリプトと組み合わせることで、インフラ構成の自動化や構築精度の向上にもつながります。本番リリース前のリソース確保や、スケーラブルな構成を考える際には、容量予約の活用を検討してみてください。

参考

OCI CLI Command Reference (capacity-reservation create)

OOCI CLI Command Reference (capacity-reservation update)

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?