AWS Batch
ユーザーガイド

コンピューティング環境

ジョブキューは、1 つ以上のコンピューティング環境にマッピングされます。コンピューティング環境には、コンテナ化されたバッチジョブを実行するための Amazon ECS コンテナインスタンスが含まれています。特定のコンピューティング環境を 1 つ以上のジョブキューにマッピングすることもできます。ジョブキュー内では、関連付けられたコンピューティング環境ごとに順番があります。スケジューラでは、この順番に従って実行準備が完了したジョブの配置先を決定します。最初のコンピューティング環境に使用可能なリソースがある場合は、そのコンピューティング環境内のコンテナインスタンスにジョブがスケジュールされます。コンピューティング環境に適切なコンピューティングリソースがない場合、スケジューラは次のコンピューティング環境でジョブを実行しようとします。

マネージド型のコンピューティング環境

マネージド型のコンピューティング環境では、ビジネス要件を記述できます。マネージド型のコンピューティング環境では、AWS Batch は、コンピューティング環境の作成時に定義するコンピューティングリソースの仕様に基づいて、環境内のコンピューティングリソースの容量とインスタンスのタイプを管理します。マネージド型のコンピューティング環境では Amazon EC2 オンデマンドインスタンスを使用するか、スポットインスタンスを使用するかを選択できます。必要に応じて、上限価格を設定し、スポットインスタンスの料金がオンデマンド料金の指定されたパーセンテージを下回る場合にのみスポットインスタンスを起動するようにできます。

マネージド型のコンピューティング環境は、その環境の作成時に指定した VPC およびサブネット内で Amazon ECS コンテナインスタンスを起動します。Amazon ECS コンテナインスタンスは、Amazon ECS サービスエンドポイントとの通信に外部ネットワークアクセスを必要とします。コンテナインスタンスに必要なパブリック IP アドレスが、選択したサブネットではデフォルトで提供されない場合、ネットワークアドレス変換 (NAT) を使用してこのアクセスを提供する必要があります。詳細については、Amazon VPC ユーザーガイドの「NAT ゲートウェイ」を参照してください。VPC の作成方法については、「チュートリアル: のパブリックサブネットとプライベートサブネットを持つ VPC を作成する」を参照してください。

デフォルトでは、AWS Batch のマネージド型のコンピューティング環境では、承認されたバージョンの Amazon ECS に最適化された最新の AMI をコンピューティングリソースに使用します。ただし、さまざまな理由により、マネージド型のコンピューティング環境で使用する AMI を独自に作成する場合もあります。詳細については、「コンピューティングリソースの AMI」を参照してください。

注記

AWS Batch は、作成後のコンピューティング環境 (たとえば、新しいバージョンの Amazon ECS に最適化された AMI が使用可能な場合など) で AMI をアップグレードしません。お客様は、ゲストオペレーティングシステム (更新プログラムやセキュリティパッチを含む) の管理、およびコンピューティングリソースにインストールするその他のアプリケーションソフトウェアやユーティリティについての責任を負うものとします。AWS Batch ジョブで新しい AMI を使用するには:

  1. 新しい AMI を使用して新しいコンピューティング環境を作成します。

  2. コンピューティング環境を既存のジョブキューに追加します。

  3. 古いコンピューティング環境をジョブキューから削除します。

  4. 古いコンピューティング環境を削除します。

アンマネージド型のコンピューティング環境

アンマネージド型のコンピューティング環境では、独自のコンピューティングリソースを管理します。コンピューティングリソースに使用する AMI が Amazon ECS コンテナインスタンスの AMI 仕様に合致していることを確認する必要があります。詳細については、「コンピューティングリソースの AMI 仕様」および「コンピューティングリソース AMI の作成」を参照してください。

アンマネージコンピューティング環境を作成したら、DescribeComputeEnvironments API オペレーションを使用してコンピューティング環境の詳細を確認します。環境に関連付けられている Amazon ECS クラスターを見つけ、その Amazon ECS クラスター内で手動でコンテナインスタンスを起動します。

次の AWS CLI コマンドでは、Amazon ECS クラスターの ARN も提供します。

aws batch describe-compute-environments --compute-environments unmanagedCE --query computeEnvironments[].ecsClusterArn

詳細については、「Amazon ECS コンテナインスタンスの起動」 (Amazon Elastic Container Service Developer Guide) を参照してください。コンピューティングリソースを起動する際は、以下の Amazon EC2 ユーザーデータに登録される Amazon ECS クラスターの ARN を指定します。ecsClusterArn を、前のコマンドで取得したクラスター ARN に置き換えます。

#!/bin/bash echo "ECS_CLUSTER=ecsClusterArn" >> /etc/ecs/ecs.config