バッチ処理ベースのアーキテクチャ
AWS Batch
AWS Batch でアプリケーションをコンテナにパッケージし、ジョブの依存性を指定し、AWS Management Console や CLI、SDK を使ってバッチジョブを送信します。実行パラメータとジョブの依存関係を指定し、一般的なバッチコンピューティングワークフローエンジンと言語 (例えば、Pegasus WMS、Luigi、AWS Step Functions など) と統合できます。AWS Batch は、デフォルトのジョブキューと計算環境の定義を提供し、すぐに開始できるようにします。
AWS Batch ベースのアーキテクチャは、疎結合と密結合、両方のワークロードに使用できます。密結合ワークロードでは、AWS Batch でマルチノードの並列ジョブを使用する必要があります。
リファレンスアーキテクチャ
図 2: AWS Batch アーキテクチャの例
ワークフローのステップ:
-
ユーザーがジョブのコンテナを作成し、コンテナを Amazon EC2 Container Registry (Amazon ECR) または他のコンテナレジストリ (例えば DockerHub) にアップロードします。また、AWS Batch にジョブの定義を作成します。
-
ユーザーが AWS Batch のジョブキューにジョブを送信します。
-
AWS Batch がコンテナレジストリからイメージを取得し、キューにあるジョブを処理します。
-
各ジョブからの入力データと出力データは、S3 バケットに保存されます。