Database Support Blog

  • Oracle Cloud
2021.01.08

OCI CLIでCompute VMとDatabase VMを操作する方法

「OCI CLI」を利用すると、管理コンソールにアクセスしなくてもOracle Cloud上のサービスを操作したり、状態を確認することが可能です。

今回は「OCI CLI」を利用して、Compute VMとDatabase VMのサービスインスタンスを起動・停止する方法をご紹介します。

※前回の記事
OCI CLIを利用してコマンドラインからOCIを操作する方法


Compute VMの操作

OCL CLIを利用してDatabase VMインスタンスを操作するには、対象となるサービス・インスタンスのOCIDが必要です。

OCID確認

コマンドを実行する前に、管理コンソールを利用してOCIDを確認します。
管理コンソールの「メニュー >> コンピュート」よりサービス・インスタンス一覧を表示します。

OCI 管理コンソール

対象のインスタンスを選択し、インスタンスの詳細画面のインスタンス情報”一般情報”のOCIDを確認します。「コピー」を選択し、OCIDをテキストなどに記録しておくと便利です。

OCI 管理コンソール

操作

OCI CLIの設定を行ったサーバで以下のコマンドを実行します。

状態確認


サービス・インスタンスが起動しているのか、どのようなシェイプで作成されたかなどインスタンスの構成情報を確認します。

コマンド構文

oci compute instance get --instance-id <instanceのOCID>

 
 
 $ oci compute instance get  --instance-id ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq
 {
   "data": {
     "agent-config": {
       "is-management-disabled": false,
       "is-monitoring-disabled": false
     },
     "availability-domain": "lihX:AP-TOKYO-1-AD-1",
     "compartment-id": "ocid1.compartment.oc1.XXXXXXXXXXXXXXXXXXXl243v2buffayrt3cijca",
     "dedicated-vm-host-id": null,
     "defined-tags": {
       "Oracle-Tags": {
         "CreatedBy": "oracleidentitycloudservice/XXXXXXX",
         "CreatedOn": "2020-04-11T08:22:25.230Z"
       }
     },
     "display-name": "OCISVwin201601",---サービス・インスタンス名
     "extended-metadata": {},
     "fault-domain": "FAULT-DOMAIN-3",
     "freeform-tags": {},
     "id": "ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq",
     "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
     "ipxe-script": null,
     "launch-mode": "PARAVIRTUALIZED",
     "launch-options": {
       "boot-volume-type": "PARAVIRTUALIZED",
       "firmware": "UEFI_64",
       "is-consistent-volume-naming-enabled": false,
       "is-pv-encryption-in-transit-enabled": false,
       "network-type": "PARAVIRTUALIZED",
       "remote-data-volume-type": "PARAVIRTUALIZED"
     },
     "lifecycle-state": "STOPPED",---インスタンス状態(停止済)
     "metadata": {},
     "region": "ap-tokyo-1",---リージョン情報
     "shape": "VM.Standard.E2.1",---シェイプ情報
     "source-details": {
       "boot-volume-size-in-gbs": null,
       "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
       "kms-key-id": null,
       "source-type": "image"
     },
     "system-tags": {},
     "time-created": "2020-04-11T08:22:26.179000+00:00",
     "time-maintenance-reboot-due": null
   },
   "etag": "XXXXXXXXXXXXXXXXXXXXXXX5ca706d1cbdc055744f94e6d71cd7b6b315f0e"
 }
 
 
 

起動

サービス・インスタンスが停止している場合に、起動操作を実行します。
※プロンプトはすぐに戻ってきますが、起動処理は実行中です。
 (プロンプトが戻ってくる=起動済ではありません。)
 処理が完了したかどうかは、状態の確認コマンドを利用して” lifecycle-state ”を確認します。

コマンド構文

oci compute instance action --instance-id <instanceのOCID> --action start

 
 
 $ oci compute instance action --instance-id ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq --action start
 {
   "data": {
     "agent-config": {
       "is-management-disabled": false,
       "is-monitoring-disabled": false
     },
     "availability-domain": "lihX:AP-TOKYO-1-AD-1",
     "compartment-id": "ocid1.compartment.oc1.XXXXXXXXXXXXXXXXXXXl243v2buffayrt3cijca",
     "dedicated-vm-host-id": null,
     "defined-tags": {
       "Oracle-Tags": {
         "CreatedBy": "oracleidentitycloudservice/saito@ashisuto.co.jp",
         "CreatedOn": "2020-04-11T08:22:25.230Z"
       }
     },
     "display-name": "OCISVwin201601",
     "extended-metadata": {},
     "fault-domain": "FAULT-DOMAIN-3",
     "freeform-tags": {},
     "id": "ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq",
     "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
     "ipxe-script": null,
     "launch-mode": "PARAVIRTUALIZED",
     "launch-options": {
       "boot-volume-type": "PARAVIRTUALIZED",
       "firmware": "UEFI_64",
       "is-consistent-volume-naming-enabled": false,
       "is-pv-encryption-in-transit-enabled": false,
       "network-type": "PARAVIRTUALIZED",
       "remote-data-volume-type": "PARAVIRTUALIZED"
     },
     "lifecycle-state": "STARTING",---インスタンスの状態(起動中)
     "metadata": {},
     "region": "ap-tokyo-1",
     "shape": "VM.Standard.E2.1",
     "source-details": {
       "boot-volume-size-in-gbs": null,
       "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
       "kms-key-id": null,
       "source-type": "image"
     },
     "system-tags": {},
     "time-created": "2020-04-11T08:22:26.179000+00:00",
     "time-maintenance-reboot-due": null
   },
   "etag": "81c5036f1369d4fd75b46df5e0cd7d37ec7e1d32c52562f0215cfeb2244e73cb"
 }
 
 
 

管理コンソールの状態は処理直後は”STARTING”と表示されます。

OCI 管理コンソール

処理が完了すると管理コンソールの状態は”RUNNING”に変わります。

OCI 管理コンソール

停止

サービス・インスタンスが起動している場合に、停止操作を実行します。
※プロンプトはすぐに戻ってきますが、停止処理は実行中です。
 (プロンプトが戻ってくる=停止済ではありません。)
 処理が完了したかどうかは、状態の確認コマンドを利用して” lifecycle-state ”を確認します。

コマンド構文

oci compute instance action --instance-id <instanceのOCID> --action stop

 
 
 [drops2020@oci-hirkyou-db-ops ~]$ oci compute instance action --instance-id ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq --action stop
 {
   "data": {
     "agent-config": {
       "is-management-disabled": false,
       "is-monitoring-disabled": false
     },
     "availability-domain": "lihX:AP-TOKYO-1-AD-1",
     "compartment-id": "ocid1.compartment.oc1.XXXXXXXXXXXXXXXXXXXl243v2buffayrt3cijca",
     "dedicated-vm-host-id": null,
     "defined-tags": {
       "Oracle-Tags": {
         "CreatedBy": "oracleidentitycloudservice/saito@ashisuto.co.jp",
         "CreatedOn": "2020-04-11T08:22:25.230Z"
       }
     },
     "display-name": "OCISVwin201601",
     "extended-metadata": {},
     "fault-domain": "FAULT-DOMAIN-3",
     "freeform-tags": {},
     "id": "ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq",
     "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
     "ipxe-script": null,
     "launch-mode": "PARAVIRTUALIZED",
     "launch-options": {
       "boot-volume-type": "PARAVIRTUALIZED",
       "firmware": "UEFI_64",
       "is-consistent-volume-naming-enabled": false,
       "is-pv-encryption-in-transit-enabled": false,
       "network-type": "PARAVIRTUALIZED",
       "remote-data-volume-type": "PARAVIRTUALIZED"
     },
     "lifecycle-state": "STOPPING",---インスタンスの状態(停止中)
     "metadata": {},
     "region": "ap-tokyo-1",
     "shape": "VM.Standard.E2.1",
     "source-details": {
       "boot-volume-size-in-gbs": null,
       "image-id": "ocid1.image.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa6dkpsxv6bjraseurkyj7tswtrrq",
       "kms-key-id": null,
       "source-type": "image"
     },
     "system-tags": {},
     "time-created": "2020-04-11T08:22:26.179000+00:00",
     "time-maintenance-reboot-due": null
   },
   "etag": "88a790d56dedb8ad6f601610493366b648f0d012461a66957cea2ccd49e62987"
 }
 
 
 

管理コンソールの状態は処理直後は”STOPPING”と表示されます。

OCI 管理コンソール

処理が完了すると管理コンソールの状態は”STOPPED”と表示されます。

OCI 管理コンソール


Database VMの操作

Database VMインスタンスをOCL CLIコマンドを利用して操作する場合は、対象のサービス・インスタンスのノードのOCIDが必要です。

OCID確認

コマンドを実行する前に、管理コンソールを利用してノードのOCIDを確認します。
管理コンソールの「メニュー >> ベア・メタル、VMおよびExadata 」よりサービス・インスタンス一覧を表示します。

OCI 管理コンソール

対象のインスタンスを選択し、”リソース”より「ノード」を選択します。右端にあるメニューより、「OCIDのコピー」を選択します。

OCI 管理コンソール

操作

OCI CLIの設定を行ったサーバで以下のコマンドを実行します。

状態確認

サービス・インスタンスが起動しているのか、どのようなシェイプで作成されたかなどインスタンスの構成情報を確認します。

コマンド構文

oci db node get --db-node-id <db nodeのOCID>

 
 
 $ oci db node get --db-node-id ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq
 {
   "data": {
     "additional-details": null,
     "backup-vnic-id": null,
     "db-system-id": "ocid1.dbsystem.oc1.ap-tokyo-1.abxhiljruvcXXXXXXXXXXXXXXXXXXXXXXXy7ie4ig6q6ta",
     "fault-domain": "FAULT-DOMAIN-1",
     "hostname": "ocisvdb19c01",
     "id": "ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq",
     "lifecycle-state": "STOPPED",---インスタンス状態(停止済)
     "maintenance-type": null,
     "software-storage-size-in-gb": 200,
     "time-created": "2020-04-18T23:16:36.748000+00:00",
     "time-maintenance-window-end": null,
     "time-maintenance-window-start": null,
     "vnic-id": "ocid1.vnic.oc1.ap-tokyo-1.abXXXXXXXXXXXXXXXXXXXXXXXXXXXXX47slhppjas7bds7xpvefa"
   },
   "etag": "eacfc35b"
 }
 
 
 

起動

サービス・インスタンスが停止している場合に、起動操作を実行します。
※プロンプトはすぐに戻ってきますが、起動処理は実行中です。
 (プロンプトが戻ってくる=起動済ではありません。)
 処理が完了したかどうかは、状態の確認コマンドを利用して” lifecycle-state ”を確認します。

コマンド構文

oci db node start --db-node-id <db nodeのOCID>

 
 
 $ oci db node start --db-node-id ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq
 {
   "data": {
     "additional-details": null,
     "backup-vnic-id": null,
     "db-system-id": "ocid1.dbsystem.oc1.ap-tokyo-1.abxhiljruvcXXXXXXXXXXXXXXXXXXXXXXXy7ie4ig6q6ta",
     "fault-domain": "FAULT-DOMAIN-1",
     "hostname": "ocisvdb19c01",
     "id": "ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq",
     "lifecycle-state": "STARTING",---インスタンスの状態(起動中)
     "maintenance-type": null,
     "software-storage-size-in-gb": 200,
     "time-created": "2020-04-18T23:16:36.748000+00:00",
     "time-maintenance-window-end": null,
     "time-maintenance-window-start": null,
     "vnic-id": "ocid1.vnic.oc1.ap-tokyo-1.abXXXXXXXXXXXXXXXXXXXXXXXXXXXXX47slhppjas7bds7xpvefa"
   },
   "etag": "4aed9c10",
   "opc-work-request-id": "opc-work-request-id": "ocid1.coreservicesworkrequest.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXX6c7xpvefa"
 }
 
 
 
 

管理コンソールの状態は処理直後は”起動中”と表示されます。

OCI 管理コンソール

処理が完了すると管理コンソールの状態は”使用可能”と表示されます。

停止

サービス・インスタンスが起動している場合に、停止操作を実行します。
※プロンプトはすぐに戻ってきますが、停止処理は実行中です。
 (プロンプトが戻ってくる=停止済ではありません。)
 処理が完了したかどうかは、状態の確認コマンドを利用して” lifecycle-state ”を確認します。

コマンド構文

oci db node stop --db-node-id <db nodeのOCID>

 
 
 $ oci db node stop --db-node-id ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq
 {
   "data": {
     "additional-details": null,
     "backup-vnic-id": null,
     "db-system-id": "ocid1.dbsystem.oc1.ap-tokyo-1.abxhiljruvcXXXXXXXXXXXXXXXXXXXXXXXy7ie4ig6q6ta",
     "fault-domain": "FAULT-DOMAIN-1",
     "hostname": "ocisvdb19c01",
     "id": "ocid1.dbnode.oc1.ap-tokyo-1.abxhiljrqg7s2XXXXXXXXXXXXXXXXXXXXXXXXXfwsromtq",
     "lifecycle-state": "STOPPING",---インスタンス状態(停止中)
     "maintenance-type": null,
     "software-storage-size-in-gb": 200,
     "time-created": "2020-04-18T23:16:36.748000+00:00",
     "time-maintenance-window-end": null,
     "time-maintenance-window-start": null,
     "vnic-id": "ocid1.vnic.oc1.ap-tokyo-1.abXXXXXXXXXXXXXXXXXXXXXXXXXXXXX47slhppjas7bds7xpvefa"
   },
   "etag": "e00969fd",
   "opc-work-request-id": "ocid1.coreservicesworkrequest.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXX6cjra3x6tsiq"
 }  
  
 
 


管理コンソールの状態は処理直後は”停止中”と表示されます。

OCI 管理コンソール

処理が完了すると管理コンソールの状態は”停止済”と表示されます。

OCI 管理コンソール

Tips

OCI CLIコマンドで情報を確認する時は、必要な項目を絞ると便利です。

インスタンスの状態のみを取得する場合

$ oci compute instance get --instance-id <インスタンスのOCID> | grep -ie <取得項目>

 
 
 [drops2020@oci-hirkyou-db-ops ~]$ oci compute instance get  --instance-id ocid1.instance.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXXXXa24ajo2wgkcirdiigqonq | grep -ie lifecycle-state
    "lifecycle-state": "STOPPED",---状態を示す項目のみ表示
 
 

まとめ

OCI CLIコマンドを利用すると、管理コンソールへ接続せずともサービス・インスタンスの起動や停止の操作ができます。
スクリプトを作成し、スケジューリングして実行すれば課金制御にも繋がります。
OCI CLIコマンドを監視ツールと組み合わせてりようすることで通知や操作をすることも実現できます。

今後は、「OCI CLIコマンドの整形方法」や「コマンドでサービスを作成する方法」をお伝えしたいと思います。

<参考情報>
OCI CLIコマンドリファレンス
コマンドライン(CLI)でOCIを操作する - Oracle Cloud Infrastructureアドバンスド
OCI CLIを利用してコマンドラインからOCIを操作する方法


執筆者情報

いとう さやね プロフィール画像

2012年アシスト入社後、Oracle Databaseフィールドエンジニアに従事。
2017年からはOracle Cloudを中心としたプリセールスおよびフィールド技術を担当。


■商標に関して
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
2021.02.18

オンプレミス環境とクラウドを接続してみよう!~1.オフィス環境準備~

クラウドを使い始めたいけど、何からやれば良いか悩む方も多いと思います。そんな方への情報収集のネタとして、アシストの社内検証環境でオンプレミス環境とOracle Cloudとを接続するために実施した経験を共有します。第1回目は必要となる設備の準備にフォーカスしてご紹介します。

  • Oracle Cloud
2021.02.12

IDCSユーザーでOCIリソースを扱うには?

OCIには、IAMユーザーとIDCSユーザーの2種類のOracle Cloudのユーザーがいます。IDCSユーザーでOracle Cloudのリソースを扱うには、IAMのポリシーをアタッチする必要があります。この記事では一連の設定手順をご紹介します。

  • Oracle Cloud
2021.02.04

Oracle Cloudの課金状況を把握しよう

Oracle Cloudは従量課金制となっており、使った分だけ課金されます。「今月分の課金っていくらだろう」「どのサービスでいくらかかったんだろう」という疑問が出てくるかと思います。そのような時の確認方法をご紹介します。

ページの先頭へ戻る