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

投稿者プロフィール

技術チーム
技術チーム
DBひとりでできるもんを盛り上げるべく、技術チームが立ち上がり早6年。ひとりでできるもんと言いつつ、技術者が読んでプッとなるような、極めてピンポイントでマニアックな技術ネタを執筆しています!