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連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーグループにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
OCI/Functions連携ジョブ |
Allow group <group-name> to inspect fn-app in compartment <compartment-name> |
4.6.1.2.2. 認証設定¶
4.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> |
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 をコピーして以下の項目を設定して下さい。
項目 |
省略 |
説明 |
|---|---|---|
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 Monitoring の sj_setup_oci - OCI情報設定ファイル更新 - を参照して下さい。
OCI情報設定ファイル(dat/opt/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連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.61 OCI/Functions連携ジョブテンプレートの使用¶
図 4.62 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連携ジョブの処理の流れ」 に示す流れで動きます。
図 4.63 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ジョブは異常終了します。
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オブジェクト待ち機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーグループにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
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コールを許可するポリシーを作成して下さい。
ジョブ |
必要なアクセス権 |
|---|---|
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 をコピーして以下の項目を設定して下さい。
項目 |
省略 |
説明 |
|---|---|---|
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 Monitoring の sj_setup_oci - OCI情報設定ファイル更新 - を参照して下さい。
OCI情報設定ファイル(dat/opt/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オブジェクト待ちジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.64 OCIオブジェクト待ちジョブテンプレートの使用¶
図 4.65 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オブジェクト待ちジョブの処理の流れ」 に示す流れで動きます。
図 4.66 OCIオブジェクト待ちジョブの処理の流れ¶
Senju/DC ジョブの状態 |
OCIオブジェクト待ちジョブ実行 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、OCIオブジェクト待ちジョブ実行 |
|
正常終了 |
OCIオブジェクト待ちジョブの実行に成功 |
!PEXC29 OCIオブジェクト待ちのジョブ実行に成功しました。 |
異常終了 |
OCIオブジェクト待ちジョブの実行に失敗 |
!PEXC30 OCIオブジェクト待ちのジョブ実行に失敗しました。 |
OCIオブジェクト待ちジョブが起動されると、引数に指定された内容でブジェクトの存在確認を実行します。
OCIオブジェクト待ちジョブが正しく実行されると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
OCIオブジェクト待ちジョブが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.6.2.3.3. OCIオブジェクト待ちジョブの処理の流れ(強制停止時)¶
OCIオブジェクト待ちジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、OCIオブジェクト待ちジョブを強制停止し、オブジェクトの存在確認も停止となります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。