リファレンス: ContainerProperties のジョブ定義のパラメータ - AWS Batch

リファレンス: 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::inputfileRef::codecRef::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 レジストリのイメージはデフォルトで使用できます。repository-url/image:tag で他のリポジトリを指定することもできます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコア、コロン、ピリオド、スラッシュ、シャープ記号を使用できます。このパラメータは、Docker Remote APIコンテナの作成 セクションにある Image および docker runIMAGE パラメータにマッピングされます。

注記

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 つの名前 (例: ubuntumongo) を使用します。

  • 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

コンテナでのデバイスのアクセス許可。指定しない場合、アクセス許可は READWRITEMKNOD に設定されます。

型: 文字列の配列

必須:いいえ

有効な値: 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 詳細を参照してください。

0maxSwap 値を指定した場合、コンテナはスワップを使用しません。許容値は、0 または任意の正の整数です。maxSwap パラメータが省略された場合、コンテナは実行するコンテナインスタンスのスワップ設定を使用します。swappiness パラメータを使用するには、maxSwap 値を設定する必要があります。

注記

このパラメータは、Fargate リソースで実行されているジョブには適用されません。

型: 整数

必須:いいえ

sharedMemorySize

/dev/shm ボリュームのサイズ値 (MiB) です。このパラメータは、docker run--shm-size オプションにマッピングされます。

注記

このパラメータは、Fargate リソースで実行されているジョブには適用されません。

型: 整数

必須:いいえ

swappiness

これにより、コンテナのメモリスワップ動作を調整できます。swappiness 値が 0 の場合、絶対に必要な場合を除きスワップは行われません。swappiness の値が 100 の場合は、ページが積極的にスワップされます。使用できる値は、0100 の間の整数です。swappiness パラメータを指定しない場合、デフォルト値の 60 が使用されます。maxSwap の値が指定されていない場合、このパラメータは無視されます。maxSwap が 0 に設定されている場合、コンテナはスワップを使用しません。このパラメータは、docker run]--memory-swappiness オプションにマッピングされます。

コンテナごとのスワップ構成を使用する場合は、次の点を考慮してください。

注記

このパラメータは、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 コンテナエージェントの今後のリリースで他のログドライバーが追加される可能性があります。

サポートされているログドライバーは awslogsfluentdgelfjson-filejournaldlogentriessyslogsplunk です。

注記

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

コンテナに割り当てるリソースのタイプと量。サポートされているリソースには GPUMEMORY および VCPU などがあります。

"resourceRequirements" : [ { "type": "GPU", "value": "number" } ]

タイプ: オブジェクト配列

必須:いいえ

type

コンテナに割り当てるリソースのタイプ。サポートされているリソースには GPUMEMORY および 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

ulimittype

型: 文字列

必須: はい (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 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコアを使用できます。この名前は、コンテナ定義 sourceVolumemountPoints パラメータで参照されます。

型: 文字列

必須: いいえ

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 で設定される変数のために予約されています。

タイプ:EKS コンテナ環境変数オブジェクトの配列

必須:いいえ

name

環境変数の名前。

型: 文字列

必須: はい

value

環境変数の値。

型: 文字列

必須: いいえ

image

コンテナの開始に使用する Docker イメージ。

型: 文字列

必須: はい

imagePullPolicy

コンテナのイメージプルポリシー。サポートされている値は AlwaysIfNotPresentNever です。このパラメータのデフォルトは IfNotPresent です。ただし、:latest タグが指定されている場合、デフォルトは Always です。詳細については、Kubernetes ドキュメンテーションのイメージの更新を参照してください。

型: 文字列

必須: いいえ

name

コンテナの名前。名前が指定されなかった場合、デフォルト名Defaultが使用されます。ポッド内の各コンテナには一意の名前が必要です。

型: 文字列

必須: いいえ

resources

コンテナに割り当てるリソースのタイプと量。サポートされているリソースには memorycpu および nvidia.com/gpu などがあります。詳細については、ドキュメントのとコンテナのリソース管理を参照してください。

タイプ:EKS コンテナリソース要件 オブジェクト

必須:いいえ

limits

コンテナ用に予約する指定されたリソースのタイプと量。値は、指定された name によって異なります。リソースは、limits または requests オブジェクトを使用してリクエストできます。

メモリ

コンテナ用のメモリのハード制限 (MiB)。整数とMiサフィックスを使用します。コンテナが指定されたメモリを超えようとすると、強制終了されます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。limitsrequests、または両方で memory を指定できます。memory が両方の場所で指定されている場合、limits で指定される値は、requests で指定されている値と等しくなければなりません。

注記

リソースの使用率を最大限に高めるには、使用している特定のインスタンスタイプに対して可能な限り多くのメモリをジョブに割り当てます。この方法の詳細は、コンピューティングリソースメモリの管理を参照してください。

cpu

コンテナ用に予約された CPU の数。値は 0.25 の偶数の乗数でなければなりません。limitsrequests、または両方で cpu を指定できます。cpu が両方の場所で指定されている場合、limits で指定される値は、requests で指定されている値以上でなければなりません。

nvidia.com/gpu

コンテナ用に予約された GPU の数。値は整数でなければなりません。memorylimitsrequests、または両方で指定できます。memory が両方の場所で指定されている場合、limits で指定される値は、requests で指定されている値と等しくなければなりません。

型: 文字列間のマッピング

値の長さの制限: 最小長さは 1 です。最大長は 256 です。

必須:いいえ

requests

コンテナのリクエストに対するリソースのタイプと量。値は、指定された name によって異なります。リソースは、limits または requests オブジェクトを使用してリクエストできます。

メモリ

コンテナ用のメモリのハード制限 (MiB)。整数とMiサフィックスを使用します。コンテナが指定されたメモリを超えようとすると、強制終了されます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。limitsrequests、または両方で memory を指定できます。memory が両方で指定されている場合、requests で指定される値は、limits で指定されている値と等しくなければなりません。

注記

特定のインスタンスタイプに対してできるだけ多くのメモリを提供してリソースの使用率を最大限に高めるには、コンピューティングリソースメモリの管理を参照してください。

cpu

コンテナ用に予約された CPU の数。値は 0.25 の偶数の乗数でなければなりません。limitsrequests、または両方で cpu を指定できます。cpu が両方で指定されている場合、limits で指定される値は、requests で指定されている値以上でなければなりません。

nvidia.com/gpu

コンテナ用に予約された GPU の数。値は整数でなければなりません。nvidia.com/gpulimitsrequests、または両方で指定できます。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

指定された条件 (onStatusReasononReason および 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) ジョブの場合、タイムアウトは、ジョブ全体に適用され、個々のノードには適用されません。

型: 整数

必須:いいえ