コンピューティング環境のパラメータ
コンピューティング環境は 5 つの基本コンポーネントに分かれています。コンピューティング環境の名前、タイプ、状態、コンピューティングリソース定義 (マネージド型のコンピューティング環境の場合)、および AWS Batch に IAM アクセス権限を提供するためのサービスロールです。
コンピューティング環境の名前
computeEnvironmentName
-
コンピューティング環境の名前です。最大 128 文字までの英字 (大文字と小文字)、数字、ハイフン、下線を使用できます。
型: 文字列
必須: はい
タイプ
type
-
コンピューティング環境のタイプ。定義したコンピューティングリソースを AWS Batch で管理する場合は、
MANAGED
を選択します。詳細については、「コンピューティングリソース」を参照してください。独自のコンピューティングリソースを管理する場合は、UNMANAGED
を選択します。型: 文字列
有効な値:
MANAGED
|UNMANAGED
必須: はい
状態
state
-
コンピューティング環境の状態。
状態が
ENABLED
である場合、AWS Batch スケジューラは環境内のコンピューティングリソースに関連付けられたジョブキューからジョブの配置を試みます。コンピューティング環境がマネージド型の場合は、ジョブキューの需要に基づいてそのインスタンスを自動的にスケールアウトまたはスケールインできます。状態が
DISABLED
である場合、AWS Batch スケジューラは環境内でのジョブの配置を試行しません。状態がSTARTING
またはRUNNING
のジョブは、引き続き正常に進行します。マネージド型のコンピューティング環境は、状態がDISABLED
である間はスケールアウトしません。ただし、インスタンスがアイドル状態になると、minvCpus
値にスケールインします。型: 文字列
有効な値:
ENABLED
|DISABLED
必須: いいえ
コンピューティングリソース
computeResources
-
コンピューティング環境によって管理されるコンピューティングリソースの詳細。
型: ComputeResource オブジェクト
必須: このパラメータは、マネージド型のコンピューティング環境では必須です。
type
-
コンピューティング環境のタイプ。このパラメータを使用して、コンピューティング環境で Amazon EC2 オンデマンドインスタンスを使用するか、Amazon EC2 スポットインスタンスを使用するかを指定します。
SPOT
を選択した場合は、spotIamFleetRole
パラメータで Amazon EC2 スポットフリートロールも指定する必要があります。詳細については、「Amazon EC2 スポットフリートロール」を参照してください。有効な値:
EC2
|SPOT
必須: はい
allocationStrategy
-
最適なインスタンスタイプの十分なインスタンスを配分できない場合に、コンピューティングリソースに使用する配分戦略です。これは、リージョン内のインスタンスタイプの可用性またはAmazon EC2 サービスの制限が原因である可能性があります。これを指定しない場合、デフォルトは
BEST_FIT
になります。この場合、最適なインスタンスタイプのみを使用し、利用できない場合は追加のキャパシティーを待機します。この配分戦略により、コストは低くなりますが、スケーリングは制限される場合があります。BEST_FIT_PROGRESSIVE
は、キュー内のジョブの要件を満たすのに十分な大きさの追加のインスタンスタイプを選択し、ユニット vCPU あたり低コストのインスタンスタイプを優先します。SPOT_CAPACITY_OPTIMIZED
は、スポットインスタンスのコンピューティングリソースでのみ使用でき、キュー内のジョブの要件を満たすのに十分な大きさの追加のインスタンスタイプを選択します。また、中断される可能性が低いインスタンスタイプを優先します。有効な値:
BEST_FIT
|BEST_FIT_PROGRESSIVE
|SPOT_CAPACITY_OPTIMIZED
必須: いいえ
minvCpus
-
コンピューティング環境で維持する Amazon EC2 vCPU の最小数 (コンピューティング環境が
DISABLED
であっても)。タイプ: 整数
必須: はい
maxvCpus
-
環境で到達できる Amazon EC2 vCPU の最大数。
注記
BEST_FIT_PROGRESSIVE
とSPOT_CAPACITY_OPTIMIZED
の両方の配分戦略では、キャパシティーの要件を満たすために、AWS Batch はmaxvCpus
を超える必要がある場合があります。このイベントでは、AWS Batch は 1 つのインスタンスよりもmaxvCpus
を超えることはありません (たとえば、コンピューティング環境で指定されたインスタンスから 1 つのインスタンスよりも超えることはありません)。タイプ: 整数
必須: はい
desiredvCpus
-
コンピューティング環境で必要な AWS Batch vCPUS の数。Amazon EC2 では、この値をジョブキューの需要に応じて最小値と最大値の間で調整します。
タイプ: 整数
必須: いいえ
instanceTypes
-
起動対象のインスタンスタイプ。インスタンスファミリーを指定してそのファミリー内のいずれかのインスタンスタイプ (
c5
、c5n
、p3
など) を起動できます。または、ファミリー内の特定のサイズ (c5.8xlarge
など) を指定できます。メタルインスタンスタイプはインスタンスファミリーに含まれません (たとえば、c5
にc5.metal
は含まれません)。 また、optimal
を選択して (C、M、および R インスタンスファミリーから) ジョブキューの需要に見合ったインスタンスタイプをオンザフライで使用することもできます。注記
コンピューティング環境を作成する際、そのコンピューティング環境で選択するインスタンスタイプで同じアーキテクチャを使用する必要があります。たとえば、x86 と ARM インスタンスを同じコンピューティング環境で使用することはできません。
タイプ: 文字列の配列
必須: はい
imageId
-
コンピューティング環境で起動されるインスタンスに使用する Amazon Machine Image (AMI) の ID。
注記
コンピューティング環境用に選択する AMI は、そのコンピューティング環境に使用するインスタンスタイプのアーキテクチャと一致している必要があります。たとえば、コンピューティング環境で A1 インスタンスタイプを使用している場合は、選択するコンピューティングリソース AMI で ARM インスタンスをサポートしている必要があります。Amazon ECS では、Amazon ECS 最適化の Amazon Linux 2 AMI の x86 と ARM のバージョンのいずれも提供しています。詳細については、Amazon Elastic Container Service Developer Guide の「Amazon ECS に最適化された Amazon Linux 2 AMI」を参照してください。
型: 文字列
必須: いいえ
subnets
-
コンピューティングリソースを起動する先の VPC サブネット。これらのサブネットは、同じ VPC 内にある必要があります。
タイプ: 文字列の配列
必須: はい
securityGroupIds
-
コンピューティング環境で起動されるインスタンスに関連付ける EC2 セキュリティグループ。
タイプ: 文字列の配列
必須: はい
ec2KeyPair
-
コンピューティング環境で起動されるインスタンスに使用する EC2 キーペア。このキーペアを使用して、SSH でインスタンスにログインできます。
型: 文字列
必須: いいえ
instanceRole
-
コンピューティング環境内の Amazon EC2 インスタンスにアタッチする Amazon ECS インスタンスプロファイル。インスタンスプロファイルの短縮名、または、完全な Amazon リソースネーム (ARN) を指定できます。例えば、
ecsInstanceRole
、arn:aws:iam::
などです。詳細については、「Amazon ECS インスタンスロール」を参照してください。aws_account_id
:instance-profile/ecsInstanceRole型: 文字列
必須: はい
tags
-
コンピューティング環境で起動されるインスタンスにタグとして適用するキーと値のペア。たとえば、タグとして
"Name": "AWS Batch Instance - C4OnDemand"
を指定し、その名前をコンピューティング環境の各インスタンスに使用できます。これは、Amazon EC2 コンソールで AWS Batch インスタンスを認識するのに役立ちます。型: 文字列から文字列へのマッピング
必須: いいえ
bidPercentage
-
インスタンス起動前のインスタンスタイプのオンデマンド料金と対比したスポットインスタンス料金の最大パーセンテージ。たとえば、最大パーセンテージが 20% の場合、その EC2 インスタンスのスポット料金は現在のオンデマンド料金の 20% 未満にする必要があります。支払い額は常に最低 (市場料金) となり、最大パーセンテージを超えることはありません。このフィールドを空のままにした場合、デフォルト値はオンデマンド料金の 100% です。
必須: いいえ
spotIamFleetRole
-
SPOT
コンピューティング環境に適用する Amazon EC2 スポットフリートの IAM ロールの Amazon リソースネーム (ARN)。詳細については、「Amazon EC2 スポットフリートロール」を参照してください。重要
作成時にスポットインスタンスにタグを付けるには、ここで指定したスポットフリートの IAM ロールは、より新しい AmazonEC2SpotFleetTaggingRole 管理ポリシーを使用する必要があります。以前に推奨された AmazonEC2SpotFleetRole 管理ポリシーには、スポットインスタンスにタグを付けるために必要なアクセス許可はありません。詳細については、「作成時にタグが付けられていないスポットインスタンス」を参照してください。
型: 文字列
必須: このパラメータは、
SPOT
コンピューティング環境では必須です。 launchTemplate
-
コンピューティングリソースに関連付けるオプションの起動テンプレート。起動テンプレートを使用するには、リクエストで起動テンプレート ID または起動テンプレート名のいずれか 1 つを指定します。詳細については、「起動テンプレートのサポート」を参照してください。
次を入力します。LaunchTemplateSpecification
オブジェクト
必須: いいえ
launchTemplateId
-
起動テンプレートの ID。
型: 文字列
必須: いいえ
launchTemplateName
-
起動テンプレートの名前。
型: 文字列
必須: いいえ
version
-
起動テンプレートのバージョン番号。
型: 文字列
必須: いいえ
サービスロール
serviceRole
-
ユーザーに代わって AWS Batch が AWS の他のサービスを呼び出すことを許可する IAM ロールの完全な Amazon リソースネーム (ARN)。詳細については、「AWS Batch サービス IAM ロール」を参照してください。
型: 文字列
必須: はい