Job 定義パラメータ - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Job 定義パラメータ

ジョブ定義は、ジョブ定義名、ジョブ定義のタイプ、パラメータ置換プレースホルダーのデフォルト、ジョブのコンテナプロパティの 4 つの基本部分に分かれています。

Job 定義名

jobDefinitionName

ジョブ定義の登録時に名前を指定します。名前の最大長は 128 文字です。大文字と小文字、数字、ハイフン (-)、およびアンダースコア (_) を使用できます。その名前で最初に登録するジョブ定義のリビジョン番号は 1 です。その名前で登録する後続のジョブ定義には、増分のリビジョン番号が付けられます。

タイプ: 文字列

: 必須 はい

Type

type

ジョブ定義の登録時にジョブのタイプを指定します。ジョブを Fargate リソースで実行する場合、multinodeはサポートされていません。マルチノードの並列ジョブの詳細については、「マルチノードの並列ジョブ定義の作成」を参照してください。

タイプ: 文字列

有効な値: container | multinode

: 必須 はい

Parameters

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

プラットフォーム機能

platformCapabilities

ジョブ定義に必要なプラットフォーム機能。値が指定されていない場合、デフォルトは EC2 になります。Fargate リソースで実行されるジョブについては、FARGATEが指定されている場合、

タイプ: 文字列

有効な値: EC2 | FARGATE

: 必須 いいえ

タグを伝達

propagateTags

タグをジョブまたはジョブ定義から対応する Amazon ECS タスクに伝播するかどうかを指定します。値を指定しない場合、タグは伝播されません。タグは、タスクの作成時にのみタスクに伝播できます。同じ名前のタグの場合、ジョブタグはジョブ定義タグよりも優先されます。ジョブとジョブ定義から合わせたタグの合計数が 50 を超える場合、ジョブはFAILED状態.

タイプ: ブール値

: 必須 いいえ

コンテナプロパティ

ジョブを配置するときにコンテナインスタンスの Docker デーモンに渡すコンテナプロパティのリストを、ジョブ定義の登録時に指定する必要があります。ジョブ定義では、以下のコンテナプロパティを使用できます。単一のノードジョブでは、上記のプロパティはジョブ定義レベルに設定されます。複数ノードの並列ジョブでは、コンテナプロパティは各ノードグループごとに ノードプロパティ レベルで設定されます。

command

コンテナに渡されるコマンド。このパラメータは、のマッピングされます。Cmd()コンテナの作成の セクションドッカーリモートAPICOMMANDパラメータをdocker run。Docker CMD パラメータの詳細については、https://docs.docker.com/engine/reference/builder/#cmd を参照してください。

"command": ["string", ...]

タイプ: 文字列配列

: 必須 いいえ

environment

コンテナに渡す環境変数。このパラメータは、のマッピングされます。Env()コンテナの作成の セクションドッカーリモートAPI--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 BatchIAM ロールの実行」を参照してください。

タイプ: 文字列

: 必須 いいえ

fargatePlatformConfiguration

Fargate リソースで実行されているジョブのプラットフォーム設定。EC2 リソースで実行されているジョブでは、このパラメータを指定しないでください。

タイプ: FargatePlatformConfigurationオブジェクト

: 必須 いいえ

platformVersion

-AWSジョブのためのFargate プラットフォームのバージョン使用、またはLATESTの承認されたバージョンを使用するAWSFargate プラットフォームです。

タイプ: 文字列

デフォルト: LATEST

: 必須 いいえ

image

ジョブを開始するイメージです。この文字列は Docker デーモンに直接渡されます。Docker Hub レジストリのイメージはデフォルトで使用できます。repository-url/image:tag で他のリポジトリを指定することもできます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコア、コロン、ピリオド、スラッシュ、シャープ記号を使用できます。このパラメータは、のマッピングされます。Image()コンテナの作成の セクションドッカーリモートAPIIMAGEパラメータdocker run

注記

Docker イメージのアーキテクチャは、スケジュールされているコンピューティングリソースのプロセッサアーキテクチャと一致している必要があります。例えば、ARM ベースの Docker イメージは、ARM ベースのコンピューティングリソースでのみ実行することができます。

  • 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 アクションをユーザーに代わって呼び出します。詳細については、「」を参照してください。タスク用の IAM ロール()Amazon Elastic Container Service

タイプ: 文字列

: 必須 いいえ

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

コンテナにマッピングされたデバイスのリスト。このパラメータは、のマッピングされます。Devices()コンテナの作成の セクションドッカーリモートAPI--deviceオプションドッカーの実行

注記

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

タイプ: の配列デバイスobjects

: 必須 いいえ

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 値を加えた値です。詳細については、「」を参照してください。--memory-swapの詳細Docker ドキュメントを参照してください。

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

注記

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

タイプ: 整数

: 必須 いいえ

sharedMemorySize

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

注記

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

タイプ: 整数

: 必須 いいえ

swappiness

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

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

注記

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

タイプ: 整数

: 必須 いいえ

tmpfs

コンテナパス、マウントオプション、およびtmpfsマウント。

タイプ: の配列Tmpfsobjects

注記

このパラメータは、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

のサイズ (MiB) です。tmpfsボリューム.

タイプ: 整数

: 必須 はい

logConfiguration

ジョブのログ設定の仕様。

このパラメータは、のマッピングされます。LogConfig()コンテナの作成の セクションドッカーリモートAPI--log-driverオプションドッカーの実行。デフォルトでは、コンテナは 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 コンテナエージェントがデフォルトで通信できるログドライバーです。

このパラメータは、のマッピングされます。LogConfig()コンテナの作成の セクションドッカーリモートAPI--log-driverオプションドッカーの実行。デフォルトでは、ジョブでは 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 ECS コンテナエージェントの設定()Amazon Elastic Container Service

awslogs

Amazon CloudWatch Logs ログ記録ドライバーを指定します。詳細については、「」を参照してください。awslogs ログドライバーを使用するおよびAmazon CloudWatch Logs ログ記録ドライバーDocker ドキュメントを参照してください。

fluentd

Fluentd ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「Fluentd logging driver」を参照してください。

gelf

Graylog 拡張形式 (GELF) ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「Graylog Extended Format logging driver」を参照してください。

journald

Journald ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「Journald logging driver」を参照してください。

json-file

JSON ファイルログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「JSON File logging driver」を参照してください。

splunk

Splunk ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「Splunk logging driver」を参照してください。

syslog

syslog ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの「Syslog logging driver」を参照してください。

タイプ: 文字列

: 必須 はい

有効な値: awslogs | fluentd | gelf | journald | json-file | splunk | syslog

注記

上記以外のカスタムドライバーを Amazon ECS コンテナエージェントで使用する場合は、GitHub で入手可能し、そのドライバで動作するようにカスタマイズします。含めることを希望する変更について、プルリクエストを送信することをお勧めします。ただし、現在Amazon Web Services はこのソフトウェアの修正されたコピーの実行をサポートしていません。

options

ジョブのログドライバーに送信するログ設定オプション。

このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.19 以上を使用する必要があります。

タイプ: 文字列から文字列へのマッピング

: 必須 いいえ

secretOptions

ログ設定に渡すシークレットを表すオブジェクト。詳細については、「機密データの指定」を参照してください。

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

: 必須 いいえ

name

ジョブで設定するログドライバオプションの名前。

タイプ: 文字列

: 必須 はい

valueFrom

コンテナのログ設定に公開するシークレットの ARN。サポートされている値は、Secrets Manager シークレットの完全な ARN または SSM パラメータストア内のパラメータの完全な ARN のいずれかです。

注記

起動するタスクと同じリージョンに SSM Parameter Store のパラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。

タイプ: 文字列

: 必須 はい

memory

このパラメータは、Fargate リソースで実行されるジョブではサポートされなくなりました。代わりに ResourceRequirement を使用します。使用していない EC2 リソースで実行されるジョブの場合ResourceRequirementジョブ用に予約されているメモリの MiB 数。その他のジョブについては、resourceRequirements。コンテナがここで指定したメモリを超えようとすると、停止されます。このパラメータは、のマッピングされます。Memory()コンテナの作成の セクションドッカーリモートAPI--memoryオプションdocker run。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。これは必須ですが、マルチノードパラレル (MNP) ジョブでは複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。

注記

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

タイプ: 整数

: 必須 はい

mountPoints

コンテナでのデータボリュームのマウントポイント。このパラメータは、のマッピングされます。Volumes()コンテナの作成の セクションドッカーリモートAPI--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 ユーザーと同様) が付与されます。このパラメータは、のマッピングされます。Privileged()コンテナの作成の セクションドッカーリモートAPI--privilegedオプションdocker run。このパラメータは、Fargate リソースで実行されているジョブには適用できません。また、false として指定することもできません。

"privileged": true|false

タイプ: ブール値

では必須: いいえ

readonlyRootFilesystem

このパラメータが true のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。このパラメータは、のマッピングされます。ReadonlyRootfs()コンテナの作成の セクションドッカーリモートAPI--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 単位)。コンテナは、ここで指定したメモリを超えようとすると、強制終了されます。このパラメータは、のマッピングされます。Memory()コンテナの作成の セクションドッカーリモートAPI--memoryオプションドッカーの実行。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。これは必須ですが、マルチノードパラレル (MNP) ジョブでは複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。このパラメータは、のマッピングされます。Memory()コンテナの作成の セクションドッカーリモートAPI--memoryオプションドッカーの実行

注記

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

Fargate リソースで実行されているジョブについては、valueは、サポートされている値のいずれかに一致する必要があります。また、VCPU値は、そのメモリ値でサポートされている値のいずれかである必要があります。

VCPU MEMORY

0.25 vCPU

512、1024、2048 MiB

0.5 vCPU

1024、2048、3072、4096 MiB

1 vCPU

2048、3072、4096、5120、6144、7168、8192 MiB

2 vCPU

4096、58、14336、15360、14336、15360、16384 MiB

4 vCPU

8192、9216、10240、11264、12288、13312、14336、15360、16384、17408、18432、19456、21504、21504、22528、23552、24576、25600、26624、27648、28672、29696、30720 MiB

タイプ =「vCPU」

ジョブ用に予約された vCPU の数。このパラメータは、のマッピングされます。CpuShares()コンテナの作成の セクションドッカーリモートAPI--cpu-sharesオプションドッカーの実行。各 vCPU は 1,024 個の CPU 配分に相当します。EC2 リソースで実行されているジョブでは、少なくとも 1 つの vCPU を指定する必要があります。これは必須ですが、複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。

Fargate リソースで実行されているジョブについては、valueはサポートされている値のいずれかに一致し、MEMORY値は、その VCPU 値でサポートされている値のいずれかである必要があります。サポートされている値は 0.25、0.5、1、2、4 です。

タイプ: 文字列

では必須: はい、resourceRequirementsが使用されています。

secrets

環境変数として公開されるジョブのシークレット。詳細については、「機密データの指定」を参照してください。

"secrets": [ { "name": "secretName1", "valueFrom": "secretArn1" }, { "name": "secretName2", "valueFrom": "secretArn2" } ... ]

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

では必須: いいえ

name

シークレットを含む環境変数の名前。

タイプ: 文字列

では必須: はい、secretsが使用されています。

valueFrom

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

注記

起動するジョブと同じリージョンに SSM Parameter Store のパラメータが存在する場合は、パラメータの完全な ARN または名前のどちらも使用できます。パラメータが別のリージョンに存在する場合は、完全な ARN を指定する必要があります。

タイプ: 文字列

では必須: はい、secretsが使用されています。

ulimits

コンテナで設定する ulimits 値のリスト。このパラメータは、のマッピングされます。Ulimits()コンテナの作成の セクションドッカーリモートAPI--ulimitオプションdocker run

"ulimits": [ { "name": string, "softLimit": integer, "hardLimit": integer } ... ]

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

では必須: いいえ

name

typeulimit

タイプ: 文字列

では必須: はい、ulimitsが使用されています。

hardLimit

ulimit タイプのハード制限。

タイプ: 整数

では必須: はい、ulimitsが使用されています。

softLimit

ulimit タイプのソフト制限。

タイプ: 整数

では必須: はい、ulimitsが使用されています。

user

コンテナ内で使用するユーザー名。このパラメータは、のマッピングされます。User()コンテナの作成の セクションドッカーリモートAPI--userオプションdocker run

"user": "string"

タイプ: 文字列

では必須: いいえ

vcpus

コンテナ用に予約された vCPU の数。このパラメータは、のマッピングされます。CpuShares()コンテナの作成の セクションドッカーリモートAPI--cpu-sharesオプションdocker run。各 vCPU は 1,024 個の CPU 配分に相当します。少なくとも 1 つの vCPU を指定する必要があります。これは必須ですが、マルチノードパラレル (MNP) ジョブでは複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。Fargate リソースで実行されているジョブでは、resourceRequirements。他のvCPU では、resourceRequirements

タイプ: 整数

では必須: はい

volumes

ジョブ定義の登録時に、コンテナインスタンスの Docker デーモンに渡すボリュームのリストを指定できます。コンテナプロパティでは、以下のパラメータを使用できます。

[ { "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 ボリューム()AWS Batchユーザーガイド

タイプ: オブジェクト

では必須: いいえ

authorizationConfig

Amazon EFS ファイルシステムの認証設定の詳細。

タイプ: 文字列

では必須: いいえ

accessPointId

使用する Amazon EFS アクセスポイントの ID。アクセスポイントを指定した場合は、EFSVolumeConfigurationは省略するか、/。これにより、EFS アクセスポイントに設定されているパスが強制されます。アクセスポイントを使用する場合は、EFSVolumeConfiguration で転送中の暗号化を有効にする必要があります。詳細については、「」を参照してください。Amazon EFS アクセスポイントを使用する()Amazon Elastic File System ユーザーガイド

タイプ: 文字列

では必須: いいえ

iam

使用するかどうかを決定しますAWS BatchAmazon EFS ファイルシステムのマウント時に定義したジョブの IAM ロール。使用する場合は、EFSVolumeConfiguration で転送中の暗号化を有効にする必要があります。このパラメータを省略すると、DISABLED のデフォルト値が使用されます。詳細については、「」を参照してください。Amazon EFS アクセスポイントを使用する()AWS Batchユーザーガイド

タイプ: 文字列

有効な値: ENABLED | DISABLED

では必須: いいえ

fileSystemId

使用する Amazon EFS ファイルシステムの ID。

タイプ: 文字列

では必須: いいえ

rootDirectory

ホスト内にルートディレクトリとしてマウントする Amazon EFS ファイルシステム内のディレクトリ。このパラメータを省略すると、Amazon EFS ボリュームのルートが使用されます。指定すると/に設定すると、このパラメータを省略した場合と同じ結果になります。最大長は 4,096 文字です。

重要

EFS アクセスポイントがauthorizationConfigの場合、ルートディレクトリパラメータは省略するか、/。これにより、Amazon EFS アクセスポイントに設定されているパスが強制されます。

タイプ: 文字列

では必須: いいえ

transitEncryption

Amazon ECS ホストと Amazon EFS サーバー間で Amazon EFS データの転送中の暗号化を有効にするかどうかを指定します。Amazon EFS IAM 認証を使用する場合は、転送中の暗号化を有効にする必要があります。このパラメータを省略すると、DISABLED のデフォルト値が使用されます。詳細については、「」を参照してください。転送時のデータの暗号化()Amazon Elastic File System ユーザーガイド

タイプ: 文字列

有効な値: ENABLED | DISABLED

では必須: いいえ

transitEncryptionPort

Amazon ECS ホストと Amazon EFS サーバーの間で暗号化されたデータを送信するときに使用するポート。転送中の暗号化ポートを指定しないと、Amazon EFS マウントヘルパーが使用するポート選択方法が使用されます。値は 0 ~ 65,535 の範囲の値にする必要があります。詳細については、「」を参照してください。EFS マウントヘルパー()Amazon Elastic File System ユーザーガイド

タイプ: 整数

では必須: いいえ

ノードプロパティ

nodeProperties

複数ノードの並列ジョブ定義を登録する場合、ノードプロパティの一覧を指定する必要があります。これらのノードプロパティは、ジョブで使用するノード数、主要なノードのインデックスおよび使用する別のノード範囲を定義する必要があります。ジョブを Fargate リソースで実行する場合は、nodeProperties。むしろ、containerProperties代わりに、使用されます。ジョブ定義では、以下のノードプロパティを使用できます。詳細については、「マルチノードの並列ジョブ」を参照してください。

タイプ: NodePropertiesオブジェクト

では必須: いいえ

mainNode

複数ノードの並列ジョブの主要なノードにノードインデックスを指定します。このノードインデックス値は、ノード数未満である必要があります。

タイプ: 整数

では必須: はい

numNodes

複数ノードの並列ジョブに関連付けられたノードの数。

タイプ: 整数

では必須: はい

nodeRangeProperties

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

タイプ: の配列NodeRangePropertyobjects

では必須: はい

targetNodes

ノードのインデックス値を使用したノードの範囲。0:3 の範囲は、インデックス値が 0 から 3 のノードを示しています。開始範囲の値を省略した場合 (:n)、次に 0は、範囲を開始するために使用されます。終了範囲値が省略されている場合 (n:)、範囲の終了値にはできるだけ高いノードインデックスが使用されます。累積ノード範囲は、すべてのノード (0:n) を考慮する必要があります。ノード範囲をネストすることができます。たとえば、0:10および4:5。この場合は4:5範囲プロパティは、0:10プロパティ。

タイプ: 文字列

では必須: いいえ

container

ノード範囲のコンテナの詳細。詳細については、「コンテナプロパティ」を参照してください。

タイプ: ContainerPropertiesオブジェクト

では必須: いいえ

再試行戦略

retryStrategy

ジョブ定義の登録時に、オプションとして、このジョブ定義で送信したジョブが失敗したときの再試行戦略を指定できます。すべての再試行ストラテジーは、SubmitJob操作は、ここで定義された再試行ストラテジーを上書きします。デフォルトでは、各ジョブは 1 回試行されます。複数の試行を指定すると、ジョブが失敗すると、再試行されます。失敗の例としては、ジョブが 0 以外の終了コードを返すか、コンテナインスタンスが終了することがあります。詳細については、「」を参照してください。ジョブの再試行の自動化

タイプ: RetryStrategyオブジェクト

では必須: いいえ

attempts

ジョブを RUNNABLE ステータスに移行する回数。1〜10 回の試行を指定できます。attempts の回数が 1 より大きい場合、ジョブは RUNNABLE に移行するまでにその回数内で再試行されます。

"attempts": integer

タイプ: 整数

では必須: いいえ

evaluateOnExit

ジョブの再試行または失敗の条件を指定する、最大 5 つのオブジェクトの配列。このパラメータを指定する場合は、attempts パラメータも指定する必要があります。

"evaluateOnExit": [ { "action": "string", "onExitCode": "string", "onReason": "string", "onStatusReason": "string" } ]

タイプ: の配列EvaluateOnExitobjects

では必須: いいえ

action

指定された条件 (onStatusReasononReason および onExitCode) がすべて満たされた場合に実行するアクションを指定します。値は大文字と小文字が区別されません。

タイプ: 文字列

では必須: はい

有効な値: RETRY | EXIT

onExitCode

の 10 進表現と照合する glob パターンが含まれています。ExitCodeそれは仕事のために返されます。パターンの長さは最大 512 文字とすることができます。この値には数字のみを使用できます。文字や特殊文字を含めることはできません。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。

タイプ: 文字列

では必須: いいえ

onReason

に対して照合する glob パターンが含まれていますReasonそれは仕事のために返されます。パターンは最大 512 文字を使用できます。文字、数字、ピリオド (.)、および空白 (スペース、タブ) を使用できます。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。

タイプ: 文字列

では必須: いいえ

onStatusReason

に対して照合する glob パターンが含まれていますStatusReasonそれは仕事のために返されます。パターンは最大 512 文字を使用できます。文字、数字、ピリオド (.)、および空白 (スペース、タブ) を使用できます。必要に応じて末尾をアスタリスク (*) にでき、文字列の先頭だけが完全に一致する必要があります。

タイプ: 文字列

では必須: いいえ

Tags

tags

ジョブ定義に関連付けるキーと値のペアのタグ。詳細については、「AWS Batch リソースのタグ付け」を参照してください。

タイプ: 文字列から文字列へのマッピング

では必須: いいえ

Timeout

timeout

この期間を超えてジョブが実行されると AWS Batch でジョブが終了するように、ジョブのタイムアウト期間を設定できます。詳細については、「ジョブのタイムアウト」を参照してください。タイムアウトが原因でジョブが終了した場合は、再試行されません。実行中に指定されたタイムアウト設定SubmitJobオペレーションでは、ここで定義されているタイムアウト設定が上書きされます。詳細については、「ジョブのタイムアウト」を参照してください。

タイプ: JobTimeoutオブジェクト

必須 いいえ

attemptDurationSeconds

時間 (秒) (ジョブ試行のstartedAttimestampAWS Batchは、未完了のジョブを終了します。タイムアウトの最小値は 60 秒です。

タイプ: 整数

必須 いいえ