5
2

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 3 years have passed since last update.

Oracle Cloud Infrastructure (OCI)でのタスクスケジューリング (CRON 編)

Last updated at Posted at 2021-10-11

#はじめに
Cloud サービス利用しているとき、スケジューリングタスクの実行が必要な場合があります。例えば:インスタンスの自動起動・停止をスケジュールする
記事を作成時点、オラクルは、クラウドネイティブ機能としてスケジューリングを提供していません。その機能リリースされる可能性がありますが、それまでは、これは実行可能な代替手段としての方法を検討しました。

#方法
OCIコンピューティングインスタンスでのCRONジョブを設定、OCI CLIを利用してOCIを操作

#環境
OS: Oracle-Linux-7.9

#手順
##STEP1: OCI CLI インストール
下記の記事を参照

Oracle Cloud : コマンド・ライン・インタフェース(CLI) をインストールしてみた

##STEP2: 必要タスクのシェル作成
例1: Computeインスタンス起動停止
ファイル:/home/opc/ocicli/ocicompute.sh

#!/bin/bash

oci compute instance action --instance-id $1 --action $2

if [ $? -eq 0 ]
then
  echo "Success"
  exit 0
else
  echo "Failure" 
  exit 1
fi

$1 - instance-id (例:ocid1.instance.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa)
$2 - action (例:start , softstop , stop )
※通知やエラー処理などを省略させてください。

インスタンス起動使用例:

/home/opc/ocicli/ocicompute.sh ocid1.instance.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa start

例2:DBインスタンスシェイプ変更
ファイル:/home/opc/ocicli/changedbshape.sh

#!/bin/bash

oci db system update --db-system-id $1 --shape $2

if [ $? -eq 0 ]
the
  echo "Success"
  exit 0
else
  echo "Failure" 
  exit 1
fi

$1 - db-system-id (例:ocid1.dbsystem.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa)
$2 - shape (例:VM.Standard2.1 ,VM.Standard2.2 )
※通知やエラー処理などを省略させてください。

シェイプをVM.Standard2.2に変更使用例:

/home/opc/ocicli/changedbshape.sh ocid1.dbsystem.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa VM.Standard2.2

##STEP3: 実行権限追加
例:

chmod u+x /home/opc/ocicli/ocicompute.sh
chmod u+x /home/opc/ocicli/changedbshape.sh
 

##STEP3: CRON 設定
例1:毎日9時インスタンス起動、20時インスタンスを停止

0 9 * * * /home/opc/ocicli/ocicompute.sh ocid1.instance.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimuwb2eciaq3kqzvegzp7os3ub6obyrxa start
0 20 * * * /home/opc/ocicli/ocicompute.sh ocid1.instance.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimuwb2eciaq3kqzvegzp7os3ub6obyrxa softstop

例2:毎月1日DBインスタンスのシェイプをVM.Standard2.2に変更
毎月25日DBインスタンスのシェイプをVM.Standard2.4に変更

0 0 1 * * /home/opc/ocicli/changedbshape.sh ocid1.dbsystem.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa VM.Standard2.2
0 0 25 * * /home/opc/ocicli/changedbshape.sh ocid1.dbsystem.oc1.ap-tokyo-1.anxhiljr5tza4ciczisonvcjybtimu4b2eciaq3kqzvegzp7os3ub6odvzxa VM.Standard2.4

#参考資料:
https://mytechretreat.com/5-ways-to-schedule-serverless-functions-on-oracle-cloud-infrastructure/

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?