OCIに作成したインスタンスを自動で起動・停止させてみます

みなさま、こんにちは。Oracle Cloud使ってますか?

今回もお客様からよくご質問がある
「インスタンスって自動で起動・停止できるの?」
についてご紹介します!

今回は
2.OCI CLIを使用する
の方法を試してみます!

前回の記事も是非ご覧ください!

今回の目標です

目標

  • OCI上に作成したインスタンスを自動で起動、停止させる

前提

  • VCNやインスタンスは作成済みとします。
  • 各インスタンスのOSはOracle Linux8です。
  • 他のインスタンスからOCI CLIコマンドを実行することにより、対象インスタンスの起動停止を行います。
    そのため、1台は必ず起動したままのインスタンスが必要です
  • Hinemos Managerは起動したままのインスタンスとして利用します。

構成、Hinemos ManagerやAgentの構築方法は以下を参考にしてね!
OCI上でHinemosを使ってみよう

まずはOCI CLI で動作確認をしてみます

こちらのサイトを参考にOCI CLIをインストールし、構成ファイルの検証まで行います。

OCI CLIでインスタンスの起動、停止を実行するコマンドは以下になります。

oci compute instance action --instance-id <instance_OCID> --action [START/SOFTSTOP]

STOPを指定すると直ちに切断されるよ

<instance_OCID>の部分を、自動起動・停止対象のインスタンスのOCIDに置き換えます。

実行して、エラーが出ないこと、OCIのWeb管理画面からインスタンスが起動(停止)したことを確認します。
あとはcronやタスクスケジューラ等で指定した時間にコマンドを実行するように設定します。

今回はこれで終わり・・・?

Hinemosを使って自動起動・停止設定を行ってみます

いえいえ、これで終わりではありません。
せっかくなのでHinemosのジョブ機能を利用してインスタンスの自動起動・停止を試してみます。

ジョブを作成します

Hinemosの管理画面にログインし、「ジョブ設定」パースペクティブに移動します。
詳細なジョブ作成手順についてはこちらもご参照ください。

ジョブユニットを作成します。ジョブIDとジョブ名はわかりやすい名前にします。

次にジョブネットを作成します。ジョブIDとジョブ名はわかりやすい名前にします。

コマンドジョブを作成します。ジョブIDとジョブ名はわかりやすい名前にします。
待ち条件タブで、ジョブの開始時刻を設定します。
「追加」をクリックします。

名前は「時刻」を選択します。
時刻を入力し、「OK」をクリックします。

コマンドタブから、実行するコマンドの設定を行います。
「スコープ」では、コマンドを実行するノード(つまりHinemos Manager)を選択します。
「起動コマンド」に上で試したインスタンスの起動コマンドを入力します。

注意!
ociコマンドはフルパスで書いてね!

同様に、停止用のコマンドジョブを作成します。
ジョブを登録後、インスタンスが起動(停止)するか即時実行で試すことができます。

最後に

今回はOCI CLIを用いてHinemosからのインスタンス起動停止方法についてご紹介しました
いかがでしたでしょうか?

もしHinemosについて興味がありましたら、ぜひこちらからお問い合わせください!
前回の記事も是非ご覧くださいね。