こんにちは、菊池です。 API GatewayとLambdaで構成するAPIから、AWS Batchのジョブを実行する環境を作成してみました。Lambdaには向いていない長時間の処理などを、非同期にBatchで実行することで、スケーラブルなジョブ実行環境にできないかと思いました。 API Gateway + LambdaからBatch Jobを実行する 構成イメージは以下のようになります。 APIに対しリクエストを行うと、Lambda関数はBatchに対しジョブの実行を要求し、すぐにレスポンスを返します。Batchはその後、APIのリクエストとは非同期でジョブを実行します。 ElasticBeanstalkのworker環境や、StepFunctionsに実装したActivity State Machineの呼び出しでも、非同期にEC2上のアプリケーションを実行することは可能です。しかし、