OCI CLIを使用してインスタンスのライフサイクル状態を取得する方法

Developer

OCI-CLIで、OCIの各インスタンスのライフサイクル状態を取得する方法を紹介します。バッチスクリプトでインスタンス起動・停止を実現する際の事前チェックとして活用できます。

No.OCI サービス稼働中
の状態
停止中
の状態
コマンド
レファレンス
1Compute InstanceRUNNINGSTOPPEDDocs » compute » instance
2Autonomous AI DB
(ADB)
AVAILABLESTOPPEDDocs » db » autonomous-database
3Oracle Base DatabaseAVAILABLESTOPPEDDocs » db » node
4Oracle Analytics Cloud (OAC)ACTIVEINACTIVEDocs » analytics » analytics-instance
5OCI Data Integration
(OCI DI)
ACTIVESTOPPEDDocs » data-integration » workspace

1. Compute Instance

  • 指定したインスタンスの状態を取得
    oci compute instance get --instance-id <Compute_OCID> --query 'data."lifecycle-state"'

PowerShellの例:(RUNNING - 稼働中)

PS C:\Users\opc> oci compute instance get --instance-id ocid1.instance.oc1.ap-tokyo-1.<中略> --query 'data.\"lifecycle-state\"'
"RUNNING"
PS C:\Users\opc>
  • 指定したコンパートメント内のすべてのインスタンスの状態の取得
    oci compute instance list -c --query 'data[].{"Name":"display-name", "State":"lifecycle-state"}' --output table

PowerShellの例:

PS C:\Users\opc> oci compute instance list -c ocid1.compartment.oc1..<中略> --query 'data[].{"Name":\"display-name\", "State":\"lifecycle-state\"}' --output table
+----------------+---------+
| Name           | State   |
+----------------+---------+
| Oracle_Linux_8 | RUNNING |
| Windows2019    | STOPPED |
+----------------+---------+
PS C:\Users\opc>

2. Autonomous AI Database

  • 指定したADBインスタンスの状態を取得
    oci db autonomous-database get --autonomous-database-id --query 'data."lifecycle-state"'

PowerShellの例:(AVAILABLE - 使用可能)

PS C:\Users\opc> oci db autonomous-database get --autonomous-database-id ocid1.autonomousdatabase.oc1.ap-tokyo-1.<中略> --query 'data.\"lifecycle-state\"'
"AVAILABLE"
PS C:\Users\opc>
  • 指定したコンパートメント内のすべてのADBインスタンスの状態の取得
    oci db autonomous-database list -c --query 'data[].{"Name":"display-name", "State":"lifecycle-state"}' --output table

PowerShellの例:

PS C:\Users\opc> oci db autonomous-database list -c ocid1.compartment.oc1..<中略> --query 'data[].{"Name":\"display-name\", "State":\"lifecycle-state\"}' --output table
+-------+-----------+
| Name  | State     |
+-------+-----------+
| ADW02 | STOPPED   |
| ADW01 | AVAILABLE |
+-------+-----------+
PS C:\Users\opc>

3. Oracle Base Database

確認対象は、DBシステムではなくDBノードの状態です。

DBの詳細画面から、DBノードのOCIDを取得できます。
Get DB node OCID

指定したDBノードの状態を取得
oci db node get --db-node-id --query 'data."lifecycle-state"'

Cloud Shellの例:

<username>@cloudshell:~ (ap-tokyo-1)$ oci db node get --db-node-id ocid1.dbnode.oc1.ap-tokyo-1.<中略> --query 'data."lifecycle-state"'
"STOPPED"

4. Oracle Analytics Cloud (OAC)

指定したインスタンスの状態を取得
oci analytics analytics-instance get --analytics-instance-id --query 'data."lifecycle-state"'

Cloud Shellの例:

<username>@cloudshell:~ (ap-tokyo-1)$ oci analytics analytics-instance get --analytics-instance-id ocid1.analyticsinstance.oc1.ap-tokyo-1.<中略> --query 'data."lifecycle-state"'
"DELETED"
OACインスタンスを一時停止しても、課金が完全に停止するわけではありません。通常の15%の課金が引き続き発生します。再開すると、通常の課金に戻ります。課金を完全に停止したい場合は、OACインスタンスを削除する必要があります。

5. OCI Data Integration (OCI DI)

指定したワークスペースの状態を取得
oci data-integration workspace get --workspace-id --query 'data."lifecycle-state"'

Cloud Shellの例:

<username>@cloudshell:~ (ap-tokyo-1)$ oci data-integration workspace get --workspace-id ocid1.disworkspace.oc1.ap-tokyo-1.<中略> --query 'data."lifecycle-state"'
"STOPPED"

付録 - query引数の書き方

query引数の書き方は、実行環境により違いがあります。

実行環境書き方
Linux (or Cloud Shell)--query 'data."lifecycle-state"'
Windows BAT--query "data.\"lifecycle-state\""
Windows PowerShell--query 'data.\"lifecycle-state\"'
"display-name" や "lifecycle-state" のようにハイフンが含まれる項目には、ダブルクォーテーションを付ける必要があります。Windowsの場合、ダブルクォーテーションを付ける際に '\'(バックスラッシュ) を忘れずに。

以上

参考資料

MOSドキュメント(Doc ID 2934259.1)の記載内容の抜粋:
OAC instance billing

タイトルとURLをコピーしました