1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[OCI]OCI CLIで--wait-for-stateオプションを使用して同期処理を行う

Last updated at Posted at 2023-04-12

はじめに

スクリプト内でOCI CLIを使用してComputeインスタンスやDBシステムのDBノードの起動/停止を行う際に、起動/停止が完了してから次の処理に移りたいといったケースがよくあります。
例えば、DBノードの起動が完了してから、APサーバであるComputeインスタンスを起動するといった場合です。

単にOCI CLIで起動/停止のコマンドを実行すると、APIコールが完了するとコマンドが終了してしまいます(非同期処理)が、--wait-for-stateオプションを使用することで、対象となるComputeインスタンスやDBノードが指定した状態になるまでコマンドが終了しません(同期処理)。
これにより前述のような起動/停止が完了してから次の処理に移るといったことが可能になります。

ただし、サービス毎に--wait-for-stateの状態を表す値が異なるので注意が必要です。

1. Computeインスタンスの起動/停止

OCI CLIでComputeインスタンスを起動するには、以下のようなコマンドを使用します。

oci compute instance action --action START --instance-id インスタンスのOCID

インスタンスの起動が完了してからコマンドが終了するようにするには、
--wait-for-state 'RUNNING'
を追加します。

oci compute instance action --action START --instance-id インスタンスのOCID --wait-for-state 'RUNNING'

OCI CLIでComputeインスタンスを停止するには、以下のようなコマンドを使用します。

oci compute instance action --action SOFTSTOP --instance-id インスタンスのOCID

インスタンスの停止が完了してからコマンドが終了するようにするには、
--wait-for-state 'STOPPED'
を追加します。

oci compute instance action --action SOFTSTOP --instance-id インスタンスのOCID --wait-for-state 'STOPPED'

2. BaseDBのDBノードの起動/停止

OCI CLIでDBノードを起動するには、以下のようなコマンドを使用します。

oci db node start --db-node-id DBノードのOCID

DBノードの起動が完了してからコマンドが終了するようにするには、
--wait-for-state 'AVAILABLE'
を追加します。

oci db node start --db-node-id DBノードのOCID --wait-for-state 'AVAILABLE'

OCI CLIでDBノードを停止するには、以下のようなコマンドを使用します。

oci db node stop --db-node-id DBノードのOCID

DBノードの停止が完了してからコマンドが終了するようにするには、
--wait-for-state 'STOPPED'
を追加します。

oci db node stop --db-node-id DBノードのOCID --wait-for-state 'STOPPED'

3. Autonomous Databaseの起動/停止

OCI CLIでAutonomous Databaseを起動するには、以下のようなコマンドを使用します。

oci db autonomous-database start --autonomous-database-id Autonomous DatabaseのOCID

Autonomous Databaseの起動が完了してからコマンドが終了するようにするには、
--wait-for-state 'AVAILABLE'
を追加します。

oci db autonomous-database start --autonomous-database-id Autonomous DatabaseのOCID --wait-for-state 'AVAILABLE'

OCI CLIでAutonomous Databaseを停止するには、以下のようなコマンドを使用します。

oci db autonomous-database stop --autonomous-database-id Autonomous DatabaseのOCID

Autonomous Databaseの停止が完了してからコマンドが終了するようにするには、
--wait-for-state 'STOPPED'
を追加します。

oci db autonomous-database stop --autonomous-database-id Autonomous DatabaseのOCID --wait-for-state 'STOPPED'

4. Oracle Analytics CloudのAnalyticsインスタンスの起動/停止

OCI CLIでAnalyticsインスタンスを起動(再開)するには、以下のようなコマンドを使用します。

oci analytics analytics-instance start --analytics-instance-id AnalyticsインスタンスのOCID

Analyticsインスタンスの起動が完了してからコマンドが終了するようにするには、
--wait-for-state 'SUCCEEDED'
を追加します。

oci analytics analytics-instance start --analytics-instance-id AnalyticsインスタンスのOCID --wait-for-state 'SUCCEEDED'

OCI CLIでAnalyticsインスタンスを停止(一時停止)するには、以下のようなコマンドを使用します。

oci analytics analytics-instance stop --analytics-instance-id AnalyticsインスタンスのOCID

Analyticsインスタンスの停止が完了してからコマンドが終了するようにするには、
--wait-for-state 'SUCCEEDED'
を追加します。

oci analytics analytics-instance stop --analytics-instance-id AnalyticsインスタンスのOCID --wait-for-state 'SUCCEEDED'

参考情報

OCI CLI Command Reference
oci compute instance action
oci db node start
oci db node stop
oci db autonomous-database start
oci db autonomous-database stop
oci analytics analytics-instance start
oci analytics analytics-instance stop

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?