Webhook後処理:複数のジョブを連続実行する(EC2インスタンスのスケールアップ)

概要

あるジョブが実行された後に他のジョブを実行させる、といった複数のジョブを連続実行させる方法について、Amazon SQSによる方法を記載しましたが、本項では2017年10月にリリースされた「Webhook後処理」で代用する方法について記載します。

 

ジョブ実行の流れ

  1. インスタンスを停止
  2. インスタンスタイプを変更
  3. インスタンスを起動

上記3つのジョブを連続実行させる流れを下に示します。

webhook_job.png

2つ目以降のジョブは、HTTPトリガー ジョブとして登録することで、前段のジョブから「Webhook後処理」で呼び出すことが可能になります。

 

設定例

Note:
連続するジョブを作成する際は、最後のジョブから登録していくと手間が少なくて済みます。(2018年1月現在)

 

STEP1: インスタンス起動ジョブを作成

  1. インスタンス起動ジョブを作成

    step1.png

    No 設定項目 設定値
    1 トリガー HTTPトリガー
    2 アクション EC2:インスタンスを起動
    3 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定
    4 インスタンス 該当のインスタンスを指定(タグの指定でもOK)
    5 リソースの終了ステータスをチェックする 必要に応じてチェック
  2. HTTPトリガーの情報をメモする

    作成したジョブのジョブの詳細画面から、以下の情報をメモします。

    step1-2.png


 

STEP2: インスタンスタイプ変更ジョブの登録

  1. インスタンスタイプ変更ジョブの登録

    No 設定項目 設定値
    1 トリガー HTTPトリガー
    2 アクション EC2:インスタンスタイプを変更
    3 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定
    4 インスタンス 該当のインスタンスを指定(タグの指定でもOK)
    5 インスタンスタイプ ※変更したいタイプを指定
    6 後処理 ※新規に後処理を作成して指定(後述)
  2. 後処理の新規作成

    後処理の指定箇所で、「後処理を新たに作成する」ボタンを押して、作成画面を開きます。

    step2-1.png

    ここで、サービスには Webhook を選択し、先ほどメモしておいた「インスタンス起動ジョブ」の、 HTTPトリガーのURLHTTPヘッダーのAuth情報 を入力し、判別しやすい後処理名を入力して登録します。

    step2-2.png

  3. 後処理の指定

    後処理作成後、今作成した後処理を「成功時」の後処理に指定します。

    step2-3.png

  4. HTTPトリガー情報をメモする

    STEP1と同様に、作成したジョブの詳細画面を開き、 HTTPトリガーのURLHTTPヘッダーのAuth情報 を再度メモします。


 

STEP3: インスタンス停止ジョブの作成

  1. インスタンス停止ジョブの作成

    これで最後です。STEP2と同様に、ジョブの作成画面で次のように登録します。

    No 設定項目 設定値
    1 トリガー ※利用したいトリガーを指定
    2 アクション EC2:インスタンスを停止
    3 AWSアカウント ※CloudAutomatorに登録しているAWSアカウントを指定
    4 インスタンス 該当のインスタンスを指定(タグの指定でもOK)
    5 リソースの終了ステータスをチェックする ※ここは必ずチェックしてください
    6 後処理 ※新規に後処理を作成して指定(後述)
  2. 後処理の作成と指定

    STEP2と同様に、新規に後処理を作成します。
    サービスには Webhook を選択し、先ほどメモしておいた「インスタンスタイプ変更ジョブ」の、 HTTPトリガーのURLHTTPヘッダーのAuth情報 を入力し、判別しやすい後処理名を入力して登録し、ジョブ作成画面上「成功時」の後処理に、作成した後処理を指定してジョブを作成し、作成した後処理を「成功時」の後処理に指定します。

 

関連

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください