HTTPトリガーとは、Cloud Automator が指定する URL に HTTP の POST リクエストを送信することで、運用ジョブを実行させるものです。簡単にジョブを起動することが可能な点が特徴です。
HTTPトリガーはジョブ作成時に条件を指定する必要はありません。HTTPトリガーを使ったジョブを作成後、ジョブの詳細画面にアクセスすると URLとアクセストークン が発行されています。
指定されたURLへ Authorization ヘッダにアクセストークンをつけてPOSTリクエストを送信すると、ジョブが実行されます。実行サンプルにあるように curl コマンドなどから HTTP の POST リクエストを送信出来ますので、SQSトリガーと同様に 外部システムとの連携 などでご利用ください。
設定例
ここでは、テスト環境のEC2インスタンスを起動させる運用ジョブを、HTTPトリガーを使って登録する例を示します。
- 「ジョブの追加」メニューから、ジョブの追加画面を開きます
- ジョブを所属させるグループを選択します
- トリガーの選択で「HTTPトリガー」を選択します
- 実行するアクションを選択します
- アクションを実行する対象のAWSアカウントを選択します
- アクションパラメーターの指定方法を選択します。
詳細についてはこちらをご覧ください。 - 前のステップで「ジョブ作成時にアクションパラメーターを指定する」を選択した場合は、アクションのパラメーターを設定します
- ジョブ成功・失敗時の後処理を選択します
- ジョブの名前を入力し「作成する」をクリックしてジョブを作成します
-
ジョブの作成が正常に完了したら、作成した運用ジョブの詳細画面が開きます
-
HTTPリクエストに必要な情報が表示されていることが確認できます
動作確認
- 運用ジョブの詳細画面にアクセスします
- curlコマンドでの実行サンプルが表示されているので、これをコピーして実行してみます
$ curl https://manager.cloudautomator.com/trigger/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx \ > -X POST \ > -H "Authorization: CAAuth xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ > -H "Content-Length: 0" {"result":"ok","trigger_job_id":12345}
- ジョブの実行ログを確認します
- 最新のログの詳細を確認します
- ログのステータスを確認します
POSTリクエストのレスポンスについて
POSTリクエストを行う際は、レスポンスのステータスコードおよびレスポンスボディをチェックして、ジョブの実行が開始されたかどうかを必ず確認してください。
成功時 (ジョブの実行が開始された)
リクエストに成功してジョブの実行が開始された場合は、ステータスコードとして「200」が返され、レスポンスボディとして以下のようなJSONが返されます。
{
"result": "ok",
"trigger_job_id": 12345
}
※「trigger_job_id」の値は実際には実行を開始したジョブのIDとなります。
失敗時 (ジョブの実行が開始されなかった)
リクエストに失敗してジョブの実行が開始されなかった場合は、ステータスコードとして「500」や「503」、「404」といった「200以外の値」が返されます。
ステータスコードが「5xx」だった場合は、少し待ってから再度リクエストを行ってください。
ステータスコードが「4xx」だった場合は、URLやアクセストークンの値が正しいかどうか確認してみてください。
注意事項
もし、他者に知られてしまった可能性がある場合は、運用ジョブ詳細画面の URLとトークンの更新 ボタンから、URLとアクセストークンを別の値に変更することが可能です。