リファレンス: ContainerProperties のジョブ定義のパラメータ
ContainerProperties
を使用するジョブ定義はいくつかの部分に分かれています。
ジョブ定義名
ジョブ定義のタイプ
パラメータ置換プレースホルダーのデフォルト
ジョブのコンテナプロパティ
-
Amazon EKS リソースで実行されるジョブに必要なジョブ定義の Amazon EKS プロパティ
マルチノード並列ジョブに必要なノードプロパティ
Fargate リソースで実行されるジョブに必要なプラットフォーム機能
ジョブ定義のデフォルトタグ伝達の詳細
ジョブ定義のデフォルト再試行戦略
ジョブ定義のデフォルトのスケジューリング優先度
ジョブ定義のデフォルトタグ
ジョブ定義のデフォルトタイムアウト
ジョブ定義名
jobDefinitionName
-
ジョブ定義の登録時に名前を指定します。名前の最大長は 128 文字です。大文字および小文字の ASCII 文字、数字、ハイフン(-)、アンダースコア(_)を含めることができます。その名前で最初に登録するジョブ定義のリビジョン番号は 1 です。その名前で登録する後続のジョブ定義には、増分のリビジョン番号が付けられます。
型: 文字列
必須: はい
タイプ
type
-
ジョブ定義の登録時にジョブのタイプを指定します。ジョブが Fargate リソースで実行されている場合、
multinode
はサポートされません。マルチノードの並列ジョブの詳細については、マルチノード並列ジョブ定義を作成するを参照してください。型: 文字列
有効な値:
container
|multinode
必須: はい
パラメータ
parameters
-
ジョブを送信時に、プレースホルダに代わるパラメータを指定したり、デフォルトのジョブ定義パラメータを上書きすることができます。ジョブ送信リクエストのパラメータは、ジョブ定義のデフォルトよりも優先されます。これにより、同じ形式を使用する複数のジョブに同じジョブ定義を使用できます。送信時にコマンドの値をプログラムで変更することもできます。
型: 文字列間のマッピング
必須:いいえ
ジョブ定義の登録時に、ジョブのコンテナプロパティの
command
フィールドでパラメータ置換プレースホルダーを使用できます。構文は次のとおりです。"command": [ "ffmpeg", "-i", "
Ref::inputfile
", "-c", "Ref::codec
", "-o", "Ref::outputfile
" ]上の例では、パラメータ置換プレースホルダーとして
、Ref::inputfile
、Ref::codec
がコマンドで使用されています。ジョブ定義のRef::outputfile
parameters
オブジェクトで、これらのプレースホルダーのデフォルト値を設定できます。たとえば、
プレースホルダーのデフォルトを設定するには、ジョブ定義で次のように指定します。Ref::codec
"parameters" : {"codec" : "mp4"}
このジョブ定義を送信すると、実行時にコンテナのコマンドの
引数がデフォルト値のRef::codec
mp4
に置き換えられます。
コンテナプロパティ
ジョブ定義を登録する時に、ジョブの配置時にコンテナインスタンス上のDockerデーモンに渡されるコンテナプロパティのリストを指定します。ジョブ定義では、以下のコンテナプロパティを使用できます。単一のノードジョブでは、上記のプロパティはジョブ定義レベルに設定されます。複数ノードの並列ジョブでは、コンテナプロパティは各ノードグループごとに ノードプロパティ レベルで設定されます。
command
-
コンテナに渡されるコマンド。このパラメータは Docker Remote API
のコンテナの作成 セクションの Cmd
にマッピングされ、COMMAND
パラメータは docker runにマッピングされます。Docker CMD
パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#cmdを参照してください。 "command": ["
string
", ...]タイプ: 文字列配列
必須:いいえ
environment
-
コンテナに渡す環境変数。このパラメータは、Docker Remote API
のコンテナの作成 セクションに Env
にマップされ、--env
オプションはdocker runにマップされます。 重要
認証情報データなどの機密情報にプレーンテキストの環境変数を使用することはお勧めしません。
注記
環境変数は
AWS_BATCH
で始まることはできません。この命名規則は、AWS Batch サービスで設定される変数のために予約されています。型: キーと値のペアの配列
必須:いいえ
name
-
環境変数の名前。
型: 文字列
必須: はい (
environment
を使用する場合)。 value
-
環境変数の値。
型: 文字列
必須: はい (
environment
を使用する場合)。
"environment" : [ { "name" : "
envName1
", "value" : "envValue1
" }, { "name" : "envName2
", "value" : "envValue2
" } ] executionRoleArn
-
ジョブ定義の登録時に IAM ロールを指定できます。Amazon ECS コンテナエージェントは、このロールから付与されるアクセス権限を使用して、関連するポリシーに指定されている API アクションをユーザーに代わって呼び出します。Fargateリソース上で実行されるジョブは、実行ロールを提供する必要があります。詳細については、AWS Batch IAM 実行ロールを参照してください。
型: 文字列
必須: いいえ
fargatePlatformConfiguration
-
Fargateリソース上で実行されるジョブのプラットフォーム構成。EC2 リソースで実行されているジョブでは、このパラメータを指定しないでください。
タイプ:FargatePlatformConfiguration オブジェクト
必須:いいえ
platformVersion
-
ジョブに使用される AWS Fargate プラットフォームバージョン、または最近承認されたAWS Fargate プラットフォーム のバージョンを使用するための
LATEST
。型: 文字列
デフォルト:
LATEST
必須:いいえ
image
-
ジョブの開始に使用するイメージ。この文字列は Docker デーモンに直接渡されます。Docker Hub レジストリのイメージはデフォルトで使用できます。
で他のリポジトリを指定することもできます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコア、コロン、ピリオド、スラッシュ、シャープ記号を使用できます。このパラメータは、Docker Remote APIrepository-url
/image
:tag
の コンテナの作成 セクションにある Image
および docker runの IMAGE
パラメータにマッピングされます。注記
Docker イメージのアーキテクチャは、スケジュールされているコンピューティングリソースのプロセッサアーキテクチャと一致している必要があります。例えば、Arm ベースの Docker イメージは、Arm ベースのコンピューティングリソースでのみ実行することができます。
-
Amazon ECR Public リポジトリ内のイメージには、完全な
registry/repository[:tag]
またはregistry/repository[@digest]
命名規則が使用されます (例えば、public.ecr.aws/
)。registry_alias
/my-web-app
:latest
-
Amazon ECR リポジトリ内のイメージには、完全な
registry/repository:[tag]
命名規則が使用されます。例えば、aws_account_id
.dkr.ecr.region
.amazonaws.com/
と指定します。my-web-app
:latest
-
Docker ハブの公式リポジトリのイメージでは、1 つの名前 (例:
ubuntu
、mongo
) を使用します。 -
Docker ハブの他のリポジトリのイメージは、組織名で修飾されます (例:
amazon/amazon-ecs-agent
)。 -
他のオンラインリポジトリのイメージは、さらにドメイン名で修飾されます (例:
quay.io/assemblyline/ubuntu
)。
型: 文字列
必須: はい
-
instanceType
-
マルチノード並列ジョブに使用するインスタンスタイプ。マルチノードの並列ジョブのすべてのノードグループは、同じインスタンスタイプを使用する必要があります。このパラメータは、シングルノード・コンテナ・ジョブやFargateリソース上で実行されるジョブには無効です。
型: 文字列
必須: いいえ
jobRoleArn
-
ジョブ定義の登録時に IAM ロールを指定できます。ジョブコンテナは、このロールから付与されるアクセス権限を使用して、関連するポリシーに指定されている API アクションをユーザーに代わって呼び出します。詳細については、Amazon Elastic Container Service デベロッパーガイドのタスク用の IAM ロールを参照してください。
型: 文字列
必須: いいえ
linuxParameters
-
コンテナに適用される Linux 固有の変更 (デバイスマッピングの詳細など)。
"linuxParameters": { "devices": [ { "hostPath": "
string
", "containerPath": "string
", "permissions": [ "READ", "WRITE", "MKNOD" ] } ], "initProcessEnabled":true|false
, "sharedMemorySize": 0, "tmpfs": [ { "containerPath": "string
", "size":integer
, "mountOptions": [ "string
" ] } ], "maxSwap":integer
, "swappiness":integer
}型: LinuxParameters オブジェクト
必須:いいえ
devices
-
コンテナにマッピングされたデバイスのリスト。このパラメータは、Docker Remote API
のコンテナの作成 セクションの Devices
にマップされ、--device
オプションは docker run]にマップされます。 注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
型: デバイスオブジェクト配列
必須:いいえ
hostPath
-
ホストコンテナインスタンスで使用可能なデバイスがあるパス。
型: 文字列
必須: はい
containerPath
-
コンテナでデバイスが公開されるパス。指定しない場合、デバイスはホストパスと同じパスで公開されます。
型: 文字列
必須: いいえ
permissions
-
コンテナでのデバイスのアクセス許可。指定しない場合、アクセス許可は
READ
、WRITE
、MKNOD
に設定されます。型: 文字列の配列
必須:いいえ
有効な値:
READ
|WRITE
|MKNOD
initProcessEnabled
-
true の場合、信号を転送し、プロセスを利用するコンテナ内で
init
プロセスを実行します。このパラメータは、docker run]の --init
オプションにマッピングされます。このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.25 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、sudo docker version | grep "Server API version"
コマンドを実行します。型: ブール値
必須:いいえ
maxSwap
-
ジョブで使用可能なスワップメモリの合計容量 (単位: MiB) を指定します。このパラメータは、docker run
の --memory-swap
オプションに変換されます。値はコンテナメモリの合計にmaxSwap
値を加えた値です。詳細については、Docker ドキュメントの--memory-swap
詳細を参照してください。 0
のmaxSwap
値を指定した場合、コンテナはスワップを使用しません。許容値は、0
または任意の正の整数です。maxSwap
パラメータが省略された場合、コンテナは実行するコンテナインスタンスのスワップ設定を使用します。swappiness
パラメータを使用するには、maxSwap
値を設定する必要があります。注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
型: 整数
必須:いいえ
sharedMemorySize
-
/dev/shm
ボリュームのサイズ値 (MiB) です。このパラメータは、docker runの --shm-size
オプションにマッピングされます。注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
型: 整数
必須:いいえ
swappiness
-
これにより、コンテナのメモリスワップ動作を調整できます。
swappiness
値が0
の場合、絶対に必要な場合を除きスワップは行われません。swappiness
の値が100
の場合は、ページが積極的にスワップされます。使用できる値は、0
と100
の間の整数です。swappiness
パラメータを指定しない場合、デフォルト値の60
が使用されます。maxSwap
の値が指定されていない場合、このパラメータは無視されます。maxSwap
が 0 に設定されている場合、コンテナはスワップを使用しません。このパラメータは、docker run]の --memory-swappiness
オプションにマッピングされます。コンテナごとのスワップ構成を使用する場合は、次の点を考慮してください。
-
スワップ領域を有効にし、コンテナが使用するコンテナインスタンスで割り当てる必要があります。
注記
Amazon ECS 最適化 AMI では、スワップはデフォルトで有効になっていません。この機能を使用するには、インスタンスでスワップを有効にする必要があります。詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスストアスワップボリューム」または「スワップファイルを使用して、Amazon EC2 インスタンスのスワップ領域として機能するようにメモリを割り当てる方法を教えてください。
」を参照してください。 -
スワップ領域のパラメータは、EC2 リソースを使用するジョブ定義でのみサポートされます。
-
maxSwap
およびswappiness
パラメータがジョブ定義から省略されている場合、各コンテナのswappiness
には、デフォルト値の 60 が設定されます。スワップ使用量の合計は、コンテナのメモリ予約の2倍までに制限されます。
注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
型: 整数
必須:いいえ
-
tmpfs
-
tmpfs マウントのコンテナパス、マウントオプション、およびサイズ。
型: Tmpfs オブジェクト配列
注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
必須:いいえ
containerPath
-
tmpfs ボリュームをマウントするコンテナ内のファイルの絶対パス。
型: 文字列
必須: はい
mountOptions
-
tmpfs ボリュームのマウントオプションのリストです。
有効な値:
defaults
|ro
|rw
|suid
|nosuid
|dev
|nodev
|exec
|noexec
|sync
|async
|dirsync
|remount
|mand
|nomand
|atime
|noatime
|diratime
|nodiratime
|bind
|rbind
|unbindable
|runbindable
|private
|rprivate
|shared
|rshared
|slave
|rslave
|relatime
|norelatime
|strictatime
|nostrictatime
|mode
|uid
|gid
|nr_inodes
|nr_blocks
|mpol
型: 文字列の配列
必須:いいえ
size
-
tmpfs ボリュームのサイズ (MiB) です。
型: 整数
必須: はい
logConfiguration
-
ジョブのログ設定の仕様。
このパラメータは、Docker Remote API
のコンテナサービスを作成 セクションの LogConfig
にマップされ、--log-driver
オプションは docker runにマップされます。デフォルトでは、コンテナは Docker デーモンで使用されるのと同じロギングドライバーを使用します。ただし、コンテナで Docker デーモンとは異なるログドライバーを使用するには、コンテナの定義内でこのパラメータを使用してログドライバーを指定します。コンテナに異なるロギングドライバーを使用するには、コンテナインスタンス またはリモートログ記録オプションの別のログサーバーでログシステムを適切に設定する必要があります。サポートされているさまざまなログドライバーのオプションの詳細については、Docker ドキュメントのログドライバーの設定 を参照してください。 注記
AWS Batch では現在、Docker デーモンの使用可能なログドライバーがいくつかサポートされています (LogConfigurationデータ型を参照)。
このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.18 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、
sudo docker version | grep "Server API version"
コマンドを実行します。"logConfiguration": { "devices": [ { "logDriver": "
string
", "options": { "optionName1
" : "optionValue1
", "optionName2
" : "optionValue2
" } "secretOptions": [ { "name" : "secretOptionName1
", "valueFrom" : "secretOptionArn1
" }, { "name" : "secretOptionName2
", "valueFrom" : "secretOptionArn2
" } ] } ] }タイプ: LogConfiguration オブジェクト
必須:いいえ
logDriver
-
ジョブに使用するログドライバー。デフォルトでは、AWS Batch が
awslogs
ログドライバーを有効にします。このパラメータの有効な値は、Amazon ECS コンテナエージェントがデフォルトで通信できるログドライバです。このパラメータは、Docker Remote API
の コンテナサービスを作成 セクションの LogConfig
にマップされ、--log-driver
オプションは docker runにマップされます。デフォルトでは、ジョブは Docker デーモンで使用されるのと同じロギングドライバーを使用します。ただし、ジョブで Docker デーモンとは異なるログドライバーを使用するには、コンテナの定義内でこのパラメータを使用してログドライバーを指定します。ジョブに別のログ・ドライバを指定する場合は、コンピュート環境のコンテナインスタンスでログ・システムを設定する必要があります。または、別のログサーバーに設定して、リモートロギングオプションを提供する。サポートされているさまざまなログドライバーのオプションの詳細については、Docker ドキュメントのログドライバーの設定 を参照してください。 注記
AWS Batch では現在、Docker デーモンに使用可能なログドライバーがいくつかサポートされています。Amazon ECS コンテナエージェントの今後のリリースで他のログドライバーが追加される可能性があります。
サポートされているログドライバーは
awslogs
、fluentd
、gelf
、json-file
、journald
、logentries
、syslog
、splunk
です。注記
Fargateリソース上で実行されるジョブは、
awslogs
およびsplunk
のログドライバーに制限されます。このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.18 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、
sudo docker version | grep "Server API version"
コマンドを実行します。注記
Amazon ECS コンテナエージェントは、そのインスタンス上で利用可能なロギングドライバを環境変数
ECS_AVAILABLE_LOGGING_DRIVERS
に登録する必要があります。そうしないと、そのインスタンスに配置されたコンテナはこれらのログ設定オプションを使用できません。詳細については、Amazon Elastic Container Service デベロッパーガイドのAmazon ECS コンテナエージェントの構成を参照してください。awslogs
-
Amazon CloudWatch Logs ログ記録ドライバーを指定します。詳細については、awslogs ログドライバーを使用する、およびDocker ドキュメントの Amazon CloudWatch Logs ロギングドライバー
を参照してください。 fluentd
-
Fluentd ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのFluentd logging driver
を参照してください。 gelf
-
Graylog 拡張形式 (GELF) ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのGraylog Extended Format logging driver
を参照してください。 journald
-
Journald ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのJournald logging driver
(Journald logging driver) を参照してください。 json-file
-
JSON ファイルログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのJSON File logging driver
(JSON ファイルlogging driver) を参照してください。 splunk
-
Splunk ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのSplunk logging driver
を参照してください。 syslog
-
syslog ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントのSyslog logging driver
(Syslog logging driver) を参照してください。
型: 文字列
必須: はい
有効な値:
awslogs
|fluentd
|gelf
|journald
|json-file
|splunk
|syslog
注記
前述以外のカスタムドライバーを Amazon ECS コンテナエージェントで使用する場合は、GitHub で入手
できる Amazon ECS コンテナエージェントプロジェクトをフォークし、そのドライバーを使用できるようにカスタマイズできます。含めたい変更については、プルリクエストを送信することをお勧めします。ただし、現在、Amazon Web Services では、このソフトウェアの変更されたコピーの実行をサポートしていません。 options
-
ジョブのログドライバーに送信するログ設定オプション。
このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.19 以上を使用する必要があります。
型: 文字列間のマッピング
必須:いいえ
secretOptions
-
ログ設定に渡すシークレットを示すオブジェクト。詳細については、機密データを指定するを参照してください。
タイプ: オブジェクト配列
必須:いいえ
name
-
ジョブで設定するログドライバーオプションの名前。
型: 文字列
必須: はい
valueFrom
-
コンテナのログ設定に公開するシークレットのAmazon Resource Name (ARN)。サポートされている値は、Secrets Manager シークレットの完全な ARN または SSN パラメータストア内のパラメータの完全な ARN のいずれかです。
注記
起動するタスクと同じリージョンに SSM パラメータストアのパラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。
型: 文字列
必須: はい
memory
-
このパラメータは廃止されました。代わりに
resourceRequirements
を使用してください。ジョブ用に予約されたメモリの MiB 数。
resourceRequirements
の使い方の一例として、ジョブ定義に次のような行が含まれている場合は、次のようになります。"containerProperties": { "memory":
512
}resourceRequirements
を使用した同等のラインは以下の通りです。"containerProperties": { "resourceRequirements": [ { "type": "MEMORY", "value": "
512
" } ] }型: 整数
必須: はい
mountPoints
-
コンテナでのデータボリュームのマウントポイント。このパラメータは、Docker Remote API
のコンテナの作成 セクションに Volumes
にマップされ、--volume
オプションはdocker runにマップされます。 "mountPoints": [ { "sourceVolume": "
string
", "containerPath": "string
", "readOnly":true|false
} ]タイプ: オブジェクト配列
必須:いいえ
sourceVolume
-
マウントするボリュームの名前。
型: 文字列
必須: はい (
mountPoints
を使用する場合)。 containerPath
-
ホストボリュームをマウントするコンテナ上のパス。
型: 文字列
必須: はい (
mountPoints
を使用する場合)。 readOnly
-
この値が
true
の場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。この値がfalse
の場合、コンテナはボリュームに書き込むことができます。型: ブール値
必須:いいえ
デフォルト: False
networkConfiguration
-
Fargate リソースで実行されているジョブのネットワーク構成。EC2 リソースで実行されているジョブでは、このパラメータを指定しないでください。
"networkConfiguration": { "assignPublicIp": "string" }
タイプ: オブジェクト配列
必須:いいえ
assignPublicIp
-
ジョブにパブリック IP アドレスがあるかどうかを示します。これは、ジョブがアウトバウンドネットワークアクセスが必要な場合に必要です。
型: 文字列
有効な値:
ENABLED
|DISABLED
必須:いいえ
デフォルト:
DISABLED
privileged
-
このパラメータが true のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス許可 (
root
ユーザーと同様) が付与されます。このパラメータは、Docker Remote APIの コンテナの作成 セクションの Privileged
にマップされ、--privileged
オプションは docker runにマップされます。このパラメータは、Fargate リソースで実行されているジョブには適用されません。これを指定したり、false と指定したりしないでください。 "privileged":
true|false
型: ブール値
必須:いいえ
readonlyRootFilesystem
-
このパラメータが true のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。このパラメータは、Docker Remote API
の コンテナの作成 セクションの ReadonlyRootfs
にマップされ、--read-only
オプションは docker runにマップされます。 "readonlyRootFilesystem":
true|false
型: ブール値
必須:いいえ
resourceRequirements
-
コンテナに割り当てるリソースのタイプと量。サポートされているリソースには
GPU
、MEMORY
およびVCPU
などがあります。"resourceRequirements" : [ { "type": "GPU", "value": "
number
" } ]タイプ: オブジェクト配列
必須:いいえ
type
-
コンテナに割り当てるリソースのタイプ。サポートされているリソースには
GPU
、MEMORY
およびVCPU
などがあります。型: 文字列
必須: はい (
resourceRequirements
を使用する場合)。 value
-
コンテナ用に予約する指定されたリソースの量。値は、指定された
type
によって異なります。- タイプ =GPU
-
コンテナ用に予約する物理 GPU の数。ジョブ内のすべてのコンテナ用に予約されている GPUの数は、ジョブが起動されたコンピューティングリソースで使用できる GPU の数以下である必要があります。
- タイプ =MEMORY
-
コンテナに適用されるメモリのハード制限 (MiB 単位)。コンテナは、ここで指定したメモリを超えようとすると、強制終了されます。このパラメータは、Docker Remote API
のコンテナサービスを作成 セクションの Memory
にマップされ、--memory
オプションは docker runにマップされます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。これは必須ですが、マルチノードパラレル (MNP) ジョブでは複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。このパラメータは、Docker Remote API のコンテナサービスを作成 セクションの Memory
にマップされ、--memory
オプションは docker runにマップされます。 注記
特定のインスタンスタイプに対してできるだけ多くのメモリを提供してリソースの使用率を最大限に高めるには、コンピューティングリソースメモリの管理を参照してください。
Fargate リソースで実行されているジョブの場合、
value
はサポートされている値の 1 つと一致する必要があります。さらに、VCPU
の値は、そのメモリ値でサポートされている値の 1 つである必要があります。VCPU
MEMORY
0.25 vCPU
512、1024、2048 MiB
0.5 vCPU
1024-4096 MiB、1024 MiB 単位
1 vCPU
2048-8192 MiB、1024 MiB 単位
2 vCPU
4096-16384 MiB、1024 MiB 単位
4 vCPU
8192-30720 MiB、1024 MiB 単位
8 vCPU
16384-61440 MiB、4096 MiB 単位
16 vCPU
32768-122880 MiB、8192 MiB 単位
- タイプ = vCPU
-
ジョブ用に予約された vCPU の数。このパラメータは、Docker Remote API
のコンテナサービスを作成 セクションの CpuShares
にマップされ、--cpu-shares
オプションは docker runにマップされます。各 vCPU は 1,024 個の CPU 配分に相当します。EC2 リソースを実行しているジョブの場合、少なくとも 1 つの vCPU を指定する必要があります。これは必須ですが、複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。 Fargate リソースで実行されているジョブの場合、
value
はサポートされている値のいずれかに一致し、MEMORY
値は VCPU 値でサポートされている値のいずれかである必要があります。サポートされている値は 0.25、0.5、1、2、4、8、および 16 です。デフォルトでは、Fargate オンデマンド vCPU リソース数のクォータは 6 vCPUs です。Fargate Quotas の詳細については、Amazon Web Services 全般のリファレンスのAWS Fargate quotasを参照してください。
型: 文字列
必須: はい (
resourceRequirements
を使用する場合)。
secrets
-
環境変数として公開されるジョブのシークレット。詳細については、機密データを指定するを参照してください。
"secrets": [ { "name": "
secretName1
", "valueFrom": "secretArn1
" }, { "name": "secretName2
", "valueFrom": "secretArn2
" } ... ]タイプ: オブジェクト配列
必須:いいえ
name
-
シークレットを含む環境変数の名前。
型: 文字列
必須: はい (
secrets
を使用する場合)。 valueFrom
-
コンテナに公開するシークレット。サポートされている値は、Secrets Managerシークレットの完全なAmazon リソースネーム (ARN)、または SSMパラメータストアのパラメータの完全なARNです。
注記
起動するジョブと同じリージョンに SSM Parameter Store の パラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。
型: 文字列
必須: はい (
secrets
を使用する場合)。
ulimits
-
コンテナで設定する
ulimits
値のリスト。このパラメータは、Docker Remote APIの コンテナの作成 セクションの Ulimits
にマップされ、--ulimit
オプションは docker runにマップされます。 "ulimits": [ { "name":
string
, "softLimit":integer
, "hardLimit":integer
} ... ]タイプ: オブジェクト配列
必須:いいえ
name
-
ulimit
のtype
。型: 文字列
必須: はい (
ulimits
を使用する場合)。 hardLimit
-
ulimit
タイプのハード制限。型: 整数
必須: はい (
ulimits
を使用する場合)。 softLimit
-
ulimit
タイプのソフト制限。型: 整数
必須: はい (
ulimits
を使用する場合)。
user
-
コンテナ内で使用するユーザー名。このパラメータは、Docker Remote API
の コンテナの作成 セクションの User
にマップされ、--user
オプションは docker runにマップされます。 "user": "
string
"型: 文字列
必須: いいえ
vcpus
-
このパラメータは廃止されました。代わりに
resourceRequirements
を使用してください。コンテナ用に予約された vCPU の数。
resourceRequirements
の使い方の一例として、ジョブ定義に次のような行が含まれている場合は、次のようになります。"containerProperties": { "vcpus":
2
}resourceRequirements
を使用した同等のラインは以下の通りです。"containerProperties": { "resourceRequirements": [ { "type": "VCPU", "value": "
2
" } ] }型: 整数
必須: はい
volumes
-
ジョブ定義の登録時に、コンテナインスタンスの Docker デーモンに渡すボリュームのリストを指定できます。コンテナプロパティでは、以下のパラメータを使用できます。
"volumes": [ { "name": "
string
", "host": { "sourcePath": "string
" }, "efsVolumeConfiguration": { "authorizationConfig": { "accessPointId": "string
", "iam": "string
" }, "fileSystemId": "string
", "rootDirectory": "string
", "transitEncryption": "string
", "transitEncryptionPort":number
} } ]name
-
ボリュームの名前。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコアを使用できます。この名前は、コンテナ定義
sourceVolume
のmountPoints
パラメータで参照されます。型: 文字列
必須: いいえ
host
-
host
パラメータの内容により、データボリュームがホストコンテナインスタンスで保持されるかどうか、保持される場合はその場所が決まります。host
パラメータが空の場合は、Docker デーモンによってデータボリュームのホストパスが割り当てられます。ただし、関連付けられたコンテナが実行を停止した後も、データが保持されるという保証はありません。注記
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
タイプ: オブジェクト
必須:いいえ
sourcePath
-
コンテナに渡されるホストコンテナインスタンス上のパス。このパラメータが空の場合は、Docker デーモンによってホストパスが割り当てられます。
host
パラメータにsourcePath
の場所が含まれている場合、データボリュームは手動で削除するまでホストコンテナインスタンスの指定された場所に保持されます。sourcePath
の値がホストコンテナインスタンスに存在しない場は、Docker デーモンによって作成されます。その場所が存在する場合は、ソースパスフォルダの内容がエクスポートされます。型: 文字列
必須: いいえ
efsVolumeConfiguration
-
このパラメータは、タスクストレージに Amazon Elastic File System を使用している場合に指定します。詳細については、「Amazon EFS ボリューム」を参照してください。
タイプ: オブジェクト
必須: いいえ
authorizationConfig
-
Amazon EFS ファイルシステムに対する認可構成の詳細。
型: 文字列
必須: いいえ
accessPointId
-
使用する Amazon EFS アクセスポイントの ID。アクセスポイントを指定した場合、
EFSVolumeConfiguration
で指定されているルートディレクトリの値を省略するか、/
に設定する必要があります。これにより、EFS アクセスポイントに設定されたパスが強制されます。アクセスポイントを使用する場合は、EFSVolumeConfiguration
で転送中の暗号化を有効にする必要があります。詳細については、Amazon Elastic ファイルシステムユーザーガイドのAmazon EFS アクセスポイントの使用を参照してください。型: 文字列
必須: いいえ
iam
-
Amazon EFS ファイルシステムのマウント時にジョブ定義で定義した AWS Batch ジョブの IAM ロールを使用するかどうかを指定します。使用する場合は、
EFSVolumeConfiguration
で転送中の暗号化を有効にする必要があります。このパラメータを省略すると、DISABLED
のデフォルト値が使用されます。詳細については、Amazon EFS アクセスポイントの使用を参照してください。タイプ: 文字列
有効な値:
ENABLED
|DISABLED
必須:いいえ
fileSystemId
-
使用する Amazon EFS ファイルシステムの ID。
型: 文字列
必須: いいえ
rootDirectory
-
ホスト内にルートディレクトリとしてマウントする Amazon EFS ファイルシステム内のディレクトリ。このパラメータを省略すると、Amazon EFS ボリュームのルートが使用されます。
/
を指定すると、このパラメータを省略した場合と同じ結果になります。最大長は 4,096 文字です。重要
authorizationConfig
に EFS アクセスポイントを指定する場合は、ルートディレクトリパラメータを省略するか、または/
に設定する必要があります。これにより、Amazon EFS アクセスポイントに設定されているパスが強制されます。型: 文字列
必須: いいえ
transitEncryption
-
Amazon ECS ホストと Amazon EFS サーバー間で Amazon EFS データの転送中の暗号化を有効にするかどうかを指定します。Amazon EFS IAM 認可を使用する場合は、転送中の暗号化を有効にする必要があります。このパラメータを省略すると、
DISABLED
のデフォルト値が使用されます。詳細については、Amazon Elastic File System ユーザーガイドのEncrypting data in transitを参照してください。型: 文字列
有効な値:
ENABLED
|DISABLED
必須:いいえ
transitEncryptionPort
-
Amazon ECS ホストと Amazon EFS サーバーとの間で、暗号化されたデータを送信するときに使用するポート。転送中の暗号化ポートを指定しないと、Amazon EFS マウントヘルパーが使用するポート選択方式が使用されます。この値は 0~65,535 の範囲の値にする必要があります。詳細については、Amazon Elastic File System User Guide] (Amazon Elastic File System ユーザーガイド) のEFS Mount Helper] (EFS マウントヘルパー) を参照してください。
型: 整数
必須:いいえ
Amazon EKS プロパティ
Amazon EKS ベースのジョブに固有のさまざまなプロパティが用意されたオブジェクト。これは、Amazon ECSベースのジョブ定義には指定しないでください。
podProperties
-
ジョブのKubernetesポッドリソースのプロパティ。
タイプ:EKSPodProperties オブジェクト
必須:いいえ
containers
-
Amazon EKS ポッドで使用されるコンテナのプロパティ。
タイプ:EKS コンテナオブジェクト
必須:いいえ
args
-
エントリポイントへの引数の配列。これを指定しない場合、コンテナイメージの
CMD
が使用されます。これは Kubernetes のポッドのエントリポイント部分の メンバーに対応します。環境変数の参照は、コンテナの環境を使用して展開されます。参照先の環境変数が存在しない場合、コマンド内の参照は変更されません。例えば、参照先が
$(NAME1)
で、NAME1
環境変数が存在しない場合、コマンド文字列は$(NAME1)
のままになります。$$
が$
に置き換えられ、結果の文字列は展開されません。例えば、$$(VAR_NAME)
はVAR_NAME
環境変数が存在するかどうかに関係なく、$(VAR_NAME)
として渡されます。詳細については、Dockerfile リファレンス のCMDと Kubernetes ドキュメンテーションのポッドのコマンドと引数を定義する を参照してください。 型: 文字列の配列
必須:いいえ
command
-
コンテナのエントリポイント。これはシェル内では実行されません。これを指定しない場合、コンテナイメージの
ENTRYPOINT
が使用されます。環境変数の参照は、コンテナの環境を使用して展開されます。参照先の環境変数が存在しない場合、コマンド内の参照は変更されません。例えば、参照先が
$(NAME1)
で、NAME1
環境変数が存在しない場合、コマンド文字列は$(NAME1)
のままになります。$$
が$
に置き換えられ、結果の文字列は展開されません。例えば、$$(VAR_NAME)
はVAR_NAME
環境変数が存在するかどうかに関係なく、$(VAR_NAME)
として渡されます。エントリポイントは更新できません。詳詳細については、Dockerfileリファレンスとコンテナのコマンドと引数を定義するとエントリーポイント をKubernetes ドキュメントのエントリーポイント を参照してください。 型: 文字列の配列
必須:いいえ
env
-
コンテナに渡す環境変数。
注記
環境変数は
AWS_BATCH
で始まることはできません。この命名規則は、AWS Batch で設定される変数のために予約されています。必須:いいえ
name
-
環境変数の名前。
型: 文字列
必須: はい
value
-
環境変数の値。
型: 文字列
必須: いいえ
image
-
コンテナの開始に使用する Docker イメージ。
型: 文字列
必須: はい
imagePullPolicy
-
コンテナのイメージプルポリシー。サポートされている値は
Always
、IfNotPresent
、Never
です。このパラメータのデフォルトはIfNotPresent
です。ただし、:latest
タグが指定されている場合、デフォルトはAlways
です。詳細については、Kubernetes ドキュメンテーションのイメージの更新を参照してください。 型: 文字列
必須: いいえ
name
-
コンテナの名前。名前が指定されなかった場合、デフォルト名
Default
が使用されます。ポッド内の各コンテナには一意の名前が必要です。型: 文字列
必須: いいえ
resources
-
コンテナに割り当てるリソースのタイプと量。サポートされているリソースには
memory
、cpu
およびnvidia.com/gpu
などがあります。詳細については、ドキュメントのとコンテナのリソース管理を参照してください。タイプ:EKS コンテナリソース要件 オブジェクト
必須:いいえ
limits
-
コンテナ用に予約する指定されたリソースのタイプと量。値は、指定された
name
によって異なります。リソースは、limits
またはrequests
オブジェクトを使用してリクエストできます。- メモリ
-
コンテナ用のメモリのハード制限 (MiB)。整数とMiサフィックスを使用します。コンテナが指定されたメモリを超えようとすると、強制終了されます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。
limits
、requests
、または両方でmemory
を指定できます。memory
が両方の場所で指定されている場合、limits
で指定される値は、requests
で指定されている値と等しくなければなりません。注記
リソースの使用率を最大限に高めるには、使用している特定のインスタンスタイプに対して可能な限り多くのメモリをジョブに割り当てます。この方法の詳細は、コンピューティングリソースメモリの管理を参照してください。
- cpu
-
コンテナ用に予約された CPU の数。値は
0.25
の偶数の乗数でなければなりません。limits
、requests
、または両方でcpu
を指定できます。cpu
が両方の場所で指定されている場合、limits
で指定される値は、requests
で指定されている値以上でなければなりません。 - nvidia.com/gpu
-
コンテナ用に予約された GPU の数。値は整数でなければなりません。
memory
はlimits
、requests
、または両方で指定できます。memory
が両方の場所で指定されている場合、limits
で指定される値は、requests
で指定されている値と等しくなければなりません。
型: 文字列間のマッピング
値の長さの制限: 最小長さは 1 です。最大長は 256 です。
必須:いいえ
requests
-
コンテナのリクエストに対するリソースのタイプと量。値は、指定された
name
によって異なります。リソースは、limits
またはrequests
オブジェクトを使用してリクエストできます。- メモリ
-
コンテナ用のメモリのハード制限 (MiB)。整数とMiサフィックスを使用します。コンテナが指定されたメモリを超えようとすると、強制終了されます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。
limits
、requests
、または両方でmemory
を指定できます。memory
が両方で指定されている場合、requests
で指定される値は、limits
で指定されている値と等しくなければなりません。注記
特定のインスタンスタイプに対してできるだけ多くのメモリを提供してリソースの使用率を最大限に高めるには、コンピューティングリソースメモリの管理を参照してください。
- cpu
-
コンテナ用に予約された CPU の数。値は
0.25
の偶数の乗数でなければなりません。limits
、requests
、または両方でcpu
を指定できます。cpu
が両方で指定されている場合、limits
で指定される値は、requests
で指定されている値以上でなければなりません。 - nvidia.com/gpu
-
コンテナ用に予約された GPU の数。値は整数でなければなりません。
nvidia.com/gpu
はlimits
、requests
、または両方で指定できます。nvidia.com/gpu
が両方で指定されている場合、requests
で指定される値は、limits
で指定されている値と等しくなければなりません。
型: 文字列間のマッピング
値の長さの制限: 最小長さは 1 です。最大長は 256 です。
必須:いいえ
securityContext
-
ジョブのセキュリティコンテキスト。詳細については、Kubernetes ドキュメントのポッドまたはコンテナのセキュリティコンテキストを設定する
(ポッドまたはコンテナにセキュリティーコンテキストを設定する) を参照してください。 タイプ:EKS コンテナセキュリティコンテキスト オブジェクト
必須:いいえ
privileged
-
このパラメータが
true
のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス許可が付与されます。パーミッションのレベルはroot
ユーザーのパーミッションと同じです。デフォルト値はfalse
です。このパラメータは、Kubernetes ドキュメンテーションの特権ポッドのセキュリティポリシーの privileged
ポリシーに対応しています。型: ブール値
必須:いいえ
readOnlyRootFilesystem
-
このパラメータが
true
のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。デフォルト値はfalse
です。このパラメータは、Kubernetes ドキュメンテーションのボリュームとファイルシステムのポッドセキュリティポリシーの ReadOnlyRootFilesystem
ポリシーに対応しています。型: ブール値
必須:いいえ
runAsGroup
-
このパラメータを指定すると、コンテナは指定されたグループ ID (
gid
) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているグループです。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーの RunAsGroup
およびMustRunAs
ポリシーと対応しています。型: Long
必須:いいえ
runAsNonRoot
-
このパラメータを指定すると、コンテナは 0 以外の
uid
のユーザーとして実行されます。このパラメータを指定しない場合、そのようなルールが適用されます。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーの RunAsUser
およびMustRunAsNonRoot
ポリシーと対応しています。型: Long
必須:いいえ
runAsUser
-
このパラメータを指定すると、コンテナは指定されたユーザー ID (
uid
) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているユーザーです。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーの RunAsUser
およびMustRanAs
ポリシーと対応しています。型: Long
必須:いいえ
volumeMounts
-
Amazon EKS ジョブのコンテナのボリュームマウント。Kubernetes のボリュームとボリュームマウントの詳細については、Kubernetes ドキュメンテーションのボリュームを参照してください。
タイプ:EKS コンテナボリュームマウント オブジェクトの配列
必須:いいえ
mountPath
-
ボリュームをマウントするコンテナ上のパス。
型: 文字列
必須: いいえ
name
-
ボリュームマウントの名前。これは、ポッド内のいずれかのボリュームの名前と一致する必要があります。
型: 文字列
必須: いいえ
readOnly
-
この値が
true
の場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。それ以外の場合、コンテナはボリュームに書き込むことができます。デフォルト値はfalse
です。タイプ: ブール
必須:いいえ
dnsPolicy
-
ポッドの DNS ポリシー。デフォルト値は
ClusterFirst
です。hostNetwork
パラメータが指定されていない場合、デフォルトはClusterFirstWithHostNet
です。ClusterFirst
は、設定されたクラスタドメインサフィックスと一致しない DNS クエリが、ノードから継承されたアップストリームのネームサーバーに転送されることを示します。RegisterJobDefinitionAPI 操作でdnsPolicy
に値が指定されなかった場合、 DescribeJobDefinitionsまたは DescribeJobs API 操作のいずれによってもdnsPolicy
に値は返されない。ポッド仕様設定には、hostNetwork
パラメータの値に応じて、ClusterFirst
またはClusterFirstWithHostNet
のいずれかが含まれます。詳細については、Kubernetes ドキュメンテーションのPod's DNS policy(ポッドの DNS ポリシー) を参照してください。 有効な値:
Default
|ClusterFirst
|ClusterFirstWithHostNet
型: 文字列
必須: いいえ
hostNetwork
-
ポッドがホストのネットワーク IP アドレスを使用するかどうかを示します。デフォルト値は
true
です。これを に設定すると、Kubernetes ポッドネットワークモデルが有効になります。ほとんどの AWS Batch ワークロードは下り専用で、受信接続の各ポッドに IP を割り当てる際のオーバーヘッドは必要ありません。詳細については、Kubernetes ドキュメンテーションのホストの名前空間とPポッドネットワーキング を参照してください。 型: ブール値
必須:いいえ
serviceAccountName
-
ポッドを実行するために使用されるサービスアカウントの名前。詳細については、Amazon EKS ユーザーガイドのKubernetes サービスアカウントとIAM ロールを引き継ぐように Kubernetes サービスアカウントを設定する、Kubernetes ドキュメンテーションのポッドでのサービスアカウント
のドキュメンテーションを参照してください。 型: 文字列
必須: いいえ
volumes
-
Amazon EKS リソースを使用するジョブ定義のボリュームを指定します。
タイプ:EKS ボリュームオブジェクト の配列
必須:いいえ
- EmptyDir
-
Kubernetes
emptyDir
ボリュームの設定を指定します。emptyDir
ボリュームは、ポッドがノードに割り当てられるときに最初に作成されます。そのポッドがノードで実行されている限り存在します。emptyDir
ボリュームは最初は空です。ポッド内のすべてのコンテナは、emptyDir
ボリューム内のファイルを読み書きできます。ただし、emptyDir
ボリュームは各コンテナの同じパスまたは異なるパスにマウントできます。何らかの理由でポッドがノードから削除されると、emptyDir
のデータは完全に削除されます。詳細については、Kubernetes ドキュメントのemptyDirを参照してください。 タイプ:ekSemptyDir オブジェクト
必須:いいえ
- medium
-
ボリュームを保存するメディア。デフォルト値は、ノードのストレージを使用する空の文字列です。
- ""
-
(デフォルト) ノードのディスクストレージを使用します。
- メモリ
-
ノードの RAM にバックアップされている
tmpfs
ボリュームを使用します。ノードが再起動するとボリュームの内容は失われ、ボリューム上のストレージはコンテナのメモリ制限に対して計算されます。
型: 文字列
必須: いいえ
- サイズ制限
-
ボリュームの最大サイズ。デフォルトでは、最大サイズは定義されていません。
型: 文字列
長さの制限:最小長は 1 です。最大長は 256 です。
必須:いいえ
- hostPath
-
Kubernetes
hostPath
ボリュームの設定を指定します。hostPath
ボリュームは、ホストノードのファイルシステムから既存のファイルまたはディレクトリをポッドにマウントします。詳細については、Kubernetes ドキュメンテーションのhostPathを参照してください。 タイプ:EKShostPath オブジェクト
必須:いいえ
- パス
-
ポッドのコンテナにマウントするホスト上のファイルまたはディレクトリのパス。
型: 文字列
必須: いいえ
- name
-
ボリュームの名前。名前は DNS サブドメイン名として許可されている必要があります。詳細については、ドキュメンテーションのDNS サブドメイン名
を参照してください。 型: 文字列
必須: はい
- シークレット
-
Kubernetes
secret
ボリュームの設定を指定します。詳細については、Kubernetes ドキュメントのサービスを参照してください。 タイプ:EKS シークレット オブジェクト
必須:いいえ
- オプション
-
シークレットとシークレットのキーのどちらを定義する必要があるかを指定します。
型: ブール値
必須:いいえ
- secretName
-
シークレットの名前。名前は DNS サブドメイン名として許可されている必要があります。詳細については、ドキュメンテーションのDNS サブドメイン名
を参照してください。 型: 文字列
必須: はい
プラットフォーム機能
platformCapabilities
-
ジョブ定義に必要なプラットフォーム機能。値が指定されていない場合、デフォルトは
EC2
になります。Fargate リソースで実行されるジョブの場合、FARGATE
が指定されている。注記
ジョブを Amazon EKS リソースで実行する場合は、
platformCapabilities
を指定してはならず、型: 文字列
有効な値:
EC2
|FARGATE
必須:いいえ
タグの伝播
propagateTags
-
タグをジョブまたはジョブ定義から対応する Amazon ECS タスクに伝播するかどうかを指定します。値を指定しない場合、タグは伝播されません。タグは、タスクの作成時にのみタスクに伝播できます。同じ名前のタグの場合、ジョブタグはジョブ定義タグよりも優先されます。ジョブとジョブ定義から合わせたタグの合計数が 50 を超える場合、ジョブは
FAILED
状態に移行します。注記
ジョブを Amazon EKS リソースで実行する場合は、
propagateTags
を指定してはならず、型: ブール値
必須:いいえ
ノードプロパティ
nodeProperties
-
マルチノードの並列ジョブ定義を登録する場合、ノードプロパティの一覧を指定する必要があります。これらのノード・プロパティは、ジョブで使用するノード数、メイン・ノード・インデックス、および使用する異なるノード範囲を定義します。ジョブを Fargate リソースで実行する場合は、
nodeProperties
を指定することはできません。代わりにcontainerProperties
を使用してください。ジョブ定義では、以下のノードプロパティを使用できます。詳細については、マルチノードの並列ジョブを参照してください。注記
ジョブを Amazon EKS リソースで実行する場合は、
nodeProperties
を指定してはならず、型: NodeProperties オブジェクト
必須:いいえ
mainNode
-
複数ノードの並列ジョブの主要なノードにノードインデックスを指定します。このノードインデックス値は、ノード数未満である必要があります。
型: 整数
必須: はい
numNodes
-
マルチノードの並列ジョブに関連付けられたノードの数。
型: 整数
必須: はい
nodeRangeProperties
-
マルチノードの並列ジョブに関連付けられたノード範囲とそのプロパティの一覧。
注記
ノード・グループとは、すべて同じコンテナ・プロパティを共有するジョブ・ノードの同一グループです。AWS Batchを使用すると、各ジョブに最大5つの異なるノード・グループを指定できます。
型: NodeRangeProperty オブジェクトの配列
必須: はい
targetNodes
-
ノードのインデックス値を使用したノードの範囲。
0:3
の範囲は、インデックス値が0
から3
のノードを示しています。開始範囲値が省略されている場合 (:n
)、範囲の開始値に が使用されます。終了範囲値が省略されている場合 (n:
)、範囲の終了値にはできるだけ高いノードインデックスが使用されます。累積ノード範囲は、すべてのノード (0:n
) を考慮する必要があります。たとえば、ノード範囲をネストできます。例:0:10
および4:5
。この場合は、4:5
の範囲プロパティは、0:10
プロパティを上書きします。型: 文字列
必須: いいえ
container
-
ノード範囲のコンテナの詳細。詳細については、コンテナプロパティを参照してください。
型: ContainerProperties オブジェクト
必須:いいえ
再試行戦略
retryStrategy
-
ジョブ定義の登録時に、オプションとして、このジョブ定義で送信したジョブが失敗したときの再試行戦略を指定できます。SubmitJob] オペレーション中に指定されたリトライ戦略は、ここで定義されたリトライ戦略を上書きします。デフォルトでは、各ジョブは 1 回試行されます。複数の試行を指定すると、ジョブが失敗した場合、ジョブが再試行されます。失敗の例としては、ジョブがゼロ以外の終了コードが返した場合やコンテナインスタンスが終了した場合が含まれます。詳細については、ジョブの再試行の自動化を参照してください。
型: RetryStrategy オブジェクト
必須:いいえ
attempts
-
ジョブを
RUNNABLE
ステータスに移行する回数。1〜10 回の試行を指定できます。attempts
の回数が 1 より大きい場合、ジョブはRUNNABLE
に移行するまでにその回数内で再試行されます。"attempts":
integer
型: 整数
必須:いいえ
evaluateOnExit
-
ジョブの再試行または失敗の条件を指定する最大5つのオブジェクトの配列。このパラメータを指定する場合は、
attempts
パラメータも指定する必要があります。evaluateOnExit
を指定しても一致するエントリがない場合、ジョブは再試行されます。"evaluateOnExit": [ { "action": "
string
", "onExitCode": "string
", "onReason": "string
", "onStatusReason": "string
" } ]タイプ:EvaluateOnExit オブジェクトの配列
必須:いいえ
action
-
指定された条件 (
onStatusReason
、onReason
およびonExitCode
)がすべて満たされた場合に実行するアクションを指定します。値は大文字と小文字が区別されません。型: 文字列
必須: はい
有効な値:
RETRY
|EXIT
onExitCode
-
ジョブに対して返された
ExitCode
の10進表現と照合する glob パターンが含まれています。パターンの最大長は 512 文字です。数字のみを含めることができます。文字や特殊文字を含めることはできません。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。型: 文字列
必須: いいえ
onReason
-
ジョブに対して返された
Reason
と照合する glob パターンが含まれます。パターンの最大長は 512 文字です。文字、数字、ピリオド (.)、コロン (:)、および空白 (スペースまたはタブを含む) を含めることができます。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。型: 文字列
必須: いいえ
onStatusReason
-
ジョブに対して返された
StatusReason
と照合する glob パターンが含まれます。パターンの最大長は 512 文字です。文字、数字、ピリオド (.)、コロン (:)、および空白 (スペースまたはタブを含む) を含めることができます。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。型: 文字列
必須: いいえ
スケジューリング優先順位
schedulingPriority
-
このジョブ定義で投入されるジョブのスケジューリング優先度。これは、公平配分ポリシーが適用されたジョブキュー内のジョブにのみ影響します。スケジューリング優先度が高いジョブは、スケジューリング優先度の低いジョブの前にスケジュールされます。
サポートされている最小値は 0 で、サポートされている最大値は 9999 です。
型: 整数
必須:いいえ
タグ
tags
-
ジョブ定義に関連付けるキーバリューペアのタグ。詳細については、AWS Batch リソースのタグ付けを参照してください。
型: 文字列間のマッピング
必須: いいえ
タイムアウト
timeout
-
この期間を超えてジョブが実行されると AWS Batch でジョブが終了するように、ジョブのタイムアウト期間を設定できます。詳細については、ジョブのタイムアウトを参照してください。タイムアウトによりジョブが終了した場合、再試行は行われない。SubmitJob オペレーション時にタイムアウト設定を指定した場合は、ここで定義されているタイムアウト設定が上書きされます。詳細については、ジョブのタイムアウトを参照してください。
型: JobTimeout オブジェクト
必須:いいえ
attemptDurationSeconds
-
startedAt
によって未終了のジョブが終了されるまでの時間 (秒) (ジョブ試行の AWS Batch タイムスタンプから計測)。タイムアウトの最小値は 60 秒です。配列ジョブの場合、タイムアウトは親配列ジョブではなく子ジョブに適用されます。
マルチノード並列 (MNP) ジョブの場合、タイムアウトは、ジョブ全体に適用され、個々のノードには適用されません。
型: 整数
必須:いいえ