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 インフラストラクチャの内にある場合も外にある場合もあります。

ジョブ

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を参照してください。

ダッシュボード

AWS Batch ダッシュボードから、最近のジョブ、ジョブキュー、コンピューティング環境をモニタリングできます。デフォルトでは、以下のダッシュボードウィジェットが表示されます。

  • ジョブの概要 – AWS Batch の詳細については、ジョブを参照してください。

  • ジョブキューの概要 – AWS Batch ジョブキューの詳細については、ジョブキューを参照してください。

  • コンピューティング環境の概要 — AWS Batch コンピューティング環境の詳細については、コンピューティング環境を参照してください。

ダッシュボードページに表示されるウィジェットはカスタマイズできます。以下のセクションでは、インストールできるその他のウィジェットについて説明します。

シングルジョブのキュー

このウィジェットは、シングルジョブキューに関する詳細情報を表示します。

このウィジェットを追加するには、次の手順に従います。

  1. AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、ご希望の AWS リージョン を選択します。

  3. ナビゲーションペインで、ダッシュボード を選択します。

  4. ウィジェットの追加 を選択します。

  5. シングルジョブキュー では、ウィジェットを追加 を選択します。

  6. ジョブキュー では、表示するジョブキューを選択します。

  7. ジョブステータス では、表示するジョブステータスを選択します。

  8. (オプション) 接続されたコンピューティング環境を表示 をオフにすると、コンピューティング環境のプロパティを非表示にできます。

  9. コンピューティング環境のプロパティ で、必要なプロパティを選択します。

  10. 追加] を選択します。

CloudWatch Container Insights

このウィジェットには、AWS Batch コンピューティング環境とジョブの集計メトリックが表示されます。コンテナインサイトの詳細については、AWS Batch CloudWatchコンテナインサイトを参照してください。

このウィジェットを追加するには、次の手順に従います。

  1. AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、ご希望の AWS リージョン を選択します。

  3. ナビゲーションペインで、ダッシュボード を選択します。

  4. ウィジェットの追加 を選択します。

  5. Container insights では、ウィジェットを追加 を選択します。

  6. コンピューティング環境 では、表示するコンピューティング環境を選択します。

  7. 追加 を選択します。

ジョブの ログ

このウィジットは、ジョブからのさまざまなログを一箇所の便利な場所に表示します。ジョブのログの詳細については、 ジョブのログを参照してください。

このウィジェットを追加するには、次の手順に従います。

  1. AWS Batch コンソールを開きます。

  2. ナビゲーションバーから、ご希望の AWS リージョン を選択します。

  3. ナビゲーションペインで、ダッシュボード を選択します。

  4. ウィジェットの追加 を選択します。

  5. ジョブログ では、ウィジェットを追加 を選択します。

  6. ジョブ ID で、必要なジョブのジョブ ID を入力します。

  7. 追加 を選択します。