3.3. Job Scheduler for Cloud(AWS)の使い方

3.3.1. Job Scheduler for Cloud(AWS/S3)の使い方

3.3.1.1. Job Scheduler for Cloud(AWS/S3)の機能

Job Scheduler for Cloud(AWS/S3)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/S3上のファイルの取得、登録および削除を行なう機能です。

3.3.1.2. ポリシーの作成

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

表 3.1 AWS/S3連携機能に必要なアクセス権限

ジョブ

必要なアクセス権

AWS/S3連携ジョブ

s3:listBuckets
s3:putObject
s3:getObject
s3:deleteObject

3.3.1.3. sj_aws.iniの設定

sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/S3)ジョブはこのファイルを参照します。

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

sj_aws.iniに、TABLEに示す内容を設定して下さい。

表 3.2 sj_aws.iniの記述内容

項目

省略

デフォルト

暗号化対象

説明

accessKey

AWS接続用のアクセスキーID

secretKey

AWS接続用のシークレットアクセスキー

bucket

×

AWS/S3のバケット

checkInterval

60

×

チェックインターバル(秒)[10-600]


  • 省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/S3)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。

  • 同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/S3)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/S3)ジョブのオプションで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい

  • 指定可能なAWSリージョン および EC2インスタンスタイプは、「4.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。

警告

Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。

3.3.1.4. AWS/S3ファイル取得ジョブの利用方法

AWS/S3ファイル取得ジョブは、AWS/Elastic MapReduceジョブフロー実行ジョブやAWS Management Consoleなどによって登録、作成したファイルをAWS/S3上から取得します。

AWS/S3ファイル取得ジョブが起動されると、引数に指定された内容でファイルを取得し、結果を標準出力に出力します。

AWS/S3ファイル取得ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m S3
        -get S3URI
        [-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
        [-i チェックインターバル]

オプション

省略

デフォルト

長さ

説明

get

不可

510

AWS/S3上のファイル名

(AWS/S3上のURIとローカルパスを’ ,’ で区切って指定。”AWS/S3上のURI,ローカルパス”。s3://バケット名/を外したファイル名までを指定。)

ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

bk

255

AWS/S3上のバケット

-i

60

4

チェックインターバル(秒) [10-600]


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。

  • 省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

3.3.1.4.1. AWS/S3ファイル取得ジョブテンプレートの使い方

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

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

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

ジョブテンプレート入力ウィンドでAWS/S3ファイル取得ジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/003.png

図 3.7 AWS/S3ファイル取得ジョブテンプレートの使用

../_images/004.png

図 3.8 AWS/S3ファイル取得ジョブテンプレートの入力


表 3.3 AWS/S3ファイル取得ジョブテンプレートの入力

パラメータ

説明

S3URI

AWS/S3上のファイル名

(AWS/S3上のURIとローカルパスを’ ,’ で区切って指定。”AWS/S3上のURI,ローカルパス”。s3://バケット名/を外したファイル名までを指定。)

AWS_AccessKey

AWS接続用のアクセスキーID

AWS_SecretKey

AWS接続用のシークレットアクセスキー

S3_Bucket

AWS/S3上のバケット

Interval[sec]

チェックインターバル(秒) [10-600]

3.3.1.4.2. AWS/S3ファイル取得ジョブの処理の流れ(通常時)

AWS/S3ファイル取得ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 3-4  AWS/S3ファイル取得ジョブの処理の流れ」 および 「TABLE 3-7  AWS/S3ファイル取得ジョブの処理の流れ」 に示す流れで動きます。

../_images/005.png

図 3.9 AWS/S3ファイル取得ジョブの処理の流れ


表 3.4 AWS/S3ファイル取得ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/S3ファイル取得

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/S3上のファイル取得

正常終了

AWS/S3上のファイル取得に成功

!PEXC03

AWS/S3からのデータ取得に成功しました。

異常終了

AWS/S3上のファイル取得に失敗

!PEXC04

AWS/S3からのデータ取得に失敗しました。


  1. AWS/S3ファイル取得ジョブが起動されると、引数に指定された内容でファイルを取得処理を実行します。

  2. AWS/S3上のファイルを取得します。

  3. 取得が正しく行なわれると、データ取得に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

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

警告

データが正しく取得されたかは、引数に指定したローカルパス配下を確認して下さい。

3.3.1.5. AWS/S3ファイル登録ジョブの利用方法

AWS/S3ファイル登録ジョブは、ジョブの実行環境である該当ノード上に登録、作成したファイルをAWS/S3上へ登録します。

AWS/S3ファイル登録ジョブが起動されると、引数に指定された内容でファイルを登録し、結果を標準出力に出力します。

AWS/S3ファイル登録ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m S3
        -put S3URI
        [-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
        [-i チェックインターバル]

オプション

省略

デフォルト

長さ

説明

-put

不可

510

AWS/S3上のファイル名

(AWS/S3上のURIとローカルパスを’ ,’ で区切って指定。”AWS/S3上のURI,ローカルパス”。s3://バケット名/を外したファイル名までを指定。)

-ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

-bk

255

AWS/S3上のバケット

-i

60

4

チェックインターバル(秒) [10-600]


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。

  • 省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

3.3.1.5.1. AWS/S3ファイル登録ジョブテンプレートの使い方

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

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

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

ジョブテンプレート入力ウィンドでAWS/S3ファイル登録ジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/006.png

図 3.10 AWS/S3ファイル登録ジョブテンプレートの使用


../_images/007.png

図 3.11 AWS/S3ファイル登録ジョブテンプレートの入力


表 3.5 AWS/S3ファイル登録ジョブテンプレートの入力

パラメータ

説明

S3URI

AWS/S3上のファイル名

(AWS/S3上のURIとローカルパスを’ ,’ で区切って指定。”AWS/S3上のURI,ローカルパス”。s3://バケット名/を外したファイル名までを指定。)

AWS_AccessKey

AWS接続用のアクセスキーID

AWS_SecretKey

AWS接続用のシークレットアクセスキー

S3_Bucket

AWS/S3上のバケット

Interval[sec]

チェックインターバル(秒) [10-600]


3.3.1.5.2. AWS/S3ファイル登録ジョブの処理の流れ(通常時)

AWS/S3ファイル登録ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 3-7  AWS/S3ファイル登録ジョブの処理の流れ」 および 「TABLE 3-9  AWS/S3ファイル登録ジョブの処理の流れ」 に示す流れで動きます。

../_images/008.png

図 3.12 AWS/S3ファイル登録ジョブの処理の流れ


表 3.6 AWS/S3ファイル登録ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/S3ファイル登録

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/S3上のファイル登録

稼働中

AWS/S3上のファイル登録状態を取得

正常終了

AWS/S3上のファイル登録に成功

!PEXC05

AWS/S3へのデータ登録に成功しました。

異常終了

AWS/S3上のファイル登録に失敗

!PEXC06

AWS/S3へのデータ登録に失敗しました。


  1. AWS/S3ファイル登録ジョブが起動されると、引数に指定された内容でファイル登録処理を実行します。

  2. AWS/S3上へファイルを登録します。

  3. 指定されたファイルがAWS/S3上へ登録されたか状態を取得します。

  4. 登録が正しく行なわれると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

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

3.3.1.6. AWS/S3ファイル削除ジョブの利用方法

AWS/S3ファイル削除ジョブは、AWS/Elastic MapReduceジョブフロー実行ジョブやAWS Management Consoleなどによって登録、作成したファイルをAWS/S3上から削除します。削除されたファイルの情報は一切残りませんので、本ジョブを実行する場合は細心の注意を払い行って下さい。

AWS/S3ファイル削除ジョブが起動されると、引数に指定された内容でファイルを削除し、結果を標準出力に出力します。

AWS/S3ファイル削除ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m S3
        -del S3URI
        [-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
        [-i チェックインターバル]

オプション

省略

デフォルト

長さ

説明

-del

不可

510

AWS/S3上のファイル名(AWS/S3上のURI)

-ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

-bk

255

AWS/S3上のバケット

-i

60

4

チェックインターバル(秒) [10-600]


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。

  • 省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

3.3.1.6.1. AWS/S3ファイル削除ジョブテンプレートの使い方

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

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

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

ジョブテンプレート入力ウィンドでAWS/S3ファイル削除ジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/009.png

図 3.13 AWS/S3ファイル削除ジョブテンプレートの使用


../_images/010.png

図 3.14 AWS/S3ファイル削除ジョブテンプレートの入力


表 3.7 AWS/S3ファイル削除ジョブテンプレートの入力

パラメータ

説明

S3URI

AWS/S3上のファイル名(AWS/S3上のURI)

AWS_AccessKey

AWS接続用のアクセスキーID

AWS_SecretKey

AWS接続用のシークレットアクセスキー

S3_Bucket

AWS/S3上のバケット

Interval[sec]

チェックインターバル(秒) [10-600]

3.3.1.6.2. AWS/S3ファイル削除ジョブの処理の流れ(通常時)

AWS/S3ファイル削除ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 3-10  AWS/S3ファイル削除ジョブの処理の流れ」 および 「TABLE 3-11  AWS/S3ファイル削除ジョブの処理の流れ」 に示す流れで動きます。

../_images/011.png

図 3.15 AWS/S3ファイル削除ジョブの処理の流れ


表 3.8 AWS/S3ファイル削除ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/S3ファイル削除

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/S3上のファイル削除

稼働中

AWS/S3上のファイル削除

状態を取得

正常終了

AWS/S3上のファイル削除に成功

!PEXC07

AWS/S3からのデータ削除に成功しました。

異常終了

AWS/S3上のファイル削除に失敗

!PEXC08

AWS/S3からのデータ削除に失敗しました。


  1. AWS/S3ファイル削除ジョブが起動されると、引数に指定された内容でファイル削除処理を実行します。

  2. AWS/S3上のファイルを削除します。

  3. 指定されたファイルがAWS/S3上から削除されたか状態を取得します。

  4. 削除が正しく行なわれると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

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

3.3.2. Job Scheduler for Cloud(AWS/Elastic MapReduce)の使い方

3.3.2.1. Job Scheduler for Cloud(AWS/Elastic MapReduce)の機能

Job Scheduler for Cloud(AWS/Elastic MapReduce)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Elastic MapReduceのジョブフローの実行と、開始から終了まで監視を行なう機能です。

3.3.2.2. AWS/Elastic MapReduceジョブフロー実行の流れ

Job Scheduler for CloudでAWS/Elastic MapReduceのジョブフローを実行する際の流れを次に示します。

AWSに関する情報の設定を行い、Job Scheduler for CloudジョブをSenju/DCのジョブに登録して、Elastic MapReduceジョブフローの入力ファイルの登録、ジョブフローの実行、出力ファイルの取得を行います。

../_images/002.png

図 3.16 AWS/Elastic MapReduceジョブフロー実行の流れ

3.3.2.2.1. 運用計画・準備段階

  • AWS/S3バケットの作成 [必須作業]

    Job Scheduler for Cloudジョブを実行するために、AWS/S3バケットを1つ以上作成します。 作成はAWS Management Consoleなどから行なって下さい。

  • Elastic MapReduce用jarファイルの登録 [必須作業]
    Job Scheduler for Cloud(Elastic MapReduce)で作成したクラスター内で実行するカスタムjarファイルを登録します。

    jarファイルは、AWS/S3ファイル登録ジョブやAWS Management ConsoleなどでAWS/S3上に登録して下さい。

参考

AWS/Elastic MapReduceで使用可能な jarファイルはAWS/Elastic MapReduceの仕様に依存します。詳細については、Amazon Web Servicesサイトよりご確認下さい。

  • sj_aws.iniの設定 [必須作業]
    Job Scheduler for Cloudジョブを実行するために、AWSに関する情報を設定します。

    (「 sj_aws.iniの設定 (AWS/S3)」 「 sj_aws.iniの設定 (AWS/Elastic MapReduce)」 参照)

  • 動作環境の作成 [必須作業]
    Senju/DCのジョブスケジュールでJob Scheduler for Cloudジョブを実行するために、動作環境を作成します。
    動作環境には、環境変数を設定することができます。

    (「 動作環境の環境変数の利用法」参照)

  • ジョブスケジュールの設定 [必須作業]

    Senju/DCのジョブスケジュールでJob Scheduler for Cloudジョブを実行するために、以下の設定を行います。

  • ジョブおよびネットの作成

  • システムの作成とネットの登録

参考

ジョブスケジュール設定の詳細は 「ユーザーズガイド」 を参照して下さい。

3.3.2.2.2. 運用

  • ジョブスケジュールのスケジューリング

    Senju/DCのジョブスケジュールを実行するために、以下の設定を行います。

    • フレーム登録によるスケジューリング

    • フレームの投入および日付変更

参考

スケジューリング設定の詳細は 「ユーザーズガイド」 を参照して下さい。

  • AWS/S3ファイル登録

    AWS/S3ファイル登録ジョブを使用し、AWS/Elastic MapReduceで使用するファイルをコマンドの実行環境である該当ノード上からAWS/S3上へ登録します。

    (「 AWS/S3ファイル登録ジョブの利用方法」参照)

  • AWS/Elastic MapReduceジョブフロー

    AWS/Elastic MapReduceジョブフロー実行ジョブは、AWS/Elastic MapReduceジョブフローの実行と、開始から終了までの監視を行ないます。

    (「 AWS/Elastic MapReduce ジョブフロー実行ジョブの利用方法」参照)

  • AWS/S3ファイル取得

    AWS/S3ファイル取得ジョブを使用し、AWS/Elastic MapReduceジョブフロー実行ジョブによって作成されたファイルをAWS/S3上から取得します。

    (「 AWS/S3ファイル取得ジョブの利用方法」参照)

  • AWS/S3ファイル削除

    AWS/S3ファイル削除ジョブを使用し、AWS/Elastic MapReduceジョブフロー実行後の不要になったファイルをAWS/S3上から削除します。

    (「 AWS/S3ファイル削除ジョブの利用方法」参照)

3.3.2.3. ポリシーの作成

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

表 3.9 AWS/Elastic MapReduce連携機能に必要なアクセス権限

ジョブ

必要なアクセス権

AWS/Elastic MapReduce連携ジョブ

iam:PassRole
elasticmapreduce:ListSteps
elasticmapreduce:DescribeCluster
elasticmapreduce:AddJobFlowSteps
elasticmapreduce:RunJobFlow
elasticmapreduce:TerminateJobFlows

3.3.2.4. sj_aws.iniの設定

sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、Job Scheduler for Cloud(AWS/Elastic MapReduce)ジョブはこのファイルを参照します。

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

sj_aws.iniに、 「TABLE 3-12  sj_aws.iniの記述内容」 に示す内容を設定して下さい。

表 3.10 sj_aws.iniの記述内容

項目

省略

デフォルト

暗号化対象

説明

accessKey

AWS接続用のアクセスキーID

secretKey

AWS接続用のシークレットアクセスキー

region

×

AWSの接続先リージョン

instanceCount

5

×

AWS/EC2インスタンス数

masterInstanceType

m1.small

×

AWS/EC2インスタンスタイプ(マスター)

slaveInstanceType

m1.small

×

AWS/EC2インスタンスタイプ(スレーブ)

mapreduceLogUri

×

AWS/Elastic MapReduceジョブフローのログ出力先URI

checkInterval

60

×

チェックインターバル(秒) [10-600]

hadoopVersion

1.0.3

×

hadoopバージョン


  • 省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/Elastic MapReduce)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。

  • 同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/Elastic MapReduce)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/Elastic MapReduce)ジョブのオプションで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

  • 指定可能なAWSリージョン および EC2インスタンスタイプは、「4.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。

  • Amazon EMR の AMI バージョン 2.x および 3.x を対象にしているため、指定可能なhadoopバージョンは「2.4.0」、「2.2.0」、および「1.0.3」です。

警告

Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。

3.3.2.5. AWS/Elastic MapReduce ジョブフロー実行ジョブの利用方法

AWS/Elastic MapReduceジョブフロー実行ジョブは、AWS/Elastic MapReduceのジョブフローを実行し、開始から終了までの監視を行います。

AWS/Elastic MapReduceジョブフロー実行ジョブが起動されると、引数に指定された内容でジョブフローを実行し、結果を標準出力に出力します。

AWS/Elastic MapReduceジョブフロー実行ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。

sjPEX_CloudFunctions -m MR
        -juri S3URI
        [-ak アクセスキーID] [-sk シークレットアクセスキー] [ -reg AWSのリージョン]
        [-inc EC2インスタンス数] [-mit EC2マスタインスタンスタイプ]
        [-sit EC2スレーブインスタンスタイプ] [-luri S3URI]
        [-iuri S3URI] [-ouri S3URI] [-mc /Elastic MapReduceメインクラス]
        [-args /Elastic MapReduceパラメータ]
        [-i チェックインターバル]

オプション

省略

デフォルト

長さ

説明

-juri

不可

1024

JarファイルのURI(AWS/S3上のURI)

-ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

-reg

32

AWSの接続先リージョン

-inc

5

3

AWS/EC2インスタンス数

-mit

m1.small

256

AWS/EC2インスタンスタイプ(マスター)

-sit

m1.small

256

AWS/EC2インスタンスタイプ(スレーブ)

-luri

1024

AWS/Elastic MapReduceジョブフローのログ出力先URI

-iuri

1024

AWS/Elastic MapReduceのインプットURI(AWS/S3上のURI)

-ouri

1024

AWS/Elastic MapReduceのアウトプットURI(AWS/S3上のURI)

-mc

128

AWS/Elastic MapReduceのメインクラス

-args

126

AWS/Elastic MapReduceのパラメータ

-i

60

4

チェックインターバル(秒) [10-600]


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniまたは動作環境に設定して下さい。(動作環境については、「3.4.4.4 動作環境の環境変数の利用法」を参照して下さい。)

  • 省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

  • 指定可能なAWSリージョン および EC2インスタンスタイプは、「4.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。

注釈

AWS/Elastic MapReduceのインプットURI、アウトプットURI、メインクラス、パラメータは、指定するjarファイルの仕様に依存します。

3.3.2.5.1. ジョブテンプレートの追加手順

AWS/Elastic MapReduce連携機能を利用する場合、Senju/DCシステムが提供する運用コマンドsjPEX_editTmpl(ジョブテンプレートの変更/追加/削除)を実行し、最初にジョブテンプレートの追加を行って下さい。 なお、既に登録されている場合、新たに追加する必要はありません。

以下のコマンドを実行すると、ジョブテンプレートにAWS/Elastic MapReduceジョブフロー実行ジョブが追加されます。

コマンド実行は、千手稼働アカウントにてログインして行って下さい。

実行コマンド

% sjPEX_editTmpl -iAWS/EMR -nAWS/EMR_JobFlow -x"sjPEX_CloudFunctions -m MR" -p"-juri @EMRJarURI@ -ak @@AWS_AccessKey@@ -sk @@AWS_SecretKey@@ -reg @@AWS_Region@@ -inc @@EC2_Instance@@ -mit @@EC2_MasterInstance@@ -sit @@EC2_SlaveInstance@@ -luri @@EMR_LogURI@@ -iuri @@EMR_InputURI@@ -ouri @@EMR_OutputURI@@ -mc @@EMR_MainClass@@ -args @@EMR_Parameter@@ -i @@Interval[sec]@@" -c"AWS/EMR_JobFlow JOB"

表 3.11 sjPEX_editTmplコマンドオプションの設定内容

オプション

テンプレートID

AWS/EMR

テンプレート名称

AWS/EMR_JobFlow

コマンド

sjPEX_CloudFunctions -m MR

パラメータ

-juri @EMRJarURI@ -ak @@AWS_AccessKey@@ -sk @@AWS_SecretKey@@ -reg @@AWS_Region@@ -inc @@EC2_Instance@@ -mit @@EC2_MasterInstance@@ -sit @@EC2_SlaveInstance@@ -luri @@EMR_LogURI@@ -iuri @@EMR_InputURI@@ -ouri @@EMR_OutputURI@@ -mc @@EMR_MainClass@@ -args @@EMR_Parameter@@ -i @@Interval[sec]@@

説明

AWS/EMR_JobFlow JOB

警告

実行後は、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブテンプレート”を選択し、AWS/Elastic MapReduce ジョブフロー実行ジョブテンプレートが追加されていることを確認して下さい。

参考

sjPEX_editTmplコマンドの詳細は 「開発者ガイド」 を参照して下さい。


3.3.2.5.2. AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの使い方

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

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

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

ジョブテンプレート入力ウィンドでAWS/Elastic MapReduceジョブフロー実行ジョブテンプレートを選択し、各パラメータ値を設定して下さい。

../_images/012.png

図 3.17 AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの使用


../_images/013.png

図 3.18 AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの入力


表 3.12 AWS/S3ファイル削除ジョブテンプレートの入力

パラメータ

説明

EMRJarURI

JarファイルのURI(AWS/S3上のURI)

AWS_AccessKey

AWS接続用のアクセスキーID

AWS_SecretKey

AWS接続用のシークレットアクセスキー

AWS_Region

AWSの接続先リージョン

EC2_Instance

AWS/EC2インスタンス数

EC2_MasterInstance

AWS/EC2インスタンスタイプ(マスター)

EC2_SlaveInstance

AWS/EC2インスタンスタイプ(スレーブ)

EMR_LogURI

AWS/Elastic MapReduceジョブフローのログ出力先URI

EMR_InputURI

AWS/Elastic MapReduceのインプットURI(AWS/S3上のURI)

EMR_OutputURI

AWS/Elastic MapReduceのアウトプットURI(AWS/S3上のURI)

EMR_MainClass

AWS/Elastic MapReduceのメインクラス

EMR_Parameter

AWS/Elastic MapReduceのパラメータ

Interval[sec]

チェックインターバル(秒) [10-600]

3.3.2.5.3. AWS/Elastic MapReduce ジョブフロー実行ジョブの流れ(通常時)

AWS/Elastic MapReduce ジョブフロー実行ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 3-13  AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ」 および 「TABLE 3-14  AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ」 に示す流れで動きます。

../_images/014.png

図 3.19 AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ


表 3.13 AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/Elastic MapReduce

ジョブフロー実行ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/Elastic MapReduceジョブフローを登録

稼働中

登録したAWS/Elastic MapReduceジョブフローの状態を取得

正常終了

登録したAWS/Elastic MapReduceジョブフローの実行に成功

!PEXC09

AWS/MRジョブフローの実行に成功しました。

異常終了

登録したAWS/Elastic MapReduceジョブフローの実行に失敗

!PEXC10

AWS/MRジョブフローの実行に失敗しました。


  1. AWS/Elastic MapReduce ジョブフロー実行ジョブが起動されると、引数に指定された内容でAWS/Elastic MapReduce ジョブフローを登録します。

  2. 登録したAWS/Elastic MapReduceジョブフローを起動します。

  3. 起動したAWS/Elastic MapReduceジョブフローの状態を取得します。

  4. AWS/Elastic MapReduceジョブフローが正常終了すると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

  5. AWS/Elastic MapReduceジョブフローが何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。

    (異常終了時の復旧手順については「3.4.5 AWS/Elastic MapReduceジョブフロー異常終了時の復旧手順」を参照して下さい。)

3.3.2.5.4. AWS/Elastic MapReduce ジョブフロー実行ジョブの流れ(強制停止時)

AWS/Elastic MapReduce ジョブフロー実行ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。AWS/Elastic MapReduce ジョブフロー実行ジョブに対し、Senju/DCのジョブスケジュールより強制停止が行なわれると、 「図 3-14  AWS/Elastic MapReduce ジョブフロー実行ジョブの強制停止の流れ」 に示す流れで動きます。

../_images/015.png

図 3.20 AWS/Elastic MapReduce ジョブフロー実行ジョブの強制停止の流れ


  1. Senju/DC より、AWS/Elastic MapReduce ジョブフロー実行ジョブに強制停止をすると、AWS/Elastic MapReduceに対し、ジョブフローを中止するように依頼します。

    この段階では、AWS/Elastic MapReduce ジョブフローはまだ終了していませんが、Senju/DCのジョブスケジュールでは、ジョブの状態は異常終了となります。

3.3.2.5.5. 動作環境の環境変数の利用法

AWS/Elastic MapReduceジョブフロー実行ジョブを実行する際、該当ノードの動作環境には、以下に示す環境変数を使用できます。

環境変数に設定した値は、SJ_AWS_ARG01からSJ_AWS_ARG10までを順につなげた形で、AWS/Elastic MapRedue上で稼働するジョブフローの引数として渡されます。

環境変数

長さ

説明

SJ_AWS_ARG01

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG02

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG03

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG04

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG05

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG06

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG07

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG08

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG09

126

AWS/Elastic MapReduceのパラメータ

SJ_AWS_ARG10

126

AWS/Elastic MapReduceのパラメータ


1.上記の環境変数にはAWS/Elastic MapReduceのパラメータを一つずつ設定して下さい。

2.上記の環境変数の値には、以下の環境変数が使用できます。

・ SENJUHOME     :       千手ホームディレクトリ
・ SJ_PEX_DATE   :       Senju/DCジョブの運用日付
・ SJ_PEX_FRAME  :       Senju/DCジョブの所属するフレーム名
・ SJ_PEX_NET    :       Senju/DCジョブの上位ネット名
・ SJ_PEX_JOB    :       Senju/DCジョブのジョブ名

注釈

環境変数に設定するパラメータは、それぞれ126文字以内で設定して下さい。

3.3.2.6. AWS/Elastic MapReduceジョブフロー異常終了時の復旧手順

AWS/Elastic MapReduceジョブが異常終了した場合(「PEXC10」メッセージが出力された場合)のSenju/DCのジョブスケジュールの復旧手順を説明します。

  • 手順1:ジョブフローIDの確認

    AWS/Elastic MapReduceジョブのジョブログファイルを参照し、ジョブフローIDを確認します。ジョブフローID は、ジョブログのレコードの5カラム目に出力されます。

  • 手順2:AWS (Elastic MapReduce)のジョブフローを停止

    WEBブラウザからAWS Management Consoleを開き「手順1」で取得したジョブフローIDに該当するジョブフローを停止します。

    AWS/Elastic MapReduceジョブが異常終了となった状況によっては、ジョブフローIDが出力されない場合があります。

  • 手順3:該当ジョブをスキップ指定

    千手ブラウザのジョブモニタから該当ジョブに対しスキップ指定を行います。

  • 手順4:再ラン

    千手ブラウザのジョブモニタから該当ジョブに対し再ランを行います。上記手順を実行することにより、該当のジョブがスキップ終了となり後続のジョブが稼働します。

参考

! AWS/Elastic MapReduceジョブのジョブログの詳細は「4.3.2 Job Scheduler for Cloud(AWS/Elastic MapReduce)のジョブログファイル」を参照して下さい。

警告

AWS Management Consoleの使用方法は、Amazon Web Servicesサイトよりご確認下さい。

3.3.3. Job Scheduler for Cloud(AWS/Lambda Function)の使い方

3.3.3.1. Job Scheduler for Cloud(AWS/Lambda Function)の機能

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

3.3.3.2. ポリシーの作成

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

表 3.14 AWS/Lambda Function連携機能に必要なアクセス権限

ジョブ

必要なアクセス権

AWS/Lambda Function連携ジョブ

lambda:InvokeAsync
lambda:InvokeFunction

3.3.3.3. sj_aws.iniの設定

sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Lambda Function)ジョブはこのファイルを参照します。

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

sj_aws.iniに、 「TABLE 3-15  sj_aws.iniの記述内容」 に示す内容を設定して下さい。

表 3.15 sj_aws.iniの記述内容

項目

省略

デフォルト

暗号化対象

説明

accessKey

AWS接続用のアクセスキーID

secretKey

AWS接続用のシークレットアクセスキー


  • 省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/Lambda Function)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。

  • 同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/Lambda Function)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/Lambda Function)ジョブのオプションで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい

警告

Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。

3.3.3.4. AWS/Lambda Function連携ジョブの利用方法

AWS/Lambda Function連携ジョブは、AWS Management Consoleなどによって作成したAWS/Lambda Functionを実行します。

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

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

sjPEX_CloudFunctions -m LS
        -fnm Lambdaファンクション名
        -lreg AWSリージョン
        [-ak アクセスキーID] [-sk シークレットアクセスキー]
        [-cctf ファンクションパラメータ(JSONファイル名)]
        [-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]

オプション

省略

デフォルト

長さ

説明

-fnm

不可

255

Lambdaファンクション名

-lreg

不可

32

AWSリージョン

-ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

-cctf

255

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

-p

255

プロファイル名

-ar

1024

ロールARN

-ei

128

AWS外部ID


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。

  • 省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

3.3.3.4.1. AWS/Lambda Function連携ジョブテンプレートの使い方

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

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

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

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

../_images/017.png

図 3.21 AWS/Lambda Function連携ジョブテンプレートの使用

../_images/018.png

図 3.22 AWS/Lambda Function連携ジョブテンプレートの入力


表 3.16 AWS/Lambda Function連携ジョブテンプレートの入力

パラメータ

説明

Lambdaファンクション名

Lambda Function名を指定します。省略不可です。

AWSリージョン

AWS/Lambda Function所属のリージョンを指定します。省略不可です。

アクセスキーID

AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。

シークレットアクセスキー

AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。

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

Lambda Functionへ渡すイベントデータを記載したJSONファイル名を指定します。省略可能です。

プロファイル名

ロール認証に使用されるプロファイルを指定します。省略可能です。

ロールARN

ロール認証に使用されるロールARNを指定します。省略可能です。

AWS外部ID

ロール認証に使用される外部IDを指定します。省略可能です。

3.3.3.4.2. AWS/Lambda Function連携ジョブの処理の流れ(通常時)

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

../_images/019.png

図 3.23 AWS/Lambda Function連携ジョブの処理の流れ


表 3.17 AWS/Lambda Function連携ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/Lambda Function実行

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/Lambda上の関数実行

正常終了

AWS/Lambda上の関数実行に成功

!PEXC13

AWS/Lambda上の関数実行に成功しました。

異常終了

AWS/Lambda上の関数実行に失敗

!PEXC14

AWS/Lambda上の関数実行に失敗しました。


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

  2. AWS/Lambda上の関数を実行します。

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

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

3.3.3.4.3. AWS/Lambda Function連携ジョブの処理の流れ(強制停止時)

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

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

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

3.3.4. Job Scheduler for Cloud(AWS/Step Functions)の使い方

3.3.4.1. Job Scheduler for Cloud(AWS/Step Functions)の機能

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

3.3.4.2. ポリシーの作成

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

表 3.18 AWS/Step Functions連携機能に必要なアクセス権限

ジョブ

必要なアクセス権

AWS/Step Functions連携ジョブ

states:DescribeExecution
states:StartExecution
states:StopExecution
states:StartSyncExecution

3.3.4.3. sj_aws.iniの設定

sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Step Functions)ジョブはこのファイルを参照します。

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

sj_aws.iniに、 「TABLE 3-19  sj_aws.iniの記述内容」 に示す内容を設定して下さい。

表 3.19 sj_aws.iniの記述内容

項目

省略

デフォルト

暗号化対象

説明

accessKey

AWS接続用のアクセスキーID

secretKey

AWS接続用のシークレットアクセスキー

region

不可

AWS接続用のリージョン


  • 省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/Step Functions)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。

  • 同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/Step Functions)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/Step Functions)ジョブのオプションで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい

警告

Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。

3.3.4.4. AWS/Step Functions連携ジョブの利用方法

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

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

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

sjPEX_CloudFunctions -m SF
        -smn ステートマシンARN
        [-ak アクセスキーID] [-sk シークレットアクセスキー]
        [-exn 実行名] [-sync]
        [-cctf ファンクションパラメータ(JSONファイル名)]
        [-i チェックインターバル]

オプション

省略

デフォルト

長さ

説明

-smn

不可

255

ステートマシンARN

-ak

256

AWS接続用のアクセスキーID

-sk

256

AWS接続用のシークレットアクセスキー

-exn

255

実行名

-sync

同期開始指定オプション

-cctf

255

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

-i

60

4

チェックインターバル(秒) [10-600]


  • Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。

  • アクセスキーID、シークレットアクセスキーを省略した場合は、sj_aws.iniで指定した値が有効になります。

  • AWS接続用のアクセスキーIDおよびシークレットアクセスキーは、Amazon Web Servicesのサイトで確認して下さい。

3.3.4.4.1. AWS/Step Functions連携ジョブテンプレートの使い方

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

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

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

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

../_images/035.png

図 3.24 AWS/Step Functions連携ジョブテンプレートの使用

../_images/036.png

図 3.25 AWS/Step Functions連携ジョブテンプレートの入力


表 3.20 AWS/Step Functions連携ジョブテンプレートの入力

パラメータ

説明

アクセスキーID

AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。

シークレットアクセスキー

AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。

ステートマシンARN

ステートマシンのARNを指定します。省略不可です。

実行名

ステートマシンの実行名を指定します。省略可能です。

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

ステートマシンへ渡すパラメータを記載したJSONファイル名を指定します。マルチバイトを含む場合、エンコードはUTF-8にして下さい。省略可能です。

同期開始指定(-sync)

Expressワークフローの結果ステータスを取得したい場合に指定します。省略可能です。

interval[sec]

ワークフローの実行状態取得のチェック間隔[sec]を指定します。省略可能です。

3.3.4.4.2. AWS/Step Functions連携ジョブの処理の流れ(通常時)

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

../_images/037.svg

図 3.26 AWS/Step Functions連携ジョブの処理の流れ


表 3.21 AWS/Step Functions連携ジョブの処理の流れ

Senju/DC

ジョブの状態

AWS/Step Functions実行

ジョブの処理内容

メッセージモニタの出力

起動待ち

起動前の状態

稼働中

起動

稼働中

引数に従い、AWS/Step Functionsステートマシンを実行

正常終了

AWS/Step Functionsステートマシンの実行に成功

!PEXC23

AWS/Step Functionsの実行に成功しました。

異常終了

AWS/Step Functionsステートマシンの実行に失敗

!PEXC24

AWS/Step Functionsの実行に失敗しました。


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

  2. AWS/Step Functionsステートマシンを実行します。

  3. AWS/Step Functionsステートマシンが正常終了すると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。

  4. AWS/Step Functionsステートマシンが何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。

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

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

Senju/DCのジョブスケジュールより、AWS/Step Functions連携ジョブを強制停止しても、実行中のAWS/Step Functionsステートマシンは実行されたままとなります。

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