AWS Batch とは - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Batch とは

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

AWS Batch はフルマネージドサービスであり、あらゆるスケールのバッチコンピューティングワークロードを実行できます。AWS Batch は、コンピューティングリソースを自動的にプロビジョニングし、ワークロードの量と規模に基づいてワークロードのディストリビューションを最適化します。AWS Batch を使うと、バッチコンピューティングソフトウェアのインストールや管理が不要になり、結果の分析と問題の解決に集中できます。

AWS Batch のコンポーネント

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

Jobs

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

ジョブ定義

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

ジョブキュー

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

コンピューティング環境

コンピューティング環境は、ジョブを実行するために使用されるマネージドまたはアンマネージドコンピューティングリソースのセットです。マネージド型のコンピューティング環境では、複数の詳細レベルで目的のコンピューティングタイプ (Fargate または EC2) を指定できます。コンピューティング環境は、特定の EC2 インスタンスタイプや特定のモデル (c5.2xlargem5.10xlarge など) を使用するように設定できます。または、最新のインスタンスタイプを使用するように指定することのみを選択できます。また、環境の vCPU の最小数、希望数、最大数を、スポットインスタンスに対して支払う金額と共に、オンデマンドインスタンスの価格と一連のターゲット VPC サブネットの割合として指定できます。AWS Batch によって必要に応じてコンピューティングタイプの起動、管理、終了が効率的に行われます。お客様独自のコンピューティング環境を管理することもできます。その場合は、ユーザー自身が AWS Batch によって作成される Amazon ECS クラスターでインスタンスの設定とスケーリングを行う必要があります。詳細については、「コンピューティング環境」を参照してください。

ご利用開始にあたって

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

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