4.6. Job Scheduler for Cloud(OCI)の使い方

4.6.1. Job Scheduler for Cloud(OCI/Functions)の使い方

4.6.1.1. Job Scheduler for Cloud(OCI/Functions)の機能

Job Scheduler for Cloud(OCI/Functions)とは、Senju/DCのジョブスケジュール機能と連携し、OCI/Oracle Functionsを実行する機能です。

4.6.1.2. OCI連携機能の設定

  • 説明

    ジョブスケジュールサブシステムを用いてOCI/Functions連携機能を使用するための設定を行います。

  • 設定手順

    OCI/Functions連携機能を設定するには以下の手順が必要です。

    • ポリシーの作成

    • 認証設定

    • OCI情報設定ファイルの作成

4.6.1.2.1. ポリシーの作成

OCI/Functions連携機能を使用するため、 「表 4.64 OCI/Functions連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーグループにアクセス権限を付与します。

表 4.64 OCI/Functions連携機能に必要なアクセス権限

ジョブ

必要なアクセス権

OCI/Functions連携ジョブ

Allow group <group-name> to inspect fn-app in compartment <compartment-name>
Allow group <group-name> to inspect fn-function in compartment <compartment-name>
Allow group <group-name> to use fn-invocation in compartment <compartment-name>

4.6.1.2.2. 認証設定

4.6.1.2.2.1. インスタンス許可で認証する

OCI内のエージェントからOCI/Functions連携機能を実行する場合は、インスタンスを認可する方法で認証します。Oracle Cloud Infrastructureサイトより動的グループを作成し、インスタンスを動的グループのメンバーとして追加します。その後、OCIサービスへのAPIコールを許可するポリシーを作成して下さい。

表 4.65 動的グループに必要なアクセス権限

ジョブ

必要なアクセス権

OCI/Functions連携ジョブ

Allow dynamic-group <group-name> to inspect fn-app in compartment <compartment-name>
Allow dynamic-group <group-name> to inspect fn-function in compartment <compartment-name>
Allow dynamic-group <group-name> to use fn-invocation in compartment <compartment-name>

4.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

4.6.1.2.3. ユーザー設定ファイルの作成

ユーザー設定ファイルは、OCIに関する認証情報の設定ファイルです。dat/opt/sj_oci_user.json.sample をコピーして以下の項目を設定して下さい。

表 4.66 ユーザー設定ファイルの記述内容

項目

省略

説明

tenantOCID

不可

テナンシのOCID

userOCID

不可

ユーザーのOCID

region

不可

リージョン

fingerprint

不可

APIキーのフィンガープリント

privateKeyLocation

秘密キー・ファイルの絶対パス

privateKeyPassphrase

秘密キーを生成する時、設定したパスフレーズ

4.6.1.2.4. OCI情報設定ファイル(sj_oci_sys.json)の作成

sj_oci_sys.jsonファイルは、OCIに関する情報の設定ファイルです。sj_oci_sys.jsonとOCI/Functions連携ジョブのパラメータの両方でユーザー設定ファイルを指定した場合は、OCI/Functions連携ジョブのパラメータで指定した値が有効になります。

設定方法については、Cloud Monitoringsj_setup_oci - OCI情報設定ファイル更新 - を参照して下さい。

OCI情報設定ファイル(dat/opt/sj_oci_sys.json)を作成し、以下の項目を設定して下さい。

表 4.67 sj_oci_sys.jsonの記述内容

項目

省略

デフォルト

暗号化対象

説明

proxyURL

×

OCI接続時に経由するプロキシサーバー。(次の形式で記載して下さい "<プロトコル>://<ipアドレス|ホスト名>:<ポート番号>")

proxyUsername

×

プロキシサーバーアクセス用ユーザーID

proxyPassword

プロキシサーバーアクセス用パスワード(暗号化後のパスワード)

userFilePath

×

ユーザー設定ファイルの絶対パス

  • userFilePathは、APIキーによる認証を行う場合に指定して下さい。

  • プロキシサーバーアクセス用ユーザーIDおよびパスワードは両方が指定されている場合のみ有効となります。

  • プローブの環境変数 HTTPS_PROXY https_proxy の設定が有効となります。
    • 優先順位は、HTTPS_PROXY > OCI情報設定ファイルのプロキシ設定 > https_proxy の順となります。

4.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サイトで確認して下さい。

4.6.1.3.1. OCI/Functions連携ジョブテンプレートの使い方

ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。

OCI/Functions連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。

ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。

ジョブテンプレート入力ウィンドでOCI/Functions連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/028.png

図 4.61 OCI/Functions連携ジョブテンプレートの使用


../_images/029.png

図 4.62 OCI/Functions連携ジョブテンプレートの入力


表 4.68 OCI/Functions連携ジョブテンプレートの入力

パラメータ

説明

OCIコンパートメント名

Cloud コンパートメントの名前を指定します。省略不可です。

OCIアプリケーション名

Cloud アプリケーションの名前を指定します。省略不可です。

OCIファンクション名

Oracle Functionの名前を指定します。省略不可です。

ファンクションパラメータ(JSONファイル名)

Oracle Functionsへ渡す引数が記載されたJSONファイルを絶対パスで指定します。必要ない場合は省略可能です。

OCIの認証ファイル

OCIのユーザー設定ファイルを絶対パスで指定します。sj_oci_sys.json で指定した場合、またはインスタンス許可で認証する場合は省略可能です。指定した場合はパラメータで指定した内容が優先されます。

4.6.1.3.2. OCI/Functions連携ジョブの処理の流れ(通常時)

OCI/Functions連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.63 OCI/Functions連携ジョブの処理の流れ」 および 「表 4.69 OCI/Functions連携ジョブの処理の流れ」 に示す流れで動きます。

../_images/030.png

図 4.63 OCI/Functions連携ジョブの処理の流れ


表 4.69 OCI/Functions連携ジョブの処理の流れ

Senju/DC

ジョブの状態

OCI/Functions実行

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、OCI/Clound Functions上の関数実行

正常終了

OCI/Functions実行に成功

!PEXC19

OCI/Functionsの関数実行に成功しました。

異常終了

OCI/Functions実行に失敗

!PEXC20

OCI/Functionsの関数実行に失敗しました。


  1. OCI/Functions連携ジョブが起動されると、引数に指定された内容でOCI/Functionsを実行します。

  2. OCI/Functionsを実行します。

  3. OCI/Functionsが正しく実行されると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

  4. OCI/Functionsが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。

4.6.1.3.3. OCI/Functions連携ジョブの処理の流れ(強制停止時)

OCI/Functions連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。

Senju/DCのジョブスケジュールより、OCI/Functions連携ジョブを強制停止しても、関数実行中のOCI/Functionsは実行されたままとなります。

Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。

4.6.2. Job Scheduler for Cloud(OCIオブジェクト待ちジョブ)の使い方

4.6.2.1. Job Scheduler for Cloud(OCIオブジェクト待ちジョブ)の機能

Job Scheduler for Cloud(OCIオブジェクト待ちジョブ)とは、Senju/DCのジョブスケジュール機能と連携し、OCIオブジェクトの存在確認を実行する機能です。

4.6.2.2. OCI連携機能の設定

  • 説明

    ジョブスケジュールサブシステムを用いてOCIオブジェクト待ち機能を使用するための設定を行います。

  • 設定手順

    OCIオブジェクト待ち機能を設定するには以下の手順が必要です。

    • ポリシーの作成

    • 認証設定

    • OCI情報設定ファイルの作成

4.6.2.2.1. ポリシーの作成

OCIオブジェクト待ち機能を使用するため、 「表 4.70 OCIオブジェクト待ち機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーグループにアクセス権限を付与します。

表 4.70 OCIオブジェクト待ち機能に必要なアクセス権限

ジョブ

必要なアクセス権

OCIオブジェクト待ちジョブ

Allow group <group-name> to inspect objects in compartment <compartment-name>

4.6.2.2.2. 認証設定

4.6.2.2.2.1. インスタンス許可で認証する

OCI内のエージェントからOCIオブジェクト待ち機能を実行する場合は、インスタンスを認可する方法で認証します。Oracle Cloud Infrastructureサイトより動的グループを作成し、インスタンスを動的グループのメンバーとして追加します。その後、OCIサービスへのAPIコールを許可するポリシーを作成して下さい。

表 4.71 動的グループに必要なアクセス権限

ジョブ

必要なアクセス権

OCIオブジェクト待ちジョブ

Allow dynamic-group <group-name> to inspect objects in compartment <compartment-name>

4.6.2.2.2.2. APIキーで認証する

OCI外のエージェントからOCIオブジェクト待ち機能を実行する場合は、ユーザーで作成したユーザー設定ファイルを利用して認証します。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

4.6.2.2.3. ユーザー設定ファイルの作成

ユーザー設定ファイルは、OCIに関する認証情報の設定ファイルです。dat/opt/sj_oci_user.json.sample をコピーして以下の項目を設定して下さい。

表 4.72 ユーザー設定ファイルの記述内容

項目

省略

説明

tenantOCID

不可

テナンシのOCID

userOCID

不可

ユーザーのOCID

region

不可

リージョン

fingerprint

不可

APIキーのフィンガープリント

privateKeyLocation

秘密キー・ファイルの絶対パス

privateKeyPassphrase

秘密キーを生成する時、設定したパスフレーズ

4.6.2.2.4. OCI情報設定ファイル(sj_oci_sys.json)の作成

sj_oci_sys.jsonファイルは、OCIに関する情報の設定ファイルです。sj_oci_sys.jsonとOCIオブジェクト待ちジョブのパラメータの両方でユーザー設定ファイルを指定した場合は、OCIオブジェクト待ちジョブのパラメータで指定した値が有効になります。

設定方法については、Cloud Monitoringsj_setup_oci - OCI情報設定ファイル更新 - を参照して下さい。

OCI情報設定ファイル(dat/opt/sj_oci_sys.json)を作成し、以下の項目を設定して下さい。

表 4.73 sj_oci_sys.jsonの記述内容

項目

省略

デフォルト

暗号化対象

説明

proxyURL

×

OCI接続時に経由するプロキシサーバー。(次の形式で記載して下さい "<プロトコル>://<ipアドレス|ホスト名>:<ポート番号>")

proxyUsername

×

プロキシサーバーアクセス用ユーザーID

proxyPassword

プロキシサーバーアクセス用パスワード(暗号化後のパスワード)

userFilePath

×

ユーザー設定ファイルの絶対パス

interval

30

×

取得間隔(秒)

MaxWaitTime

無制限

×

最大待ち時間(秒)

  • userFilePathは、APIキーによる認証を行う場合に指定して下さい。

  • プロキシサーバーアクセス用ユーザーIDおよびパスワードは両方が指定されている場合のみ有効となります。

  • プローブの環境変数 HTTPS_PROXY https_proxy の設定が有効となります。
    • 優先順位は、HTTPS_PROXY > OCI情報設定ファイルのプロキシ設定 > https_proxy の順となります。

4.6.2.3. OCIオブジェクト待ちジョブの利用方法

OCIオブジェクト待ちジョブは、指定された取得間隔でOCIオブジェクトの存在確認が実行され、最大待ち時間まで実行を繰り返します。

OCIオブジェクト待ちジョブが起動されると、引数に指定された内容で実行し、実行結果を標準出力に出力します。

OCIオブジェクト待ちジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m OWF
        -ci OCIコンパートメント
        -onn OCIネームスペース名
        -obn バケット名
        -oon オブジェクト名
        -ouf OCI認証ファイル

オプション

省略

デフォルト

長さ

説明

-ci

不可

OCIコンパートメントIDまたはコンパートメント名

-onn

不可

OCIネームスペース名

-obn

不可

バケット名

-oon

不可

オブジェクト名

-ouf

OCI認証ファイル


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。

  • OCIコンパートメントIDまたはコンパートメント名、OCIネームスペース名、バケット名およびオブジェクト名は、Oracle Cloud Infrastructureサイトで確認して下さい。

  • OCIオブジェクト待ちジョブの実行が同時に20個を超える場合は、プローブノードの負荷が上昇する可能性がありますのでご注意下さい。

4.6.2.3.1. OCIオブジェクト待ちジョブテンプレートの使い方

ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。

OCIオブジェクト待ちジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。

ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。

ジョブテンプレート入力ウィンドでOCIオブジェクト待ちジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/063.png

図 4.64 OCIオブジェクト待ちジョブテンプレートの使用


../_images/064.png

図 4.65 OCIオブジェクト待ちジョブテンプレートの入力


表 4.74 OCIオブジェクト待ちジョブテンプレートの入力

パラメータ

説明

OCIコンパートメント

OCIコンパートメントIDまたはコンパートメント名を指定します。省略不可です。

OCIネームスペース名

OCIネームスペース名を指定します。省略不可です。

バケット名

バケット名を指定します。省略不可です。

オブジェクト名

オブジェクト名を指定します。省略不可です。

OCI認証ファイル

OCIのユーザー設定ファイルを絶対パスで指定します。sj_oci_sys.json で指定した場合、またはインスタンス許可で認証する場合は省略可能です。指定した場合はパラメータで指定した内容が優先されます。

4.6.2.3.2. OCIオブジェクト待ちジョブの処理の流れ(通常時)

OCIオブジェクト待ちジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.66 OCIオブジェクト待ちジョブの処理の流れ」 および 「表 4.75 OCIオブジェクト待ちジョブの処理の流れ」 に示す流れで動きます。

../_images/065.png

図 4.66 OCIオブジェクト待ちジョブの処理の流れ


表 4.75 OCIオブジェクト待ちジョブの処理の流れ

Senju/DC

ジョブの状態

OCIオブジェクト待ちジョブ実行

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、OCIオブジェクト待ちジョブ実行

正常終了

OCIオブジェクト待ちジョブの実行に成功

!PEXC29

OCIオブジェクト待ちのジョブ実行に成功しました。

異常終了

OCIオブジェクト待ちジョブの実行に失敗

!PEXC30

OCIオブジェクト待ちのジョブ実行に失敗しました。


  1. OCIオブジェクト待ちジョブが起動されると、引数に指定された内容でブジェクトの存在確認を実行します。

  2. OCIオブジェクト待ちジョブが正しく実行されると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

  3. OCIオブジェクト待ちジョブが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。

4.6.2.3.3. OCIオブジェクト待ちジョブの処理の流れ(強制停止時)

OCIオブジェクト待ちジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。

Senju/DCのジョブスケジュールより、OCIオブジェクト待ちジョブを強制停止し、オブジェクトの存在確認も停止となります。

Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。