3.7. Job Scheduler for Cloud(IBM Cloud)の使い方

3.7.1. Job Scheduler for Cloud(IBM Cloud Functions)の使い方

3.7.1.1. Job Scheduler for Cloud(IBM Cloud Functions)の機能

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

3.7.1.2. IBM Cloud連携機能の設定

  • 説明

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

  • 設定手順

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

    • IBM Cloudユーザーの登録

    • 認証設定

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

3.7.1.2.1. IBM Cloudユーザーの登録

IBM Cloud Functions連携機能の利用において、事前にIBM Cloudユーザーの登録が必要です。IBM Cloudサイトよりユーザー登録を行って下さい。

3.7.1.2.2. 認証設定

3.7.1.2.2.1. APIキーで認証する

エージェントからIBM Cloud Functions連携機能を実行する場合は、IBM CloudユーザーまたはサービスIDに結び付いたAPIキーを使って認証します。IBM Cloudサイトより、IBM CloudユーザーまたはサービスIDにIBM Cloud Functionsへのアクセスを許可するアクセスポリシーを設定して下さい。IBM CloudユーザーまたはサービスIDのAPIキーを取得し、IBM Cloud情報設定ファイル(sj_ibc_sys.json)の作成 で、APIキーを暗号化した値をapiKeyの値に設定して下さい

表 3.50 サービスIDのAPIキーで認証に必要なアクセス権限

項目名

設定値

サービス

Functions

アクセス権限の範囲指定

すべてのリソース

プラットフォームアクセス

未指定

サービス・アクセス

リーダー

3.7.1.2.3. IBM Cloud情報設定ファイル(sj_ibc_sys.json)の作成

sj_ibc_sys.jsonファイルは、IBM Cloudに関する情報の設定ファイルです。IBM Cloud Functions連携ジョブのパラメータで指定した場合は、指定したファイルが有効になります。

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

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

表 3.51 sj_ibc_sys.jsonの記述内容

項目

省略

デフォルト

暗号化対象

説明

proxyURL

×

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

proxyUsername

×

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

proxyPassword

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

apiKey

不可

APIキー

region

不可

×

エンドポイント設定用リージョン

  • APIキーは、ユーザーのAPIキーとサービIDのAPIキー両方をサポートします。

  • proxyUsernameおよびproxyPasswordの両方を指定しなかった場合、プロキシサーバーの認証に利用しません。

3.7.1.3. IBM Cloud Functions連携ジョブの利用方法

IBM Cloud Functions連携ジョブは、IBM Cloud Consoleなどによって作成したIBM Cloud Functionsを実行します。

IBM Cloud Functions連携ジョブが起動されると、引数に指定された内容でIBM Cloud Functionsを実行し、実行結果を標準出力に出力します。

IBM Cloud Functions連携ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m IF
        -ins ネームスペースのID
        -ifn IBM Cloudファンクション名
        -ifdf ファンクションパラメータ(JSONファイル名)
        -iuf IBM Cloudの認証ファイル

オプション

省略

デフォルト

長さ

説明

-ins

不可

ファンクションが所属するネームスペースのID

-ifn

不可

IBM Cloudファンクション名

-ifdf

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

-iuf

IBM Cloudの認証ファイル


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

  • IBM Cloudファンクション名およびIBM CloudネームスペースのIDは、IBM Cloudサイトで確認して下さい。

3.7.1.3.1. IBM Cloud Functions連携ジョブテンプレートの使い方

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

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

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

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

../_images/032.png

図 3.50 IBM Cloud Functions連携ジョブテンプレートの使用


../_images/033.png

図 3.51 IBM Cloud Functions連携ジョブテンプレートの入力


表 3.52 IBM Cloud Functions連携ジョブテンプレートの入力

パラメータ

説明

ネームスペースID

IBM Cloud Functionsが所属するネームスペースのIDを指定します。省略不可です。

IBM Cloudファンクション名

IBM Cloud Functionsの名前を指定します。省略不可です。

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

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

IBM Cloudの認証ファイル

IBM Cloudの認証ファイルを絶対パスで指定します。省略可能です。指定した場合はパラメータで指定した内容が優先されます。

3.7.1.3.2. IBM Cloud Functions連携ジョブの処理の流れ(通常時)

IBM Cloud Functions連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 7-3  IBM Cloud Functions連携ジョブの処理の流れ」 および 「TABLE 7-6  IBM Cloud Functions連携ジョブの処理の流れ」 に示す流れで動きます。

../_images/034.svg

図 3.52 IBM Cloud Functions連携ジョブの処理の流れ


表 3.53 IBM Cloud Functions連携ジョブの処理の流れ

Senju/DC

ジョブの状態

IBM Cloud Functions実行

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、IBM Cloud Functions上の関数実行

正常終了

IBM Cloud Functions実行に成功

!PEXC21

IBM Cloud Functionsの関数実行に成功しました。

異常終了

IBM Cloud Functions実行に失敗

!PEXC22

IBM Cloud Functionsの関数実行に失敗しました。


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

  2. IBM Cloud Functionsを実行します。

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

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

3.7.1.3.3. IBM Cloud Functions連携ジョブの処理の流れ(強制停止時)

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

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

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