のジョブ定義パラメータ 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 プラットフォームバージョンは、ジョブ、または Fargate AWS プラットフォームの承認された最新バージョン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

ジョブに使用するログドライバー。デフォルトでは、 はawslogsログドライバー AWS Batch を有効にします。このパラメータの有効な値は、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 ログ記録ドライバーを指定します。詳細については、Docker ドキュメントのawslogs ログドライバーを使用する「」および「Amazon Logs ログドライバー」を参照してください。 CloudWatch

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 のいずれかです。

注記

起動するタスク AWS リージョン と同じ に 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

コンテナに公開するシークレット。サポートされている値は、 シークレットの完全な Amazon リソースネーム (ARN)、または パラメーターストア内のパラメータの完全な ARN のいずれかです。

注記

起動するジョブ AWS リージョン と同じ に SSM パラメータストアパラメータが存在する場合は、パラメータの完全な 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 ロールを使用するかどうかを決定します。 EFS 使用する場合は、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 ポッドで使用されるコンテナのプロパティ。

タイプ:EksContainer オブジェクト

必須: いいえ

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

型: EksContainerEnvironmentVariable オブジェクトの配列

必須: いいえ

name

環境変数の名前。

タイプ: 文字列

必須: はい

value

環境変数の値。

タイプ: 文字列

必須: いいえ

image

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

型: 文字列

必須: はい

imagePullPolicy

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

タイプ: 文字列

必須: いいえ

name

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

タイプ: 文字列

必須: いいえ

resources

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

タイプ: EksContainerResourceRequirements オブジェクト

必須: いいえ

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 ドキュメントのポッドまたはコンテナのセキュリティコンテキストを設定する (ポッドまたはコンテナにセキュリティーコンテキストを設定する) を参照してください。

タイプ: EksContainerSecurityContext オブジェクト

必須: いいえ

privileged

このパラメータが true のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス許可が付与されます。権限のレベルは root ユーザー権限と同様です。デフォルト値は、falseです。このパラメータは、Kubernetesドキュメンテーションの特権ポッドのセキュリティポリシーprivileged ポリシーに対応しています。

型: ブール値

必須: いいえ

readOnlyRootFilesystem

このパラメータが true のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。デフォルト値は、falseです。このパラメータは、ドキュメンテーションのボリュームとファイルシステムのポッドセキュリティポリシーReadOnlyRootFilesystem ポリシーに対応しています。

型: ブール値

必須: いいえ

runAsGroup

このパラメータを指定すると、コンテナは指定されたグループ ID (gid) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているグループです。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーRunAsGroup および MustRunAs ポリシーと対応しています。

型: Long

必須: いいえ

runAsNonRoot

このパラメータを指定すると、コンテナは 0 以外の uid のユーザーとして実行されます。このパラメータを指定しない場合、そのようなルールが適用されます。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーRunAsUser および MustRunAsNonRoot ポリシーと対応しています。

型: Long

必須: いいえ

runAsUser

このパラメータを指定すると、コンテナは指定されたユーザー ID (uid) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているユーザーです。このパラメータは、ドキュメンテーションのユーザーとグループのポッドセキュリティポリシーRunAsUser および MustRanAs ポリシーと対応しています。

型: Long

必須: いいえ

volumeMounts

Amazon EKS ジョブのコンテナのボリュームマウント。Kubernetes のボリュームとボリュームマウントの詳細については、ドキュメンテーションのボリュームを参照してください。

型: EksContainerVolumeMount オブジェクトの配列

必須: いいえ

mountPath

ボリュームをマウントするコンテナ上のパス。

タイプ: 文字列

必須: いいえ

name

ボリュームマウントの名前。これは、ポッド内のいずれかのボリュームの名前と一致する必要があります。

タイプ: 文字列

必須: いいえ

readOnly

この値が true の場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。それ以外の場合、コンテナはボリュームに書き込むことができます。デフォルト値は false です。

タイプ: ブール

必須: いいえ

dnsPolicy

ポッドの DNS ポリシー。デフォルト値は、ClusterFirstです。hostNetwork パラメータが指定されていない場合、デフォルトは ClusterFirstWithHostNet です。ClusterFirst は、設定されたクラスタドメインサフィックスと一致しない DNS クエリが、ノードから継承されたアップストリームのネームサーバーに転送されることを示します。RegisterJob定義 API オペレーションdnsPolicyで に値が指定されていない場合、定義または DescribeJobs API DescribeJobオペレーションのいずれか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 ドキュメンテーションのポッドでのKubernetesサービスアカウントのドキュメンテーションKubernetesを参照してください。

タイプ: 文字列

必須: いいえ

volumes

Amazon EKS リソースを使用するジョブ定義のボリュームを指定します。

型: EksVolume オブジェクトの配列

必須: いいえ

EmptyDir

Kubernetes emptyDirボリュームの設定を指定します。emptyDir ボリュームは、ポッドがノードに割り当てられるときに最初に作成されます。そのポッドがそのノードで実行されている限り存在します。emptyDir ボリュームは最初は空です。ポッド内のすべてのコンテナは、emptyDir ボリューム内のファイルを読み書きできます。ただし、emptyDir ボリュームは各コンテナの同じパスまたは異なるパスにマウントできます。何らかの理由でポッドがノードから削除されると、emptyDir のデータは完全に削除されます。詳細については、ドキュメントのemptyDirを参照してください。

タイプ: EksEmptyDir オブジェクト

必須: いいえ

medium

ボリュームを保存するメディア。デフォルト値は、ノードのストレージを使用する空の文字列です。

""

(デフォルト) ノードのディスクストレージを使用します。

メモリ

ノードの RAM にバックアップされている tmpfs ボリュームを使用します。ノードが再起動するとボリュームの内容は失われ、ボリューム上のストレージはコンテナのメモリ制限に対して計算されます。

タイプ: 文字列

必須: いいえ

サイズ制限

ボリュームの最大サイズ。デフォルトでは、最大サイズは定義されていません。

型: 文字列

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

必須: いいえ

HostPath

Kubernetes hostPathボリュームの設定を指定します。hostPath ボリュームは、ホストノードのファイルシステムから既存のファイルまたはディレクトリをポッドにマウントします。詳細については、ドキュメンテーションのhostPathを参照してください。

タイプ: EksHostパスオブジェクト

必須: いいえ

パス

ポッドのコンテナにマウントするホスト上のファイルまたはディレクトリのパス。

タイプ: 文字列

必須: いいえ

name

ボリュームの名前。名前は DNS サブドメイン名として許可されている必要があります。詳細については、ドキュメンテーションのDNS サブドメイン名を参照してください。

型: 文字列

必須: はい

シークレット

Kubernetes secretボリュームの設定を指定します。詳細については、 ドキュメントのサービスを参照してください。

タイプ:EksSecret オブジェクト

必須: いいえ

オプション

シークレットとシークレットのキーのどちらを定義する必要があるかを指定します。

型: ブール値

必須: いいえ

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

マルチノードの並列ジョブに関連付けられたノード範囲とそのプロパティの一覧。

注記

ノードグループとは、同じコンテナプロパティを共有するジョブノードの同一グループです。 では、ジョブごとに 5 つまでの個別のノードグループを指定できます。を使用して AWS Batch 、ジョブごとに最大 5 つの異なるノードグループを指定できます。

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

必須: はい

targetNodes

ノードのインデックス値を使用したノードの範囲。0:3 の範囲は、インデックス値が 0 から 3 のノードを示しています。開始範囲値が省略されている場合 ()、範囲の開始値に が使用されます。終了範囲値が省略されている場合 (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) ジョブの場合、タイムアウトは、ジョブ全体に適用され、個々のノードには適用されません。

タイプ: 整数

必須: いいえ