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を中心としたプリセールスおよびフィールド技術を担当。 ...show more


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.02.02

OCIにおけるOracle Database 11g R2、12g R1、12g R2の新規プロビジョニング終了とその影響

Oracle Databaseのバージョン11g R2、12g.R1、12g.R2は既にすべてのメーカーサポートが終了しています。OCIのBase Database Serviceでも2024年1月中旬ころから11g R2、12g R1、12g R2での新規プロビジョニングができなくなりました。

  • Oracle Cloud
2024.01.19

Oracle Cloudのサービスリミットを理解し、適切に対処する方法

Oracle Cloudでクラウドアカウントごとに設定されているサービスの利用上限値「サービス制限(サービスリミット)」の引上げ方法とその注意点をご紹介します。

  • Oracle Database
  • Oracle Cloud
2023.12.15

ライセンスの観点から考えるOracle Cloudのススメ

オラクル社が提供しているクラウドサービス「Oracle Cloud」は、Oracle Databaseライセンス観点でも様々な効果があることはご存じでしょうか? ここでは「ライセンス」に焦点をあて、Oracle Cloudがおススメできるポイントを説明します。

ページの先頭へ戻る