3.6. Job Scheduler for Cloud(OCI)の使い方¶
3.6.1. Job Scheduler for Cloud(OCI/Functions)の使い方¶
3.6.1.1. Job Scheduler for Cloud(OCI/Functions)の機能¶
Job Scheduler for Cloud(OCI/Functions)とは、Senju/DCのジョブスケジュール機能と連携し、OCI/Oracle Functionsを実行する機能です。
3.6.1.2. OCI連携機能の設定¶
- 説明
ジョブスケジュールサブシステムを用いてOCI/Functions連携機能を使用するための設定を行います。
- 設定手順
OCI/Functions連携機能を設定するには以下の手順が必要です。
Oracle Cloud Infrastructureユーザーの登録
認証方式設定
OCI情報設定ファイルの作成
3.6.1.2.1. Oracle Cloud Infrastructureユーザーの登録¶
OCI/Functions連携機能の利用において、事前にOracle Cloud Infrastructure ユーザーの登録が必要です。Oracle Cloud Infrastructureサイトよりユーザー登録を行って下さい。
3.6.1.2.1.1. ポリシーの作成¶
OCI/Functions連携機能を使用するため、 「OCI/Functions連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーグループにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
---|---|
OCI/Functions連携ジョブ |
Allow group <group-name> to inspect fn-app in compartment <compartment-name> |
3.6.1.2.2. 認証設定¶
3.6.1.2.2.1. インスタンス許可で認証する¶
OCI内のエージェントからOCI/Functions連携機能を実行する場合は、インスタンスを認可する方法で認証します。Oracle Cloud Infrastructureサイトより動的グループを作成し、インスタンスを動的グループのメンバーとして追加します。その後、OCIサービスへのAPIコールを許可するポリシーを作成して下さい。
ジョブ |
必要なアクセス権 |
---|---|
OCI/Functions連携ジョブ |
Allow dynamic-group <group-name> to inspect fn-app in compartment <compartment-name> |
3.6.1.2.2.2. APIキーで認証する¶
OCI外のエージェントからOCI/Functions連携機能を実行する場合は、ユーザーで作成したユーザー設定ファイルを利用して認証します。Oracle Cloud InfrastructureサイトよりAPIキー、フィンガープリント、テナンシのOCID、ユーザーのOCID、リージョンを取得し、ユーザー設定ファイルの作成 で作成して下さい。作成したユーザー設定ファイルをエージェントの千手稼働アカウントでアクセスできる位置に配置し、OCI情報設定ファイル(sj_oci_sys.json)の作成 でOCI情報設定ファイルにユーザー設定ファイルのパスを設定して下さい。
参照URL:https://docs.cloud.oracle.com/ja-jp/iaas/Content/API/Concepts/apisigningkey.htm
3.6.1.2.3. ユーザー設定ファイルの作成¶
ユーザー設定ファイルは、OCIに関する認証情報の設定ファイルです。dat/opt/sj_oci_user.json.sample をコピーして以下の項目を設定して下さい。
項目 |
省略 |
説明 |
---|---|---|
tenantOCID |
不可 |
テナンシのOCID |
userOCID |
不可 |
ユーザーのOCID |
region |
不可 |
リージョン |
fingerprint |
不可 |
APIキーのフィンガープリント |
privateKeyLocation |
不可 |
秘密キー・ファイルの絶対パス |
privateKeyPassphrase |
可 |
秘密キーを生成する時、設定したパスフレーズ |
3.6.1.2.4. OCI情報設定ファイル(sj_oci_sys.json)の作成¶
sj_oci_sys.jsonファイルは、OCIに関する情報の設定ファイルです。sj_oci_sys.jsonとOCI/Functions連携ジョブのパラメータの両方でユーザー設定ファイルを指定した場合は、OCI/Functions連携ジョブのパラメータで指定した値が有効になります。
設定方法については、Cloud Monitoring の sj_setup_oci - OCI情報設定ファイル更新 - を参照して下さい。
OCI情報設定ファイル(dat/opt/sj_oci_sys.json)を作成し、以下の項目を設定して下さい。
項目 |
省略 |
デフォルト |
暗号化対象 |
説明 |
---|---|---|---|---|
proxyURL |
可 |
― |
× |
OCI接続時に経由するプロキシサーバー。(次の形式で記載して下さい "<プロトコル>://<ipアドレス|ホスト名>:<ポート番号>") |
proxyUsername |
可 |
― |
× |
プロキシサーバーアクセス用ユーザーID |
proxyPassword |
可 |
― |
○ |
プロキシサーバーアクセス用パスワード(暗号化後のパスワード) |
userFilePath |
可 |
― |
× |
ユーザー設定ファイルの絶対パス |
userFilePathは、APIキーによる認証を行う場合に指定して下さい。
proxyUsernameおよびproxyPasswordの両方を指定しなかった場合、プロキシサーバーの認証に利用しません。
3.6.1.3. OCI/Functions連携ジョブの利用方法¶
OCI/Functions連携ジョブは、Oracle Cloud Infrastructure Consoleなどによって作成したOracle Functionsを実行します。
OCI/Functions連携ジョブが起動されると、引数に指定された内容でOracle Functionsを実行し、実行結果を標準出力に出力します。
OCI/Functions連携ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m OF
-ofc OCIコンパートメント名
-ofa OCIアプリケーション名
-ofn OCIファンクション名
-ofpf ファンクションパラメータ(JSONファイル名)
-ouf OCIのユーザー設定ファイル
オプション |
省略 |
デフォルト |
長さ |
説明 |
---|---|---|---|---|
-ofc |
不可 |
― |
― |
OCIコンパートメント名 |
-ofa |
不可 |
― |
― |
OCIアプリケーション名 |
-ofn |
不可 |
― |
― |
OCIファンクション名 |
-ofpf |
可 |
― |
― |
ファンクションパラメータ(JSONファイル名) |
-ouf |
可 |
― |
― |
OCIのユーザー設定ファイル |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。
OCIコンパートメント名、OCIアプリケーション名およびOCIファンクション名は、Oracle Cloud Infrastructureサイトで確認して下さい。
3.6.1.3.1. OCI/Functions連携ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
OCI/Functions連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでOCI/Functions連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
パラメータ |
説明 |
---|---|
OCIコンパートメント名 |
Cloud コンパートメントの名前を指定します。省略不可です。 |
OCIアプリケーション名 |
Cloud アプリケーションの名前を指定します。省略不可です。 |
OCIファンクション名 |
Oracle Functionの名前を指定します。省略不可です。 |
ファンクションパラメータ(JSONファイル名) |
Oracle Functionsへ渡す引数が記載されたJSONファイルを絶対パスで指定します。必要ない場合は省略可能です。 |
OCIの認証ファイル |
OCIのユーザー設定ファイルを絶対パスで指定します。sj_oci_sys.json で指定した場合、またはインスタンス許可で認証する場合は省略可能です。指定した場合はパラメータで指定した内容が優先されます。 |
3.6.1.3.2. OCI/Functions連携ジョブの処理の流れ(通常時)¶
OCI/Functions連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 6-3 OCI/Functions連携ジョブの処理の流れ」 および 「TABLE 6-7 OCI/Functions連携ジョブの処理の流れ」 に示す流れで動きます。
Senju/DC ジョブの状態 |
OCI/Functions実行 ジョブの処理内容 |
メッセージモニタの出力 |
---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、OCI/Clound Functions上の関数実行 |
|
正常終了 |
OCI/Functions実行に成功 |
!PEXC19 OCI/Functionsの関数実行に成功しました。 |
異常終了 |
OCI/Functions実行に失敗 |
!PEXC20 OCI/Functionsの関数実行に失敗しました。 |
OCI/Functions連携ジョブが起動されると、引数に指定された内容でOCI/Functionsを実行します。
OCI/Functionsを実行します。
OCI/Functionsが正しく実行されると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
OCI/Functionsが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
3.6.1.3.3. OCI/Functions連携ジョブの処理の流れ(強制停止時)¶
OCI/Functions連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、OCI/Functions連携ジョブを強制停止しても、関数実行中のOCI/Functionsは実行されたままとなります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。