AWS Batch を使うと、バッチジョブのコードを簡単にパッケージ化し、その依存関係を指定できます。さらに AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用してバッチジョブを送信できます。AWS Batch を使用すると、実行パラメータとジョブ依存関係を指定でき、バッチコンピューティングワークフローでよく使用されるさまざまなエンジンや言語 (Pegasus WMS、Luigi、AWS Step Functions など) との統合を簡単に行うことができます。AWS Batch では、ジョブの要件に基づいて、Amazon EC2スポットインスタンスを効率的かつ動的にプロビジョニングおよびスケールできます。AWS Batch にはデフォルトのジョブキューとコンピューティング環境定義が用意されているため、すぐに使用を開始できます。

今すぐ AWS Batch の使用を開始する

使用を開始する
100x100_benefit_ccontainers

AWS Batch を使用すると、vCPU やメモリといったリソース要件、AWS Identity and Access Management (IAM) ロール、ボリュームのマウントポイント、コンテナのプロパティ、および環境変数を指定して、ジョブの実行方法を定義できます。AWS Batch では、Amazon ECS で実行されるコンテナ化されたアプリケーションとしてジョブが実行されます。

100x100_benefit_version-control2

AWS Batch を使用すると、異なるジョブ間の依存関係を定義できます。例えば、リソース要件が異なる 3 つの別個の処理ステージでバッチジョブを構成できます。依存関係により、後続の各ジョブが先行のジョブに依存する、リソース要件の異なる 3 つのジョブを作成できます。

100x100_benefit_ingergration

AWS Batch は、Pegasus WMS、Luigi といった市販およびオープンソースのワークフローエンジンやワークフロー言語と統合できるため、使い慣れたワークフロー言語を使用して、バッチコンピューティングパイプラインをモデル化できます。

100x100_benefit_scalable-instance

AWS Batch では、送信されるジョブのボリュームとリソース要件に基づいて、コンピューティングリソースを動的にプロビジョニングおよびスケールする、マネージド型のコンピューティング環境を利用できます。EC2 インスタンスのタイプ、VPC サブネットの構成、すべてのインスタンスでの vCPU の最小/最大/希望数、スポット入札価格といった要件を使って、AWS Batch のマネージド型コンピューティング環境を設定できます。

または、AWS Batch のマネージド型コンピューティング環境で用意されているものとは異なる設定 (より大きな EBS ボリューム、異なるオペレーティングシステムなど) を EC2 インスタンスで使用する必要がある場合は、AWS Batch のアンマネージド型コンピューティング環境内で独自のコンピューティングリソースをプロビジョニングして管理することもできます。ユーザーが必要な操作は、Amazon ECS エージェントを含む EC2 インスタンスをプロビジョニングし、サポートされているバージョンの Linux と Docker を実行することのみです。その後は、AWS Batch により、ユーザーがプロビジョニングする EC2 インスタンスでバッチジョブが実行されます。

100x100_benefit_calendar

AWS Batch を使用すると、優先度の異なる複数のクエリを設定できます。バッチジョブは、コンピューティングリソースがジョブを実行できるようになるまで、キューに保存されます。AWS Batch スケジューラでは、各ジョブのリソース要件に基づいて、キューに送信されたジョブを実行するタイミング、場所、および方法が評価されます。スケジューラでは、ジョブに未処理の依存関係がなければ、各キューの優先順位が評価され、最適なコンピューティングリソース (メモリ最適化または CPU 最適化) で優先順位に基づいてジョブが実行されます。 

100x100_benefit_lowcost-affordable

AWS Batch により、簡単に Amazon EC2 スポットを使用して、バッチジョブの実行コストをさらに削減できます。AWS Batch では、ジョブに必要なインスタンスの数とリソース要件、およびコンピューティングリソースに対して設定された設定パラメータに基づいて、スポットインスタンスの入札が動的に行われます。

100x100_benefit_monitoring-logging

AWS Batch により、バッチジョブの主要な処理メトリクスが AWS マネジメントコンソールに表示されます。コンピューティング性能や、実行中、停止中、および完了済みのジョブに関連するメトリクスを表示できます。ジョブ (STDERR、STDOUT など) のログは AWS マネジメントコンソールに表示され、Amazon CloudWatch Logs にも書き込まれます。

100x100_benefit_privacy1

AWS Batch では、IAM を使用して、ジョブからアクセスできる AWS リソース (Amazon DynamoDB テーブルなど) を制御およびモニタリングします。IAM を使用して、企業内の異なるユーザーに対するポリシーを定義することもできます。例えば、管理者には AWS Batch の API オペレーションに対する完全なアクセス権限を付与し、開発者にはコンピューティング環境の設定とジョブの登録に関連する限定されたアクセス権限を付与し、エンドユーザーはジョブの送信と削除に必要なアクセス権限に制限することができます。