ジョブワークフローとは、順番に実行したい一連の運用ジョブがある場合に、それらを1つの「ワークフロー」としてまとめて管理・実行できる機能です。
新しいジョブワークフローでは、従来の先頭ジョブに代わる「ワークフロートリガージョブ」が新たに追加されました。
これまでの先頭ジョブではトリガーとアクションを同時に設定していましたが、ワークフロートリガージョブではトリガーのみを設定し、アクションは後続ジョブで設定します。
トリガーとアクションを分離することによって、ジョブワークフロー内のジョブの順番をより簡単に変更できるようになりました。
新しいジョブワークフロー (以降、ジョブワークフローと記載) と従来のジョブワークフローの違いについては、こちらのマニュアルをご参照ください。
ジョブワークフローで解決できること
「開発環境というタグの付いたEC2インスタンスに対して、毎日決まった時間にAMIを作成したうえでインスタンスを停止させる」という運用をしたいとします。
これを運用ジョブの機能だけで行おうとすると、複数のジョブ間での後処理やトリガーの管理が煩雑になってしまいます。
このような場合にジョブワークフローを利用すると、2つのジョブ間の連携を管理する必要がなくなり、下図のようにあらかじめ用意したジョブをジョブワークフローの中で実行順に並べるだけで済むようになります。
ジョブワークフローとしてまとめられた一連のジョブは、ジョブワークフロー単位で有効・無効を切り替えたり、ワークフロー全体を通しての実行成否をログとして確認できるようになります。
ただし、ワークフロートリガージョブのトリガー設定や、後続ジョブのアクションと後処理の設定については運用ジョブの機能と同じように各ジョブで個別に行う必要があります。
また、各ジョブの詳細な実行結果についても各ジョブのログを個別に参照する必要があります。
ジョブワークフローの使い方
ジョブワークフローを使うにあたっては、あらかじめジョブワークフローに組み込みたいジョブを、ワークフロートリガージョブおよび後続ジョブとして作成しておく必要があります。
ワークフロートリガージョブと後続ジョブは総称して「ワークフロー専用ジョブ」と呼ばれます。
1. ワークフロートリガージョブを作成する
ワークフロートリガージョブは、ジョブワークフロー全体のトリガーを設定するジョブです。
ワークフロートリガージョブを作成するには、ジョブを追加する際に「ワークフロー専用ジョブ」というチェックボックスをチェックします。
ワークフロー専用ジョブをチェックした場合、ステップ2でトリガーの選択肢としてワークフロートリガージョブ用のトリガーまたは後続ジョブ用の「トリガーなし」が選べるようになります。
ワークフロートリガージョブを作成する場合は「タイマートリガー」や「スケジュールトリガー」などを選択します。
ワークフロートリガージョブはアクションが自動的に「アクションなし」が設定されるため、アクションを指定することはできません。
そのまま「次へ」をクリックします。
ジョブ名を入力して「作成する」ボタンをクリックします。
2. 後続ジョブを作成する
後続ジョブは、ジョブワークフロー内でアクションを実行するジョブです。
後続ジョブを作成する場合も、ワークフロートリガージョブの場合と同様に「ワークフロー専用ジョブ」のチェックボックスをチェックします。
ステップ2ではトリガーの選択肢として「トリガーなし」を選択します。
この後は通常通りにアクションと後処理の設定を行って、ジョブを作成します。
3. ワークフロー専用ジョブを確認する
ワークフロー専用ジョブは通常のジョブとは区別して扱われます。ワークフロー専用ジョブの一覧を確認するには、メニューの「運用ジョブ一覧」を表示したあとで「ワークフロー専用ジョブ」のタブをクリックします。
一覧において「トリガー」が「タイマー」と表示されているものがワークフロートリガージョブ、「トリガーなし」と表示されているものが後続ジョブです。
4. ジョブワークフローを作成する
ジョブワークフローの作成は、メニューの「ジョブワークフロー」−「ワークフローの追加」から行います。
以下のようなジョブワークフローの追加フォームが表示されるので、各項目を入力してジョブを指定していきます。
項目名 | 説明 |
---|---|
ジョブワークフロー名 |
ジョブワークフローを識別するための任意の名前を入力します。 |
グループ |
利用したいジョブが属するグループを選択します。 |
ジョブの指定 |
実行したいジョブを順に指定してください。 ワークフロートリガージョブとして選択できるのはワークフロートリガージョブのみです。 ゴミ箱アイコンをクリックするとジョブの選択がキャンセルされます。 選択したジョブの詳細を確認したい場合は、右側に表示される「ジョブ詳細」をクリックすると別ウィンドウで確認できます。 |
ワークフロートリガージョブおよび1番目の後続ジョブと2番目の後続ジョブを指定したら、ページ下部の「登録」ボタンを押してジョブワークフローの作成を完了します。
作成が完了した時点でジョブワークフローは有効となり、ワークフロートリガージョブとして指定したトリガー設定に応じて動き始めます。
5. ジョブワークフローの実行ログを確認する
ジョブワークフローの実行結果はジョブワークフロー実行ログとして記録され、メニューの「ジョブワークフロー」−「実行ログ一覧」から確認できます。
また、ジョブワークフローに含まれる各ジョブの詳細な結果については、ジョブワークフロー実行ログの詳細からリンクされている各ジョブの実行ログにて確認できます。
ジョブワークフローの動作のしかた
- ワークフロートリガージョブのトリガー設定に従ってジョブワークフローが開始されます
- ワークフロートリガージョブの実行が完了すると、後続ジョブが順次実行されます
- すべてのジョブが完了すると、ジョブワークフローの実行が終了します
途中のジョブが失敗した場合、そこでワークフローの実行は終了となります。
途中から再開させることはできません。
各ジョブの後処理の呼び出し順は保証されません。
前のジョブの後処理が次のジョブの実行開始よりも前に呼び出されるとは限らないため注意してください(前後する可能性があります)。
ジョブワークフローの制限
2024年8月時点でジョブワークフローには以下のような制限があります。
ジョブに関する制限
- ジョブワークフローに含められるジョブは最大で21件までです(ワークフロートリガージョブ1件+後続ジョブ20件)
- 同一のジョブを複数のジョブワークフローで共用することはできません
- 同一のジョブを1つのジョブワークフロー内で複数回実行させることはできません
- ワークフロー専用ジョブを個別に有効・無効に切り替えることはできません
- 既存の運用ジョブをワークフロー専用ジョブに変更することはできません
実行に関する制限
- 実行中のジョブワークフローを途中で停止・キャンセルさせることはできません
- 途中のジョブが失敗した場合に、そこから再開させることはできません