メニュー
AWS Batch
ユーザーガイド

AWS Batch とは?

AWS Batch を使用すると、AWS クラウドでバッチコンピューティングワークロードを実行できます。バッチコンピューティングは、開発者、科学者、エンジニアが大量のコンピューティングリソースにアクセスするための一般的な方法です。AWS Batch は、必要なインフラストラクチャの設定および管理に伴う、差別化につながらない力仕事を排除します。AWS Batch は、従来のバッチコンピューティングソフトウェアと似ています。このサービスでは、送信されたジョブに応じてリソースを効率的にプロビジョニングし、キャパシティー制限の排除、コンピューティングコストの削減、および結果の迅速な提供を行うことができます。

AWS Batch はフルマネージド型のサービスであり、開発者、科学者、エンジニアは、あらゆるスケールのバッチコンピューティングワークロードを実行できます。AWS Batch は、コンピューティングリソースを自動的にプロビジョニングし、ワークロードの量と規模に基づいてワークロードの配分を最適化します。AWS Batch を使うと、バッチコンピューティングソフトウェアのインストールや管理が不要になり、結果の分析と問題の解決に集中できます。AWS Batch で複雑な作業が簡素化され、時間とコストが削減されるため、開発者、科学者、エンジニアは AWS クラウドでバッチジョブを実行しやすくなります。

AWS Batch のコンポーネント

AWS Batch は、リージョン内の複数のアベイラビリティーゾーン間で実行中のバッチジョブを簡略化するリージョナルサービスです。新規または既存の VPC 内に AWS Batch コンピューティング環境を作成できます。コンピューティング環境が稼働し、ジョブキューに関連付けられた後で、ジョブを実行する Docker コンテナイメージを指定するジョブ定義を指定できます。コンテナのイメージは、コンテナレジストリに保存され引き出されます。これは AWS インフラストラクチャの内にある場合も外にある場合もあります。

ジョブ

AWS Batch に送信する作業単位 (シェルスクリプト、Linux 実行可能ファイル、Docker コンテナイメージなど)。ジョブには名前を付けます。ジョブは、ジョブ定義で指定したパラメーターを使用して、コンピューティング環境でコンテナ化されたアプリケーションとして Amazon EC2 インスタンスで実行されます。ジョブは、他のジョブを名前または ID で参照できます。また、他のジョブの正常な完了に依存する場合があります。詳細については、「ジョブ 」を参照してください。

ジョブ定義

ジョブ定義では、ジョブの実行方法を指定します。これはジョブのリソースの設計図であると考えることができます。IAM ロールでジョブを指定して、他の AWS リソースへのプログラムによるアクセスを実行できます。メモリと CPU の要件の両方を指定します。また、ジョブ定義では、永続的ストレージのコンテナのプロパティ、環境変数、マウントポイントを制御できます。ジョブ定義の多くの仕様は、個別のジョブを送信するときに新しい値を指定してオーバーライドできます。詳細については、「ジョブ定義」を参照してください。

ジョブキュー

AWS Batch ジョブを送信するときは、コンピューティング環境にスケジュールされるまでそのジョブが存在する、特定のジョブキューに送信します。ジョブキューには 1 つまたは複数のコンピューティング環境を関連付けます。これらのコンピューティング環境には優先度の値を割り当てることができ、複数のジョブキュー自体にまたがって割り当てることもできます。たとえば、時間が重要なジョブを送信する高優先度キューや、コンピューティングリソースが安価であるときにいつでも実行できるジョブ用の低優先度キューを持つことができます。

コンピューティング環境

コンピューティング環境は、ジョブを実行するために使用されるマネージドまたはアンマネージドコンピューティングリソースのセットです。マネージドコンピューティング環境では、複数の詳細レベルで必要なインスタンスタイプを指定できます。コンピューティング環境は、特定のインスタンスタイプや特定のモデル (c4.2xlargem4.10xlarge など) を使うように設定したり、最新のインスタンスタイプを使用するように指定したりできます。環境の vCPU の最小数、必要数、最大数を指定したり、スポット市場での入札の % 値、VPC サブネットのターゲットセットを指定したりすることもできます。AWS Batch は、必要に応じて効率的に EC2 インスタンスを起動、管理、および削除します。お客様独自のコンピューティング環境を管理することもできます。その場合は、お客様自身が AWS Batch によって作成される Amazon ECS クラスターでインスタンスの設定とスケールを行う必要があります。詳細については、「コンピューティング環境」を参照してください。

ご利用開始にあたって

AWS Batch を開始するには、AWS Batch コンソールでジョブ定義、コンピューティング環境、およびジョブキューを作成します。

AWS Batch 初回実行ウィザードには、コンピューティング環境とジョブキューを作成してサンプルの「hello world」ジョブを送信するオプションがあります。AWS Batch で起動する Docker イメージが既にある場合は、そのイメージでジョブ定義を作成してキューに送信することもできます。詳細については、「AWS Batch の開始方法」を参照してください。