ジョブワークフローとは
概要
あるジョブが実行された後に他のジョブを実行させる、といった複数のジョブを連続実行させる方法について、Amazon SQSによる方法を記載しましたが、本項では2017年10月にリリースされた「Webhook後処理」で代用する方法について記載します。
ジョブ実行の流れ
- インスタンスを停止
- インスタンスタイプを変更
- インスタンスを起動
上記3つのジョブを連続実行させる流れを下に示します。
2つ目以降のジョブは、HTTPトリガー ジョブとして登録することで、前段のジョブから「Webhook後処理」で呼び出すことが可能になります。
設定例
連続するジョブを作成する際は、最後のジョブから登録していくと手間が少なくて済みます。(2018年1月現在)
STEP1: インスタンス起動ジョブを作成
-
インスタンス起動ジョブを作成
No 設定項目 設定値 1 グループ 任意のグループを指定 2 トリガー HTTPトリガー 3 アクション EC2:インスタンスを起動 4 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定 5 アクションパラメーターの指定方法 「ジョブ作成時にパラメーターを指定する」を選択
6 インスタンス 該当のインスタンスを指定(タグの指定でもOK) 7 ジョブ実行後のリソースの状態までチェックする 必要に応じてチェック -
HTTPトリガーの情報をメモする
作成したジョブのジョブの詳細画面から、以下の情報をメモします。
STEP2: インスタンスタイプ変更ジョブの登録
-
インスタンスタイプ変更ジョブの登録
No 設定項目 設定値 1 グループ 任意のグループを指定 2 トリガー HTTPトリガー 3 アクション EC2:インスタンスタイプを変更 4 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定 5 インスタンス 該当のインスタンスを指定(タグの指定でもOK) 6 インスタンスタイプ ※変更したいタイプを指定 7 後処理 ※新規に後処理を作成して指定(後述) -
後処理の新規作成
後処理の指定箇所で、「後処理の新規作成」ボタンを押して、作成画面を開きます。
ここで、サービスには Webhook を選択し、先ほどメモしておいた「インスタンス起動ジョブ」の、 HTTPトリガーのURL と HTTPヘッダーのAuth情報 を入力し、判別しやすい後処理名を入力して登録します。
-
後処理の指定
後処理作成後、今作成した後処理を「成功時」の後処理に指定します。
-
HTTPトリガー情報をメモする
STEP1と同様に、作成したジョブの詳細画面を開き、 HTTPトリガーのURL と HTTPヘッダーのAuth情報 を再度メモします。
STEP3: インスタンス停止ジョブの作成
-
インスタンス停止ジョブの作成
これで最後です。STEP2と同様に、ジョブの作成画面で次のように登録します。
No 設定項目 設定値 1 グループ 任意のグループを指定 2 トリガー ※利用したいトリガーを指定 3 アクション EC2:インスタンスを停止 4 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定 5 インスタンス 該当のインスタンスを指定(タグの指定でもOK) 6 ジョブ実行後のリソースの状態までチェックする ※ここは必ずチェックしてください 7 後処理 ※新規に後処理を作成して指定(後述) -
後処理の作成と指定
STEP2と同様に、新規に後処理を作成します。
サービスには Webhook を選択し、先ほどメモしておいた「インスタンスタイプ変更ジョブ」の、 HTTPトリガーのURL と HTTPヘッダーのAuth情報 を入力し、判別しやすい後処理名を入力して登録し、ジョブ作成画面上「成功時」の後処理に、作成した後処理を指定してジョブを作成し、作成した後処理を「成功時」の後処理に指定します。