4.3. Job Scheduler for Cloud(AWS)の使い方¶
4.3.1. Job Scheduler for Cloud(AWS/S3)の使い方¶
4.3.1.1. Job Scheduler for Cloud(AWS/S3)の機能¶
Job Scheduler for Cloud(AWS/S3)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/S3上のファイルの取得、登録および削除を行なう機能です。
4.3.1.2. ポリシーの作成¶
AWS/S3連携機能を使用するため、 「表 4.1 AWS/S3連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/S3連携ジョブ |
s3:listBucket |
4.3.1.3. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/S3)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.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リージョン および EC2インスタンスタイプは、「4.8.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.1.4. AWS/S3ファイル取得ジョブの利用方法¶
AWS/S3ファイル取得ジョブは、AWS/Elastic MapReduceジョブフロー実行ジョブやAWS Management Consoleなどによって登録、作成したファイルをAWS/S3上から取得します。
AWS/S3ファイル取得ジョブが起動されると、引数に指定された内容でファイルを取得し、結果を標準出力に出力します。
AWS/S3ファイル取得ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m S3
-get S3オブジェクトキー,ローカルパス
[-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
[-i チェックインターバル]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-get |
不可 |
― |
510 |
S3オブジェクトキーと対象データのローカルパスを’,’ で区切って指定 S3オブジェクトキー: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で指定した値が有効になります。
4.3.1.4.1. AWS/S3ファイル取得ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/S3ファイル取得ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/S3ファイル取得ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.8 AWS/S3ファイル取得ジョブテンプレートの使用¶
図 4.9 AWS/S3ファイル取得ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
S3URI |
S3オブジェクトキーと対象データのローカルパスを’,’ で区切って指定 S3オブジェクトキー:AWS/S3上のURIのうち、s3://バケット名/を除外したファイル名までの値 |
AWS_AccessKey |
AWS接続用のアクセスキーID |
AWS_SecretKey |
AWS接続用のシークレットアクセスキー |
S3_Bucket |
AWS/S3上のバケット |
Interval[sec] |
チェックインターバル(秒) [10-600] |
4.3.1.4.2. AWS/S3ファイル取得ジョブの処理の流れ(通常時)¶
AWS/S3ファイル取得ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.10 AWS/S3ファイル取得ジョブの処理の流れ」 および 「表 4.4 AWS/S3ファイル取得ジョブの処理の流れ」 に示す流れで動きます。
図 4.10 AWS/S3ファイル取得ジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS/S3ファイル取得 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/S3上のファイル取得 |
|
正常終了 |
AWS/S3上のファイル取得に成功 |
!PEXC03 AWS/S3からのデータ取得に成功しました。 |
異常終了 |
AWS/S3上のファイル取得に失敗 |
!PEXC04 AWS/S3からのデータ取得に失敗しました。 |
AWS/S3ファイル取得ジョブが起動されると、引数に指定された内容でファイルを取得処理を実行します。
AWS/S3上のファイルを取得します。
取得が正しく行なわれると、データ取得に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
取得が何らかの理由で正しく行なわれないと、データ取得に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
警告
データが正しく取得されたかは、引数に指定したローカルパス配下を確認して下さい。
4.3.1.5. AWS/S3ファイル登録ジョブの利用方法¶
AWS/S3ファイル登録ジョブは、ジョブの実行環境である該当ノード上に登録、作成したファイルをAWS/S3上へ登録します。
AWS/S3ファイル登録ジョブが起動されると、引数に指定された内容でファイルを登録し、結果を標準出力に出力します。
AWS/S3ファイル登録ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m S3
-put S3オブジェクトキー,ローカルパス
[-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
[-i チェックインターバル]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-put |
不可 |
― |
510 |
S3オブジェクトキーと登録するファイルのローカルパスを’,’ で区切って指定 S3オブジェクトキー: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で指定した値が有効になります。
4.3.1.5.1. AWS/S3ファイル登録ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/S3ファイル登録ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成から行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/S3ファイル登録ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.11 AWS/S3ファイル登録ジョブテンプレートの使用¶
図 4.12 AWS/S3ファイル登録ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
S3URI |
S3オブジェクトキーと登録するファイルのローカルパスを’,’ で区切って指定 S3オブジェクトキー:AWS/S3上のURIのうち、s3://バケット名/ を除外したファイル名までの値 |
AWS_AccessKey |
AWS接続用のアクセスキーID |
AWS_SecretKey |
AWS接続用のシークレットアクセスキー |
S3_Bucket |
AWS/S3上のバケット |
Interval[sec] |
チェックインターバル(秒) [10-600] |
4.3.1.5.2. AWS/S3ファイル登録ジョブの処理の流れ(通常時)¶
AWS/S3ファイル登録ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.13 AWS/S3ファイル登録ジョブの処理の流れ」 および 「表 4.6 AWS/S3ファイル登録ジョブの処理の流れ」 に示す流れで動きます。
図 4.13 AWS/S3ファイル登録ジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS/S3ファイル登録 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/S3上のファイル登録 |
|
稼働中 |
AWS/S3上のファイル登録状態を取得 |
|
正常終了 |
AWS/S3上のファイル登録に成功 |
!PEXC05 AWS/S3へのデータ登録に成功しました。 |
異常終了 |
AWS/S3上のファイル登録に失敗 |
!PEXC06 AWS/S3へのデータ登録に失敗しました。 |
AWS/S3ファイル登録ジョブが起動されると、引数に指定された内容でファイル登録処理を実行します。
AWS/S3上へファイルを登録します。
指定されたファイルがAWS/S3上へ登録されたか状態を取得します。
登録が正しく行なわれると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
登録が何らかの理由で正しく行なわれないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.1.6. AWS/S3ファイル削除ジョブの利用方法¶
AWS/S3ファイル削除ジョブは、AWS/Elastic MapReduceジョブフロー実行ジョブやAWS Management Consoleなどによって登録、作成したファイルをAWS/S3上から削除します。削除されたファイルの情報は一切残りませんので、本ジョブを実行する場合は細心の注意を払い行って下さい。
AWS/S3ファイル削除ジョブが起動されると、引数に指定された内容でファイルを削除し、結果を標準出力に出力します。
AWS/S3ファイル削除ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m S3
-del S3オブジェクトキー
[-ak アクセスキーID] [-sk シークレットアクセスキー] [ -bk S3バケット名]
[-i チェックインターバル]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-del |
不可 |
― |
510 |
S3オブジェクトキーを指定 S3オブジェクトキー: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で指定した値が有効になります。
4.3.1.6.1. AWS/S3ファイル削除ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/S3ファイル削除ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成から行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/S3ファイル削除ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.14 AWS/S3ファイル削除ジョブテンプレートの使用¶
図 4.15 AWS/S3ファイル削除ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
S3URI |
S3オブジェクトキーを指定 S3オブジェクトキー:AWS/S3上のURIのうち、s3://バケット名/ を除外したファイル名までの値 |
AWS_AccessKey |
AWS接続用のアクセスキーID |
AWS_SecretKey |
AWS接続用のシークレットアクセスキー |
S3_Bucket |
AWS/S3上のバケット |
Interval[sec] |
チェックインターバル(秒) [10-600] |
4.3.1.6.2. AWS/S3ファイル削除ジョブの処理の流れ(通常時)¶
AWS/S3ファイル削除ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.16 AWS/S3ファイル削除ジョブの処理の流れ」 および 「表 4.8 AWS/S3ファイル削除ジョブの処理の流れ」 に示す流れで動きます。
図 4.16 AWS/S3ファイル削除ジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS/S3ファイル削除 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/S3上のファイル削除 |
|
稼働中 |
AWS/S3上のファイル削除 状態を取得 |
|
正常終了 |
AWS/S3上のファイル削除に成功 |
!PEXC07 AWS/S3からのデータ削除に成功しました。 |
異常終了 |
AWS/S3上のファイル削除に失敗 |
!PEXC08 AWS/S3からのデータ削除に失敗しました。 |
AWS/S3ファイル削除ジョブが起動されると、引数に指定された内容でファイル削除処理を実行します。
AWS/S3上のファイルを削除します。
指定されたファイルがAWS/S3上から削除されたか状態を取得します。
削除が正しく行なわれると、成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
削除が何らかの理由で正しく行なわれないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.2. Job Scheduler for Cloud(AWS S3オブジェクト待ちジョブ)の使い方¶
4.3.2.1. Job Scheduler for Cloud(AWS S3オブジェクト待ちジョブ)の機能¶
Job Scheduler for Cloud(AWS S3オブジェクト待ちジョブ)とは、Senju/DCのジョブスケジュール機能と連携し、AWS S3オブジェクトの存在確認を実行する機能です。
4.3.2.2. ポリシーの作成¶
AWS S3オブジェクト待ちジョブ機能を使用するため、 「表 4.9 AWS S3オブジェクト待ちジョブ機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS S3オブジェクト待ちジョブ |
s3:ListBucket |
4.3.2.3. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS S3オブジェクト待ち)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.10 sj_aws.iniの記述内容」 に示す内容を設定して下さい。
項目 |
省略 |
デフォルト |
暗号化対象 |
説明 |
|---|---|---|---|---|
accessKey |
可 |
― |
○ |
AWS接続用のアクセスキーID |
secretKey |
可 |
― |
○ |
AWS接続用のシークレットアクセスキー |
interval |
可 |
30 |
× |
取得間隔(秒) |
maxWaitTime |
可 |
無制限 |
× |
最大待ち時間(秒) |
省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS S3オブジェクト待ち)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。
同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS S3オブジェクト待ち)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS S3オブジェクト待ち)ジョブのオプションで指定した値が有効になります。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.2.4. AWS S3オブジェクト待ちジョブの利用方法¶
AWS S3オブジェクト待ちジョブは、指定された取得間隔でAWS S3オブジェクトの存在確認が実行され、最大待ち時間まで実行を繰り返します。
AWS S3オブジェクト待ちジョブが起動されると、引数に指定された内容で実行し、実行結果を標準出力に出力します。
AWS S3オブジェクト待ちジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m AWF
-awfr リージョン -bt バケット種類 -on オブジェクト名
[-ak AWSアクセスキー] [-sk AWSシークレットキー]
[-p プロファイル] [-ar ロールARN] [-ei 外部ID]
[-gpbn 汎用バケット名] [-dbn ディレクトリバケット名]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-awfr |
不可 |
― |
32 |
AWSリージョン |
-bt |
不可 |
― |
256 |
バケット種類 |
-on |
不可 |
― |
256 |
オブジェクト名 |
-ak |
可 |
― |
256 |
AWSアクセスキー |
-sk |
可 |
― |
256 |
AAWSシークレットキー |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-gpbn |
可 |
― |
256 |
汎用バケット名 |
-dbn |
可 |
― |
256 |
ディレクトリバケット名 |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。
アクセスキーID、シークレットアクセスキーを省略した場合は、sj_aws.iniで指定した値が有効になります。
AWS S3オブジェクト待ちジョブ実行が同時に20個を超える場合は、プローブノードの負荷が上昇する可能性がありますのでご注意下さい。
4.3.2.4.1. AWS S3オブジェクト待ちジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS S3オブジェクト待ちジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS S3オブジェクト待ちジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.17 AWS S3オブジェクト待ちジョブテンプレートの使用¶
図 4.18 AAWS S3オブジェクト待ちジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
AWSアクセスキー |
AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
AWSシークレットキー |
AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
AWSリージョン |
接続先AWSのリージョンを指定します。省略不可です。 |
バケット種類 |
バケットの種類(汎用バケットはgpb、ディレクトリバケットはdb)を指定します。省略不可です。 |
汎用バケット名 |
汎用バケット名を指定します。バケット種類がgpbの場合は省略不可、バケット種類がdbの場合は指定しても、無視されます。 |
ディレクトリバケット名 |
ディレクトリバケット名を指定します。バケットモードはdbの場合は省略不可、バケット種類がgpbの場合は指定しても、無視されます。 |
オブジェクト名 |
オブジェクト名を指定します。省略不可です。 |
4.3.2.4.2. AWS S3オブジェクト待ちジョブの処理の流れ(通常時)¶
AWS S3オブジェクト待ちジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.19 AWS S3オブジェクト待ちジョブの処理の流れ」 および 「表 4.12 AWS S3オブジェクト待ちジョブの処理の流れ」 に示す流れで動きます。
図 4.19 AWS S3オブジェクト待ちジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS S3オブジェクト待ちジョブ実行 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS S3オブジェクト待ちジョブを実行 |
|
正常終了 |
AWS S3オブジェクト待ちジョブの実行に成功 |
!PEXC27 AWS S3オブジェクト待ちのジョブ実行に成功しました。 |
異常終了 |
AWS S3オブジェクト待ちジョブの実行に失敗 |
!PEXC28 AWS S3オブジェクト待ちジョブの実行に失敗しました。 |
AWS S3オブジェクト待ちジョブが起動されると、引数に指定された内容でブジェクトの存在確認を実行します。
AWS S3オブジェクト待ちジョブが正常終了すると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
AWS S3オブジェクト待ちジョブが何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.2.4.3. AWS S3オブジェクト待ちジョブの処理の流れ(強制停止時)¶
AWS S3オブジェクト待ちジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、AWS S3オブジェクト待ちジョブを強制停止し、オブジェクトの存在確認も停止となります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。
4.3.3. Job Scheduler for Cloud(AWS/Elastic MapReduce)の使い方¶
4.3.3.1. Job Scheduler for Cloud(AWS/Elastic MapReduce)の機能¶
Job Scheduler for Cloud(AWS/Elastic MapReduce)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Elastic MapReduceのジョブフローの実行と、開始から終了まで監視を行なう機能です。
4.3.3.2. AWS/Elastic MapReduceジョブフロー実行の流れ¶
Job Scheduler for CloudでAWS/Elastic MapReduceのジョブフローを実行する際の流れを次に示します。
AWSに関する情報の設定を行い、Job Scheduler for CloudジョブをSenju/DCのジョブに登録して、Elastic MapReduceジョブフローの入力ファイルの登録、ジョブフローの実行、出力ファイルの取得を行います。
図 4.20 AWS/Elastic MapReduceジョブフロー実行の流れ¶
4.3.3.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に関する情報を設定します。
(「4.3.1.3 sj_aws.iniの設定 (AWS/S3)」 「4.3.3.4 sj_aws.iniの設定 (AWS/Elastic MapReduce)」 参照)
- 動作環境の作成 [必須作業]
- Senju/DCのジョブスケジュールでJob Scheduler for Cloudジョブを実行するために、動作環境を作成します。
- 動作環境には、環境変数を設定することができます。
(「4.3.3.5.5 動作環境の環境変数の利用法」参照)
- ジョブスケジュールの設定 [必須作業]
Senju/DCのジョブスケジュールでJob Scheduler for Cloudジョブを実行するために、以下の設定を行います。
ジョブおよびネットの作成
システムの作成とネットの登録
参考
ジョブスケジュール設定の詳細は 「ユーザーズガイド」 を参照して下さい。
4.3.3.2.2. 運用¶
- ジョブスケジュールのスケジューリング
Senju/DCのジョブスケジュールを実行するために、以下の設定を行います。
フレーム登録によるスケジューリング
フレームの投入および日付変更
参考
スケジューリング設定の詳細は 「ユーザーズガイド」 を参照して下さい。
- AWS/S3ファイル登録
AWS/S3ファイル登録ジョブを使用し、AWS/Elastic MapReduceで使用するファイルをコマンドの実行環境である該当ノード上からAWS/S3上へ登録します。
(「4.3.1.5 AWS/S3ファイル登録ジョブの利用方法」参照)
- AWS/Elastic MapReduceジョブフロー
AWS/Elastic MapReduceジョブフロー実行ジョブは、AWS/Elastic MapReduceジョブフローの実行と、開始から終了までの監視を行ないます。
- AWS/S3ファイル取得
AWS/S3ファイル取得ジョブを使用し、AWS/Elastic MapReduceジョブフロー実行ジョブによって作成されたファイルをAWS/S3上から取得します。
(「4.3.1.4 AWS/S3ファイル取得ジョブの利用方法」参照)
- AWS/S3ファイル削除
AWS/S3ファイル削除ジョブを使用し、AWS/Elastic MapReduceジョブフロー実行後の不要になったファイルをAWS/S3上から削除します。
(「4.3.1.6 AWS/S3ファイル削除ジョブの利用方法」参照)
4.3.3.3. ポリシーの作成¶
AWS/Elastic MapReduce連携機能を使用するため、 「表 4.13 AWS/Elastic MapReduce連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/Elastic MapReduce連携ジョブ |
iam:PassRole |
4.3.3.4. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、Job Scheduler for Cloud(AWS/Elastic MapReduce)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.14 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リージョン および EC2インスタンスタイプは、「4.8.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ファイルに設定して下さい。
4.3.3.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または動作環境に設定して下さい。(動作環境については、「4.3.3.5.5 動作環境の環境変数の利用法」を参照して下さい。)
省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。
指定可能なAWSリージョン および EC2インスタンスタイプは、「4.8.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。
注釈
AWS/Elastic MapReduceのインプットURI、アウトプットURI、メインクラス、パラメータは、指定するjarファイルの仕様に依存します。
4.3.3.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"
オプション |
値 |
|---|---|
テンプレート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コマンドの詳細は 「開発者ガイド」 を参照して下さい。
4.3.3.5.2. AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/Elastic MapReduceジョブフロー実行ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.21 AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの使用¶
図 4.22 AWS/Elastic MapReduceジョブフロー実行ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
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] |
4.3.3.5.3. AWS/Elastic MapReduce ジョブフロー実行ジョブの流れ(通常時)¶
AWS/Elastic MapReduce ジョブフロー実行ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.23 AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ」 および 「表 4.17 AWS/Elastic MapReduce ジョブフロー実行ジョブの処理の流れ」 に示す流れで動きます。
図 4.23 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ジョブフローの実行に失敗しました。 |
AWS/Elastic MapReduce ジョブフロー実行ジョブが起動されると、引数に指定された内容でAWS/Elastic MapReduce ジョブフローを登録します。
登録したAWS/Elastic MapReduceジョブフローを起動します。
起動したAWS/Elastic MapReduceジョブフローの状態を取得します。
AWS/Elastic MapReduceジョブフローが正常終了すると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
- AWS/Elastic MapReduceジョブフローが何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
(異常終了時の復旧手順については「4.3.3.6 AWS/Elastic MapReduceジョブフロー異常終了時の復旧手順」を参照して下さい。)
4.3.3.5.4. AWS/Elastic MapReduce ジョブフロー実行ジョブの流れ(強制停止時)¶
AWS/Elastic MapReduce ジョブフロー実行ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。AWS/Elastic MapReduce ジョブフロー実行ジョブに対し、Senju/DCのジョブスケジュールより強制停止が行なわれると、 「図 4.24 AWS/Elastic MapReduce ジョブフロー実行ジョブの強制停止の流れ」 に示す流れで動きます。
図 4.24 AWS/Elastic MapReduce ジョブフロー実行ジョブの強制停止の流れ¶
Senju/DC より、AWS/Elastic MapReduce ジョブフロー実行ジョブに強制停止をすると、AWS/Elastic MapReduceに対し、ジョブフローを中止するように依頼します。
この段階では、AWS/Elastic MapReduce ジョブフローはまだ終了していませんが、Senju/DCのジョブスケジュールでは、ジョブの状態は異常終了となります。
4.3.3.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文字以内で設定して下さい。
4.3.3.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.8.3.3 Job Scheduler for Cloud(AWS/Elastic MapReduce)のジョブログファイル」を参照して下さい。
警告
AWS Management Consoleの使用方法は、Amazon Web Servicesサイトよりご確認下さい。
4.3.4. Job Scheduler for Cloud(AWS/Lambda Function)の使い方¶
4.3.4.1. Job Scheduler for Cloud(AWS/Lambda Function)の機能¶
Job Scheduler for Cloud(AWS/Lambda Function)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Lambda Functionを実行する機能です。
アクセスキーを利用した実行方法と、AssumeRoleを利用した実行方法が選択可能です。
4.3.4.1.1. アクセスキーを利用した実行¶
4.3.4.1.1.1. ポリシーの作成¶
AWS/Lambda Function連携機能を使用するため、 「表 4.18 AWS/Lambda Function連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/Lambda Function連携ジョブ |
lambda:InvokeFunction |
4.3.4.1.1.2. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Lambda Function)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.19 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)ジョブのオプションで指定した値が有効になります。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.4.1.2. AssumeRoleを利用した実行¶
4.3.4.1.2.1. プロファイルの設定¶
IAMロールを設定したEC2インスタンス上の千手エージェント(プローブ)でAWS/Lambda Functionを実行する場合、プロファイルを指定することで、AssumeRoleを利用したAWS/Lambda Functionの実行ができます。この設定を行うと、複数のアカウントに対してAWS/Lambda Functionを実行する際の設定を簡素化する事ができます。
- プロファイルを設定するには以下の手順が必要です。
4.3.4.1.2.2. AWS/Lambda FunctionアカウントでのIAMロールの作成¶
- AWS/Lambda Functionアカウントで、AWSマネジメントコンソールより次のようなIAMロールの作成を行って下さい。
エージェントのAWSアカウントから実行したいLambda FunctionがあるAWSアカウントへのAssumeRoleを許可して下さい。
AWS/Lambda Functionが実行できるように、 「表 4.18 AWS/Lambda Function連携機能に必要なアクセス権限」 に示すアクセス権限を付与して下さい。
4.3.4.1.2.3. インスタンスに設定されたIAMロールへの権限付与¶
AWS/Lambda FunctionのIAMロール( AWS/Lambda FunctionアカウントでのIAMロールの作成 で作成したもの) へAssumeRoleができるように、AWS/Lambda Functionを実行するEC2インスタンスに設定されたIAMロールに、AWSマネジメントコンソールより以下に示すアクセス権限を付与して下さい。
項目 |
必要なアクセス権 |
|---|---|
IAMロール |
sts:AssumeRole |
4.3.4.1.2.4. プロファイル作成コマンドの登録¶
プロファイルの作成・編集を行うためのプロファイル作成コマンドを、千手ブラウザからユーザーコマンドに登録します。作業については、Cloud Monitoring の プロファイル作成コマンドの登録 を参照して下さい。
4.3.4.1.2.5. プロファイルの作成¶
「 プロファイル作成コマンドの登録 」で登録したプロファイル作成コマンドを使って、プロファイルを作成します。作業については、Cloud Monitoring の プロファイルの作成 を参照して下さい。
4.3.4.1.2.6. sjAwsSetProfile -プロファイル作成コマンド-¶
プロファイル作成コマンドの利用方法については、Cloud Monitoring の sjAwsSetProfile -AWS監視プロファイル作成コマンド- を参照して下さい。
4.3.4.2. 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] [-if AWS認証ファイル]
[-cct ファンクションパラメータ(JSON文字列)]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-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 |
-if |
可 |
$SENJUHOME/dat/opt/sj_aws.ini |
255 |
AWS認証ファイル |
-cct |
可 |
― |
可変 |
ファンクションパラメータ(JSON文字列) |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。
省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。
ファンクションパラメータ(JSONファイル名)で、JSON形式のデータが記載されたファイルを指定する場合、ファイルサイズは最大で2600バイトとして下さい。
ファンクションパラメータ(JSON文字列)では以下の注意事項があります。
キーおよびバリューの値に「¥」マークを扱いたい場合は「¥¥」と表現する必要があります。
キーおよびバリューの値に「”」を扱いたい場合は、Windows:「¥¥¥”」、Linux:「¥”」と表現する必要があります。
キーおよびバリューの値に英数字、全角文字、「!#$%&'()-=^~|@`[{]}:*;+,<.>/?_」が指定可能です。
キーおよびバリューの値に半角スペースを含む場合、Windowsの場合は「"{¥"key01¥":¥"val 01¥"}"」、Linuxの場合は千手コマンドラインにスペースを含めた文字列を指定することができないため、「-cctf」で指定して下さい。
最大バイト数は、「2048バイト(ジョブ実行する際の最大長) - ファンクションパラメータ(JSON文字列)以外の長さ」となります。
4.3.4.2.1. AWS/Lambda Function連携ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/Lambda Function連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/Lambda Function連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.25 AWS/Lambda Function連携ジョブテンプレートの使用¶
図 4.26 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を指定します。省略可能です。 |
AWS認証ファイル |
AWS接続用の認証ファイルを指定します。省略可能です。デフォルトは$SENJUHOME/dat/opt/sj_aws.iniとなります。 |
ファンクションパラメータ(JSON文字列) |
Lambda Functionへ渡すJSON文字列を指定します。省略可能です。 |
4.3.4.2.2. AWS/Lambda Function連携ジョブの処理の流れ(通常時)¶
AWS/Lambda Function連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.27 AWS/Lambda Function連携ジョブの処理の流れ」 および 「表 4.23 AWS/Lambda Function連携ジョブの処理の流れ」 に示す流れで動きます。
図 4.27 AWS/Lambda Function連携ジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS/Lambda Function実行 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/Lambda上の関数実行 |
|
正常終了 |
AWS/Lambda上の関数実行に成功 |
!PEXC13 AWS/Lambda上の関数実行に成功しました。 |
異常終了 |
AWS/Lambda上の関数実行に失敗 |
!PEXC14 AWS/Lambda上の関数実行に失敗しました。 |
AWS/Lambda Function連携ジョブが起動されると、引数に指定された内容でAWS/Lambda Functionを実行します。
AWS/Lambda上の関数を実行します。
AWS/Lambda Functionが正しく実行されると、関数実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
AWS/Lambda Functionが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.4.2.3. AWS/Lambda Function連携ジョブの処理の流れ(強制停止時)¶
AWS/Lambda Function連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、AWS/Lambda Function連携ジョブを強制停止しても、関数実行中のAWS/Lambda Functionは実行されたままとなります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。
4.3.5. Job Scheduler for Cloud(AWS/Step Functions)の使い方¶
4.3.5.1. Job Scheduler for Cloud(AWS/Step Functions)の機能¶
Job Scheduler for Cloud(AWS/Step Functions)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Step Functionsを実行する機能です。
4.3.5.2. ポリシーの作成¶
AWS/Step Functions連携機能を使用するため、 「表 4.24 AWS/Step Functions連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/Step Functions連携ジョブ |
states:DescribeExecution |
4.3.5.3. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Step Functions)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.25 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リージョンは、「4.8.5.1 Job Scheduler for Cloudの制限事項」を参照して下さい。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.5.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] [-redrive]
[-cctf ファンクションパラメータ(JSONファイル名)]
[-i チェックインターバル]
[-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]
[-cct ファンクションパラメータ(JSON文字列)]
[-sfr AWSリージョン]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-smn |
不可 |
― |
255 |
ステートマシンARN |
-ak |
可 |
― |
256 |
AWS接続用のアクセスキーID |
-sk |
可 |
― |
256 |
AWS接続用のシークレットアクセスキー |
-exn |
可 |
― |
255 |
実行名 |
-sync |
可 |
― |
― |
同期開始指定オプション |
-redrive |
可 |
― |
― |
リドライブ指定オプション |
-cctf |
可 |
― |
255 |
ファンクションパラメータ(JSONファイル名) |
-i |
可 |
60 |
4 |
チェックインターバル(秒) [10-600] |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-cct |
可 |
― |
可変 |
ファンクションパラメータ(JSON文字列) |
-sfr |
可 |
― |
32 |
AWSリージョン |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。
アクセスキーID、シークレットアクセスキーを省略した場合は、sj_aws.iniで指定した値が有効になります。
ファンクションパラメータ(JSONファイル名)で、JSON形式のデータが記載されたファイルを指定する場合、ファイルサイズは最大で260000バイトとして下さい。
ファンクションパラメータ(JSON文字列)では以下の注意事項があります。
キーおよびバリューの値に「¥」マークを扱いたい場合は「¥¥」と表現する必要があります。
キーおよびバリューの値に「”」を扱いたい場合は、Windows:「¥¥¥”」、Linux:「¥”」と表現する必要があります。
キーおよびバリューの値に英数字、全角文字、「!#$%&'()-=^~|@`[{]}:*;+,<.>/?_」が指定可能です。
キーおよびバリューの値に半角スペースを含む場合、Windowsの場合は「"{¥"key01¥":¥"val 01¥"}"」、Linuxの場合は千手コマンドラインにスペースを含めた文字列を指定することができないため、「-cctf」で指定して下さい。
最大バイト数は、「2048バイト(ジョブ実行する際の最大長) - ファンクションパラメータ(JSON文字列)以外の長さ」となります。
4.3.5.4.1. AWS/Step Functions連携ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/Step Functions連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/Step Functions連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.28 AWS/Step Functions連携ジョブテンプレートの使用¶
図 4.29 AWS/Step Functions連携ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
アクセスキーID |
AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
シークレットアクセスキー |
AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
ステートマシンARN |
ステートマシンのARNを指定します。省略不可です。 |
実行名 |
ステートマシンの実行名を指定します。省略可能です。 |
ファンクションパラメータ(JSONファイル名) |
ステートマシンへ渡すパラメータを記載したJSONファイル名を指定します。マルチバイトを含む場合、エンコードはUTF-8にして下さい。省略可能です。 |
同期開始指定(-sync) |
Expressワークフローの結果ステータスを取得したい場合に指定します。指定する値は |
リドライブ指定(-redrive) |
ジョブの再ラン時にリドライブしたい場合に指定します。指定する値は |
interval[sec] |
ワークフローの実行状態取得のチェック間隔[sec]を指定します。省略可能です。 |
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
ファンクションパラメータ(JSON文字列) |
ステートマシンへ渡すJSON文字列を指定します。省略可能です。 |
AWSリージョン |
AWS/Step Functions所属のリージョンを指定します。省略可能です。 |
4.3.5.4.2. AWS/Step Functions連携ジョブ再ラン時のリドライブ条件¶
パラメータ「リドライブ指定(-redrive)」を指定してジョブを作成した場合、当該ジョブの再ラン時に以下の条件を全て満たしていればAWS/Step Functionsステートマシンをリドライブします。
パラメータ「同期開始指定(-sync)」が指定されていない
AWS/Step Functions連携ジョブの初回実行ではない(ジョブログが存在する)
- ジョブログの最終状態が以下のいずれかを満たす
アクションが「CHK」 かつ ステータス要因が「SUCCEEDED」以外
アクションが「TRM」
アクションが「RDR」
上記の条件を満たさない場合は、パラメータ「リドライブ指定」を指定している場合でもAWS/Step Functionsステートマシンを新規実行します。
注釈
ジョブログについては Job Scheduler for Cloud(AWS/Step Functions)のジョブログファイル を参照して下さい。
4.3.5.4.3. AWS/Step Functions連携ジョブの処理の流れ(通常時)¶
AWS/Step Functions連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.30 AWS/Step Functions連携ジョブの処理の流れ(図)」 および 「表 4.28 AWS/Step Functions連携ジョブの処理の流れ(表)」 に示す流れで動きます。
図 4.30 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の実行に失敗しました。 |
AWS/Step Functions連携ジョブが起動されると、引数に指定された内容でAWS/Step Functionsを実行します。
AWS/Step Functionsステートマシンを実行します。
AWS/Step Functionsステートマシンが正常終了すると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
AWS/Step Functionsステートマシンが何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.5.4.4. AWS/Step Functions連携ジョブの処理の流れ(強制停止時)¶
AWS/Step Functions連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、AWS/Step Functions連携ジョブを強制停止した場合、実行中のAWS/Step Functionsステートマシンも中断します。
なお、パラメータ「inteval[sec]」に指定した時間内でAWS/Step Functionsステートマシンが終了していた場合は中断しません。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。
4.3.6. Job Scheduler for Cloud(AWS/Batch)の使い方¶
4.3.6.1. Job Scheduler for Cloud(AWS/Batch)の機能¶
Job Scheduler for Cloud(AWS/Batch)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Batchのジョブを実行する機能です。
4.3.6.2. ポリシーの作成¶
AWS/Batch連携機能を使用するため、 「表 4.29 AWS/Batch連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/Batch連携ジョブ |
batch:SubmitJob |
4.3.6.3. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Batch)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.30 sj_aws.iniの記述内容」 に示す内容を設定して下さい。
項目 |
省略 |
デフォルト |
暗号化対象 |
説明 |
|---|---|---|---|---|
accessKey |
可 |
― |
○ |
AWS接続用のアクセスキーID |
secretKey |
可 |
― |
○ |
AWS接続用のシークレットアクセスキー |
省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/Batch)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。
同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/Batch)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/Batch)ジョブのオプションで指定した値が有効になります。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.6.4. AWS/Batch連携ジョブの利用方法¶
AWS/Batch連携ジョブは、AWS Management Consoleなどによって作成したAWS/Batchを実行します。
AWS/Batch連携ジョブが起動されると、引数に指定された内容でAWS/Batchを実行し、実行結果を標準出力に出力します。
AWS/Batch連携ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
AWS/Batch連携ジョブ(FARGATE)
sjPEX_CloudFunctions -m ABF
-br AWSリージョン
-jq ジョブキュー名
-jd ジョブ定義名
-jn ジョブ名
[-ak アクセスキーID] [-sk シークレットアクセスキー]
[-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]
[-si 共有識別子][-sp スケジュール優先度] [-rs ジョブの試行]
[-pt タグ伝播] [-to 実行タイムアウト] [-wt ウェイトタイム]
[-vc vCPU数] [-mem メモリ] [-jp ジョブパラメータ(ファイル)]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-br |
不可 |
― |
32 |
AWSリージョン |
-jq |
不可 |
― |
128 |
ジョブキュー名 |
-jd |
不可 |
― |
128 |
ジョブ定義名 |
-jn |
不可 |
― |
128 |
ジョブ名 |
-ak |
可 |
― |
256 |
AWS接続用のアクセスキーID |
-sk |
可 |
― |
256 |
AWS接続用のシークレットアクセスキー |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-si |
可 |
― |
255 |
共有識別子 |
-sp |
可 |
― |
4 |
スケジュール優先度 |
-rs |
可 |
― |
2 |
ジョブの試行 |
-pt |
可 |
false |
5 |
タグ伝播 |
-to |
可 |
― |
8 |
実行タイムアウト |
-wt |
可 |
5 |
4 |
ウェイトタイム |
-vc |
可 |
― |
4 |
vCPU数 |
-mem |
可 |
― |
8 |
メモリ |
-jp |
可 |
― |
256 |
ジョブパラメータ(ファイル) |
AWS/Batch連携ジョブ(EC2)
sjPEX_CloudFunctions -m ABEC2
-br AWSリージョン
-jq ジョブキュー名
-jd ジョブ定義名
-jn ジョブ名
[-ak アクセスキーID] [-sk シークレットアクセスキー]
[-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]
[-si 共有識別子][-sp スケジュール優先度] [-rs ジョブの試行]
[-pt タグ伝播] [-to 実行タイムアウト] [-wt ウェイトタイム]
[-vc vCPU数] [-mem メモリ] [-g GPU数] [-jp ジョブパラメータ(ファイル)]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-br |
不可 |
― |
32 |
AWSリージョン |
-jq |
不可 |
― |
128 |
ジョブキュー名 |
-jd |
不可 |
― |
128 |
ジョブ定義名 |
-jn |
不可 |
― |
128 |
ジョブ名 |
-ak |
可 |
― |
256 |
AWS接続用のアクセスキーID |
-sk |
可 |
― |
256 |
AWS接続用のシークレットアクセスキー |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-si |
可 |
― |
255 |
共有識別子 |
-sp |
可 |
― |
4 |
スケジュール優先度 |
-rs |
可 |
― |
2 |
ジョブの試行 |
-pt |
可 |
false |
5 |
タグ伝播 |
-to |
可 |
― |
8 |
実行タイムアウト |
-wt |
可 |
5 |
4 |
ウェイトタイム |
-vc |
可 |
― |
4 |
vCPU数 |
-mem |
可 |
― |
8 |
メモリ |
-g |
可 |
― |
4 |
GPU数 |
-jp |
可 |
― |
256 |
ジョブパラメータ(ファイル) |
AWS/Batch連携ジョブ(EKS)
sjPEX_CloudFunctions -m ABEKS
-br AWSリージョン
-jq ジョブキュー名
-jd ジョブ定義名
-jn ジョブ名
[-ak アクセスキーID] [-sk シークレットアクセスキー]
[-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]
[-si 共有識別子][-sp スケジュール優先度] [-rs ジョブの試行]
[-to 実行タイムアウト] [-wt ウェイトタイム] [-vc vCPU数]
[-mem メモリ] [-g GPU数] [-jp ジョブパラメータ(ファイル)]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-br |
不可 |
― |
32 |
AWSリージョン |
-jq |
不可 |
― |
128 |
ジョブキュー名 |
-jd |
不可 |
― |
128 |
ジョブ定義名 |
-jn |
不可 |
― |
128 |
ジョブ名 |
-ak |
可 |
― |
256 |
AWS接続用のアクセスキーID |
-sk |
可 |
― |
256 |
AWS接続用のシークレットアクセスキー |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-si |
可 |
― |
255 |
共有識別子 |
-sp |
可 |
― |
4 |
スケジュール優先度 |
-rs |
可 |
― |
2 |
ジョブの試行 |
-to |
可 |
― |
8 |
実行タイムアウト |
-wt |
可 |
5 |
4 |
ウェイトタイム |
-vc |
可 |
― |
4 |
vCPU数 |
-mem |
可 |
― |
8 |
メモリ |
-g |
可 |
― |
4 |
GPU数 |
-jp |
可 |
― |
256 |
ジョブパラメータ(ファイル) |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。
省略可能なオプションを省略した場合は、sj_aws.iniで指定した値が有効になります。
4.3.6.4.1. AWS/Batch連携ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/Batch連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/Batch連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
AWS/Batch連携ジョブ(FARGATE)
図 4.31 AWS/Batch連携ジョブ(FARGATE)テンプレートの使用¶
図 4.32 AWS/Batch連携ジョブ(FARGATE)テンプレートの入力¶
パラメータ |
説明 |
|---|---|
AWSリージョン |
AWS/Batch所属のリージョンを指定します。省略不可です。 |
ジョブキュー名 |
ジョブキュー名を指定します。省略不可です。 |
ジョブ定義名 |
ジョブ定義名を指定します。省略不可です。 |
ジョブ名 |
ジョブ名を指定します。省略不可です。 |
アクセスキーID |
AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
シークレットアクセスキー |
AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
共有識別子 |
Batchジョブの共有識別子を指定します。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。 |
スケジュール優先度 |
Batchジョブのスケジュール優先度を指定します。ジョブ定義の同等項目を上書きします。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。「0~9999」の範囲で指定できます。 |
ジョブの試行 |
Batchジョブの試行回数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
タグ伝播 |
Batchジョブのタグ伝播を指定します。ジョブ定義の同等項目をtrueもしくはfalseに切り替えます。省略可能です。デフォルト値はfalseとなります。 |
実行タイムアウト |
AWS Batch が未完了のジョブを終了するまでの時間(秒)を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
ウェイトタイム |
千手ジョブがBatchジョブの終了を待つ時間(分)を指定します。指定時間経過後もBatchジョブが実行中の場合、千手ジョブは異常終了します。省略可能です。デフォルト値は5となります。 |
vCPU数 |
BatchジョブのvCPU数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
メモリ |
Batchジョブのメモリを指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
ジョブパラメータ(ファイル) |
Batchジョブへ渡すパラメータを記載したファイルを指定します。省略可能です。(※1)(※2)(※3)(※4) |
AWS/Batch連携ジョブ(EC2)
図 4.33 AWS/Batch連携ジョブ(EC2)テンプレートの使用¶
図 4.34 AWS/Batch連携ジョブ(EC2)テンプレートの入力¶
パラメータ |
説明 |
|---|---|
AWSリージョン |
AWS/Batch所属のリージョンを指定します。省略不可です。 |
ジョブキュー名 |
ジョブキュー名を指定します。省略不可です。 |
ジョブ定義名 |
ジョブ定義名を指定します。省略不可です。 |
ジョブ名 |
ジョブ名を指定します。省略不可です。 |
アクセスキーID |
AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
シークレットアクセスキー |
AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
共有識別子 |
Batchジョブの共有識別子を指定します。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。 |
スケジュール優先度 |
Batchジョブのスケジュール優先度を指定します。ジョブ定義の同等項目を上書きします。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。「0~9999」の範囲で指定できます。 |
ジョブの試行 |
Batchジョブの試行回数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
タグ伝播 |
Batchジョブのタグ伝播を指定します。ジョブ定義の同等項目をtrueもしくはfalseに切り替えます。省略可能です。デフォルト値はfalseとなります。 |
実行タイムアウト |
AWS Batch が未完了のジョブを終了するまでの時間(秒)を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
ウェイトタイム |
千手ジョブがBatchジョブの終了を待つ時間(分)を指定します。指定時間経過後もBatchジョブが実行中の場合、千手ジョブは異常終了します。省略可能です。デフォルト値は5となります。 |
vCPU数 |
BatchジョブのvCPU数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
メモリ |
Batchジョブのメモリを指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
GPU数 |
BatchジョブのGPU数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
ジョブパラメータ(ファイル) |
Batchジョブへ渡すパラメータを記載したファイルを指定します。省略可能です。(※1)(※2)(※3)(※4) |
AWS/Batch連携ジョブ(EKS)
図 4.35 AWS/Batch連携ジョブ(EKS)テンプレートの使用¶
図 4.36 AWS/Batch連携ジョブ(EKS)テンプレートの入力¶
パラメータ |
説明 |
|---|---|
AWSリージョン |
AWS/Batch所属のリージョンを指定します。省略不可です。 |
ジョブキュー名 |
ジョブキュー名を指定します。省略不可です。 |
ジョブ定義名 |
ジョブ定義名を指定します。省略不可です。 |
ジョブ名 |
ジョブ名を指定します。省略不可です。 |
アクセスキーID |
AWS接続用のアクセスキーIDを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
シークレットアクセスキー |
AWS接続用のシークレットアクセスキーを指定します。 sj_aws.iniで指定している場合は、省略可能です。 |
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
共有識別子 |
Batchジョブの共有識別子を指定します。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。 |
スケジュール優先度 |
Batchジョブのスケジュール優先度を指定します。ジョブ定義の同等項目を上書きします。省略可能です。ジョブ キューにスケジュールポリシーがある場合は、指定します。「0~9999」の範囲で指定できます。 |
ジョブの試行 |
Batchジョブの試行回数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
実行タイムアウト |
AWS Batch が未完了のジョブを終了するまでの時間(秒)を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
ウェイトタイム |
千手ジョブがBatchジョブの終了を待つ時間(分)を指定します。指定時間経過後もBatchジョブが実行中の場合、千手ジョブは異常終了します。省略可能です。デフォルト値は5となります。 |
vCPU数 |
BatchジョブのvCPU数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
メモリ |
Batchジョブのメモリを指定します。ジョブ定義の同等項目を上書きします。省略可能です。(※5) |
GPU数 |
BatchジョブのGPU数を指定します。ジョブ定義の同等項目を上書きします。省略可能です。 |
ジョブパラメータ(ファイル) |
Batchジョブへ渡すパラメータを記載したファイルを指定します。省略可能です。(※1)(※2)(※3)(※4) |
※1、ジョブパラメータ(ファイル)には、配列サイズ、ジョブ依存関係リスト、ジョブパラメータ、環境変数、タグ、コマンド、EKSラベル、EKSイメージ、EKSコマンド、EKSパラメータを指定できます。
※2、配列サイズは「2 ~ 10000」の範囲で指定できます。
- ※3、配列サイズが指定される場合は、ジョブ依存関係リストは{"id1":"type1","id2":"type2","id3":"type3"}の形式で指定してください。ジョブタイプはSEQUENTIAL、N_TO_N、空のいずれかで指定し、SEQUENTIALが指定される場合、ジョブIDは空で指定必要となります。
配列サイズが指定されない場合は、ジョブ依存関係リストは{"id1":"","id2":"","id3":""}の形式で指定します。ジョブタイプが入力されても無視されます。
※4、ジョブ依存関係リストは最大20個のジョブまで依存できます。
ジョブパラメータ(ファイル)の例:
[arraySize] 2 [dependenciesList] {"id1":"N_TO_N","id2":"","":"SEQUENTIAL"} [tags] {"tagKey1":"tagVal1","tagKey2":"tagVal2"} [environment] {"env1":"envVal1","env2":"envVal2"} [jobParam] {"paramKey1":"paramVal1"} [command] echo AWS Batch Test [eksLabel] {"label01":"labelVal01"} [eksImg] public.ecr.aws/amazonlinux/amazonlinux:latest [eksCommand] echo AWS Batch Test [eksParam] eparam1,eparam2,eparam3※5、VCPU値はサポートされている値の1つと一致し、MEMORY値はそのVCPU値でサポートされている値の1つである必要があります。VCPUのサポートされている値は 0.25、0.5、1、2、4、8、および 16 です。
VCPU = 0.25 MEMORY = 512, 1024, or 2048 VCPU = 0.5 MEMORY = 1024, 2048, 3072, or 4096 VCPU = 1 MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192 VCPU = 2 MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384 VCPU = 4 MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720 VCPU = 8 MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440 VCPU = 16 MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
4.3.6.4.2. AWS/Batch連携ジョブの処理の流れ(通常時)¶
AWS/Batch連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 「図 4.37 AWS/Batch連携ジョブの処理の流れ」 および 「表 4.37 AWS/Batch連携ジョブの処理の流れ」 に示す流れで動きます。
図 4.37 AWS/Batch連携ジョブの処理の流れ¶
Senju/DC ジョブの状態 |
AWS/Batch実行 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/Batchのジョブ実行 |
|
正常終了 |
AWS/Batchのジョブ実行に成功 |
!PEXC25 AWS/Batchのジョブ実行に成功しました。 |
異常終了 |
AWS/Batchのジョブ実行に失敗 |
!PEXC26 AWS/Batchのジョブ実行に失敗しました。 |
AWS/Batch連携ジョブが起動されると、引数に指定された内容でAWS/Batchのジョブを実行します。
AWS/Batchのジョブを実行します。
AWS/Batchのジョブが正しく実行されると、ジョブ実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
AWS/Batchのジョブが何らかの理由で正しく実行されないと、失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
4.3.6.4.3. AWS/Batch連携ジョブの処理の流れ(強制停止時)¶
AWS/Batch連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、AWS/Batch連携ジョブを強制停止しても、実行中のAWS/Batchのジョブは実行されたままとなります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。
4.3.7. Job Scheduler for Cloud(AWS/Elastic Container Service)の使い方¶
4.3.7.1. Job Scheduler for Cloud(AWS/Elastic Container Service)の機能¶
Job Scheduler for Cloud(AWS/Elastic Container Service)とは、Senju/DCのジョブスケジュール機能と連携し、AWS/Elastic Container Service のコンテナ内でコマンドを実行する機能です。
4.3.7.1.1. AWS/Elastic Container Service連携ジョブの制限事項¶
本機能は以下の構成をサポートします。
動作環境サーバー: Linuxノード
Elastic Container Service内コンテナ: Linuxコンテナ
指定されたコマンドは、コンテナ内でrootユーザーによって実行されます。
コンテナ内で実行するコマンドのアイドルタイムが20分を超えた場合、実行コマンドはタイムアウトし、千手ジョブは異常終了します。
タイムアウト時間を変更する場合は、AWS Management Consoleからセッションマネージャの Idle session timeout を変更して下さい。(1~60分)
タイムアウトが発生した場合には、実行コマンドに対してハングアップシグナル(SIGHUP)が送信されます。
ジョブのパラメータにスペースを指定することは出来ません。
4.3.7.2. ポリシーの作成¶
AWS/Elastic Container Service連携機能を使用するため、 「表 4.38 AWS/Elastic Container Service連携機能に必要なアクセス権限」 に示すポリシーを作成して、ユーザーにアクセス権限を付与します。
ジョブ |
必要なアクセス権 |
|---|---|
AWS/Elastic Container Service連携ジョブ |
ecs:ExecuteCommand |
4.3.7.3. sj_aws.iniの設定¶
sj_aws.iniファイルは、AWSに関する情報の設定ファイルで、 Job Scheduler for Cloud(AWS/Elastic Container Service)ジョブはこのファイルを参照します。
設定方法については、 sj_setup_aws - AWS情報設定ファイル更新 - を参照して下さい。
sj_aws.iniに、 「表 4.39 sj_aws.iniの記述内容(AWS/Elastic Container Service)」 に示す内容を設定して下さい。
項目 |
省略 |
デフォルト |
暗号化対象 |
説明 |
|---|---|---|---|---|
accessKey |
可 |
― |
○ |
AWS接続用のアクセスキーID |
secretKey |
可 |
― |
○ |
AWS接続用のシークレットアクセスキー |
region |
可 |
― |
○ |
AWS接続用のリージョン |
省略可能な項目を省略した場合は、Job Scheduler for Cloud(AWS/Elastic Container Service)ジョブのオプションで指定する必要があります。デフォルトが存在するものに関しては、省略してもデフォルト値で動作します。
同じ項目を、sj_aws.iniとJob Scheduler for Cloud(AWS/Elastic Container Service)ジョブのオプションの両方で指定した場合は、Job Scheduler for Cloud(AWS/Elastic Container Service)ジョブのオプションで指定した値が有効になります。
警告
Senju/DCジョブの起動コマンドには、文字数に制限があります。なるべく各項目は省略せずに、sj_aws.iniファイルに設定して下さい。
4.3.7.4. タスクまたはサービスに対するコマンド実行機能の有効化¶
本機能を利用するためには、対象として指定するコンテナ内でのコマンド実行が許可されている必要があります。
AWSの公式ドキュメントを参照し、パラメータで指定するタスク、またはそのタスクを管理するサービスに対してコマンド実行機能を事前に有効化して下さい。
例として、既に存在するサービスに対してコマンド実行機能を有効化する場合は、以下のようなAWS CLIを実行します。
aws ecs update-service --cluster クラスター名 --service サービス名 --enable-execute-command
4.3.7.5. AWS/Elastic Container Service連携ジョブの利用方法¶
AWS/Elastic Container Service連携ジョブは、AWS Management Consoleなどによって作成したAWS/Elastic Container Service内コンテナにてコマンドを実行します。
AWS/Elastic Container Service連携ジョブが起動されると、引数に指定された内容でAWS/Elastic Container Service内コンテナにてコマンドを実行し、実行結果を標準出力に出力します。
AWS/Elastic Container Service連携ジョブを起動する際に指定する引数には、以下に示す内容を指定して下さい。
sjPEX_CloudFunctions -m ECS
-cmd コマンド
-tsk タスク
-cl クラスター
[-ctn コンテナ名]
[-p プロファイル名] [-ar ロールARN] [-ei AWS外部ID]
[-ereg AWSリージョン]
オプション |
省略 |
デフォルト |
長さ |
説明 |
|---|---|---|---|---|
-cmd |
不可 |
― |
255 |
コンテナ内で実行するコマンド |
-tsk |
不可 |
― |
255 |
タスク名 または タスクARN |
-cl |
不可 |
― |
255 |
クラスター名 または クラスターARN |
-ctn |
可 |
― |
255 |
コンテナ名 |
-p |
可 |
― |
255 |
プロファイル名 |
-ar |
可 |
― |
1024 |
ロールARN |
-ei |
可 |
― |
128 |
AWS外部ID |
-ereg |
可 |
― |
32 |
AWSリージョン |
Senju/DCジョブの起動コマンドの最大文字数は2048文字です。起動コマンドが最大文字数を超える場合は、sj_aws.iniに設定して下さい。
アクセスキーID、シークレットアクセスキーを省略した場合は、sj_aws.iniで指定した値が有効になります。
警告
各オプションの値にスペースを含む文字列を指定することは出来ません。
例えば、オプション「コマンド」にてスペースを指定する必要がある場合は、事前にコンテナ内にスクリプトを配置し、そのスクリプトを指定するなどで、オプションにスペースを指定しない形となるようにして下さい。
4.3.7.5.1. AWS/Elastic Container Service連携ジョブテンプレートの使い方¶
ジョブテンプレートとは、ジョブの起動コマンドシーケンスのみを持ち、パラメータ値が未決定であるエンティティです。ジョブテンプレートを用いることにより、ジョブの登録のたびにコマンドシーケンスを入力しなくても、必要なパラメータ値を入力するだけでジョブの作成が行えます。 Job Scheduler for CloudをSenju/DCのジョブスケジュール機能と連携するために、Job Scheduler for Cloudジョブを、Senju/DCのジョブの起動コマンドとして設定します。
AWS/Elastic Container Service連携ジョブテンプレートを使用し、ジョブの起動コマンドとして利用するには、千手ブラウザのツリービューで、<ドメイン>→“ジョブスケジュール”→“ジョブ”を選択し、ジョブの新規作成を行います。
ジョブの新規作成プロパティウィンドで[ジョブテンプレートを使用]チェックボックスをチェックし、[ジョブテンプレート入力]ボタンを押して下さい。
ジョブテンプレート入力ウィンドでAWS/Elastic Container Service連携ジョブテンプレートを選択し、各パラメータ値を設定して下さい。
図 4.38 AWS/Elastic Container Service連携ジョブテンプレートの使用¶
図 4.39 AWS/Elastic Container Service連携ジョブテンプレートの入力¶
パラメータ |
説明 |
|---|---|
プロファイル名 |
ロール認証に使用されるプロファイルを指定します。省略可能です。 |
ロールARN |
ロール認証に使用されるロールARNを指定します。省略可能です。 |
AWS外部ID |
ロール認証に使用される外部IDを指定します。省略可能です。 |
AWSリージョン |
AWS/Elastic Container Service所属のリージョンを指定します。省略可能です。 |
コマンド |
コンテナ内で実行するコマンドを指定します。省略不可です。 |
タスク |
タスク名 または タスクARNを指定します。省略不可です。 |
クラスター |
クラスター名 または クラスターARNを指定します。省略不可です。 |
コンテナ名 |
コンテナ名を指定します。省略可能です。 |
警告
各パラメータ値にスペースを含む文字列を指定することは出来ません。
例えば、パラメータ「コマンド」にてスペースを指定する必要がある場合は、事前にコンテナ内にスクリプトを配置し、そのスクリプトを指定するなどで、パラメータにスペースを指定しない形となるようにして下さい。
4.3.7.5.2. AWS/Elastic Container Service連携ジョブの処理の流れ(通常時)¶
AWS/Elastic Container Service連携ジョブがSenju/DCのジョブスケジュールで1つのジョブとして起動されると、 AWS/Elastic Container Service連携ジョブの処理の流れ(図) および AWS/Elastic Container Service連携ジョブの処理の流れ(表) に示す流れで動きます。
図 4.40 AWS/Elastic Container Service連携ジョブの処理の流れ(図)¶
Senju/DC ジョブの状態 |
AWS/Elastic Container Service実行 ジョブの処理内容 |
メッセージモニタの出力 |
|---|---|---|
起動待ち |
起動前の状態 |
|
稼働中 |
起動 |
|
稼働中 |
引数に従い、AWS/Elastic Container Serviceでコマンドを実行 |
|
正常終了 |
AWS/Elastic Container Serviceでのコマンド実行に成功 |
!PEXC31 AWS/Elastic Container Serviceのジョブ実行に成功しました。 |
異常終了 |
AWS/Elastic Container Serviceでのコマンド実行に失敗 |
!PEXC32 AWS/Elastic Container Serviceのジョブ実行に失敗しました。 |
AWS/Elastic Container Service連携ジョブが起動されると、引数に指定された内容でAWS/Elastic Container Serviceを実行します。
AWS/Elastic Container Service内コンテナでコマンドを実行します。
AWS/Elastic Container Service内コンテナでのコマンド実行が終了し終了コードが 0 になると、実行に成功した旨のメッセージを出力し、Senju/DCジョブは正常終了します。
AWS/Elastic Container Service内コンテナでのコマンド実行が何らかの理由で異常終了すると、実行に失敗した旨のメッセージを出力し、Senju/DCジョブは異常終了します。
注釈
AWS/Elastic Container Service内コンテナで実行したコマンドの終了コードが 0 以外の場合、Senju/DCジョブは異常終了します。
4.3.7.5.3. AWS/Elastic Container Service連携ジョブの処理の流れ(強制停止時)¶
AWS/Elastic Container Service連携ジョブは、他のSenju/DCのジョブと同じく強制停止させることができます。
Senju/DCのジョブスケジュールより、AWS/Elastic Container Service連携ジョブを強制停止しても、AWS/Elastic Container Service内コンテナで実行中のコマンドは実行されたままとなります。
Senju/DCのジョブスケジュールでは、強制停止されたジョブの状態は異常終了となります。