気象研究機関が、毎日数千件のシミュレーションジョブを実行する必要があります。各ジョブは数分〜数時間かかり、依存関係もあります。コンピューティングリソースの管理を最小化しつつ、ジョブのキューイングと優先度管理も行いたい場合、最も適切なサービスはどれですか?
AWS Batchはバッチコンピューティングジョブのスケジューリングと実行を自動化するマネージドサービスです。ジョブキュー・ジョブ定義・コンピューティング環境を管理し、必要なリソースを自動プロビジョニングします。 選択肢AのAWS Lambdaは最大15分の実行制限があり、数分〜数時間かかる長時間バッチジョブには不向きです。 選択肢CのAmazon EC2 Auto Scalingはスケーリング機能を提供しますが、ジョブのキューイング・優先度管理・依存関係制御の仕組みがなく、バッチ処理基盤として利用するには別途実装が必要です。 選択肢DのAmazon ECS(Elastic Container Service)はコンテナオーケストレーションサービスであり、ジョブのスケジューリングや依存関係管理を行うには追加実装が必要です。長時間・大量バッチ処理にはAWS Batchが最適です。