

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

# [ContainerProperties] のジョブ定義のパラメータ
<a name="job_definition_parameters"></a>

[https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html) を使用するジョブ定義はいくつかの部分に分かれています。
+ ジョブ定義名
+ ジョブ定義のタイプ
+ パラメータ置換プレースホルダーのデフォルト
+ ジョブのコンテナプロパティ
+ Amazon EKS リソースで実行されるジョブに必要なジョブ定義の Amazon EKS プロパティ
+ マルチノード並列ジョブに必要なノードプロパティ
+ Fargate リソースで実行されるジョブに必要なプラットフォーム機能
+ ジョブ定義のデフォルトタグ伝達の詳細
+ ジョブ定義のデフォルト再試行戦略
+ ジョブ定義のデフォルトのスケジューリング優先度
+ ジョブ定義のデフォルトタグ
+ ジョブ定義のデフォルトタイムアウト

**Contents**
+ [ジョブ定義名](#jobDefinitionName)
+ [タイプ](#type)
+ [パラメータ](#parameters)
+ [コンテナプロパティ](#containerProperties)
+ [Amazon EKS プロパティ](#job-definition-parameters-eks-properties)
+ [プラットフォーム機能](#job-definition-parameters-platform-capabilities)
+ [タグの伝播](#job-definition-parameters-propagate-tags)
+ [ノードプロパティ](#nodeProperties)
+ [再試行戦略](#retryStrategy)
+ [スケジューリング優先順位](#job-definition-parameters-schedulingPriority)
+ [タグ](#job-definition-parameters-tags)
+ [タイムアウト](#timeout)

## ジョブ定義名
<a name="jobDefinitionName"></a>

`jobDefinitionName`  
ジョブ定義の登録時に名前を指定します。名前の最大長は 128 文字です。大文字および小文字の ASCII 文字、数字、ハイフン(-)、アンダースコア(\$1)を含めることができます。その名前で最初に登録するジョブ定義のリビジョン番号は 1 です。その名前で登録する後続のジョブ定義には、増分のリビジョン番号が付けられます。  
タイプ: 文字列  
必須: はい

## タイプ
<a name="type"></a>

`type`  
ジョブ定義の登録時にジョブのタイプを指定します。ジョブが Fargate リソースで実行されている場合、`multinode` はサポートされません。マルチノード並列ジョブの詳細については、[マルチノード並列ジョブ定義を作成する](create-multi-node-job-def.md) を参照してください。  
タイプ: 文字列  
有効な値: `container` \$1 `multinode`  
必須: はい

## パラメータ
<a name="parameters"></a>

`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` に置き換えられます。

## コンテナプロパティ
<a name="containerProperties"></a>

ジョブ定義を登録する時に、ジョブの配置時にコンテナインスタンス上のDockerデーモンに渡されるコンテナプロパティのリストを指定します。ジョブ定義では、以下のコンテナプロパティを使用できます。単一のノードジョブでは、上記のプロパティはジョブ定義レベルに設定されます。マルチノード並列ジョブでは、コンテナプロパティは各ノードグループごとに [ノードプロパティ](#nodeProperties) レベルで設定されます。

`command`  
コンテナに渡されるコマンド。このパラメータは [Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `Cmd` にマッピングされ、`COMMAND` パラメータは [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) にマッピングされます。Docker `CMD` パラメータの詳細については、[https://docs.docker.com/engine/reference/builder/\$1cmd](https://docs.docker.com/engine/reference/builder/#cmd) を参照してください。  

```
"command": ["string", ...]
```
タイプ: 文字列配列  
必須: いいえ

`environment`  
コンテナに渡す環境変数。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションに`Env`にマップされ、`--env`オプションは[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/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 実行ロール](execution-IAM-role.md)を参照してください。  
型: 文字列  
必須: いいえ

`fargatePlatformConfiguration`  
Fargateリソース上で実行されるジョブのプラットフォーム構成。EC2 リソースで実行されているジョブでは、このパラメータを指定しないでください。  
タイプ: [FargatePlatformConfiguration](https://docs.aws.amazon.com/batch/latest/APIReference/API_FargatePlatformConfiguration.html) オブジェクト  
必須: いいえ    
`platformVersion`  
ジョブに使用される AWS Fargate プラットフォームバージョン、または最近承認されたAWS Fargate プラットフォーム のバージョンを使用するための `LATEST`。  
タイプ: 文字列  
デフォルト: `LATEST`  
必須: いいえ

`image`  
ジョブの開始に使用するイメージ。この文字列は Docker デーモンに直接渡されます。Docker Hub レジストリのイメージはデフォルトで使用できます。`repository-url/image:tag` で他のリポジトリを指定することもできます。最大 255 文字の英字 (大文字と小文字)、数字、ハイフン、アンダースコア、コロン、ピリオド、スラッシュ、シャープ記号を使用できます。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/)の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションと [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/)の `Image` の `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 ロール](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html)を参照してください。  
タイプ: 文字列  
必須: いいえ

`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](https://docs.aws.amazon.com/batch/latest/APIReference/API_LinuxParameters.html) オブジェクト  
必須: いいえ    
`devices`  
コンテナにマッピングされたデバイスのリスト。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `Devices` にマップされ、`--device` オプションは [docker run]](https://docs.docker.com/engine/reference/run/) にマップされます。  
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
タイプ: [デバイス](https://docs.aws.amazon.com/batch/latest/APIReference/API_Device.html)オブジェクト配列  
必須: いいえ    
`hostPath`  
ホストコンテナインスタンスで使用可能なデバイスがあるパス。  
タイプ: 文字列  
必須: はい  
`containerPath`  
コンテナでデバイスが公開されるパス。指定しない場合、デバイスはホストパスと同じパスで公開されます。  
タイプ: 文字列  
必須: いいえ  
`permissions`  
コンテナでのデバイスのアクセス許可。指定しない場合、アクセス許可は `READ`、`WRITE`、`MKNOD` に設定されます。  
タイプ: 文字列の配列  
必須: いいえ  
有効な値: `READ` \$1 `WRITE` \$1 `MKNOD`  
`initProcessEnabled`  
true の場合、信号を転送し、プロセスを利用するコンテナ内で `init` プロセスを実行します。このパラメータは、[docker run]](https://docs.docker.com/engine/reference/run/) の `--init` オプションにマッピングされます。このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.25 以上を使用する必要があります。コンテナインスタンスの Docker Remote API のバージョンを確認するには、コンテナインスタンスにログインし、`sudo docker version | grep "Server API version"` コマンドを実行します。  
タイプ: ブール値  
必須: いいえ  
`maxSwap`  
ジョブで使用可能なスワップメモリの合計容量 (単位: MiB) を指定します。このパラメータは、[docker run](https://docs.docker.com/engine/reference/run/) の `--memory-swap` オプションに変換されます。値はコンテナメモリの合計に `maxSwap` 値を加えた値です。詳細については、Docker ドキュメントの[`--memory-swap` 詳細](https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details)を参照してください。  
`maxSwap` の `0` 値を指定した場合、コンテナはスワップを使用しません。許容値は、`0` または任意の正の整数です。`maxSwap` パラメータが省略された場合、コンテナは実行するコンテナインスタンスのスワップ設定を使用します。`maxSwap` パラメータを使用するには、`swappiness` 値を設定する必要があります。  
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
タイプ: 整数  
必須: いいえ  
`sharedMemorySize`  
`/dev/shm` ボリュームのサイズ値 (MiB) です。このパラメータは、[docker run](https://docs.docker.com/engine/reference/run/) の `--shm-size` オプションにマッピングされます。  
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
タイプ: 整数  
必須: いいえ  
`swappiness`  
これにより、コンテナのメモリスワップ動作を調整できます。`swappiness` 値が `0` の場合、絶対に必要な場合を除きスワップは行われません。`swappiness` の値が `100` の場合は、ページが積極的にスワップされます。使用できる値は、`0` と `100` の間の整数です。`swappiness` パラメータを指定しない場合、デフォルト値の `60` が使用されます。`maxSwap` の値が指定されていない場合、このパラメータは無視されます。`maxSwap` が 0 に設定されている場合、コンテナはスワップを使用しません。このパラメータは、[docker run](https://docs.docker.com/engine/reference/run/) の `--memory-swappiness` オプションにマッピングされます。  
コンテナごとのスワップ構成を使用する場合は、次の点を考慮してください。  
+ スワップ領域を有効にし、コンテナが使用するコンテナインスタンスで割り当てる必要があります。
**注記**  
Amazon ECS 最適化 AMI では、スワップはデフォルトで有効になっていません。この機能を使用するには、インスタンスでスワップを有効にする必要があります。詳細については、「*Amazon EC2 ユーザーガイド*」の「[インスタンスストアスワップボリューム](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html)」または「[スワップファイルを使用して、Amazon EC2 インスタンスのスワップ領域として機能するようにメモリを割り当てる方法を教えてください。](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/)」を参照してください。
+ スワップ領域のパラメータは、EC2 リソースを使用するジョブ定義でのみサポートされます。
+ `maxSwap` および `swappiness` パラメータがジョブ定義から省略されている場合、各コンテナの `swappiness` には、デフォルト値の 60 が設定されます。スワップ使用量の合計は、コンテナのメモリ予約の2倍までに制限されます。
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
タイプ: 整数  
必須: いいえ  
`tmpfs`  
tmpfs マウントのコンテナパス、マウントオプション、およびサイズ。  
タイプ: [Tmpfs](https://docs.aws.amazon.com/batch/latest/APIReference/API_Tmpfs.html) オブジェクト配列  
このパラメータは、Fargate リソースで実行されているジョブには適用されません。
必須: いいえ    
`containerPath`  
tmpfs ボリュームをマウントするコンテナ内のファイルの絶対パス。  
タイプ: 文字列  
必須: はい  
`mountOptions`  
tmpfs ボリュームのマウントオプションのリストです。  
有効な値:`defaults`\$1`ro`\$1`rw`\$1`suid`\$1`nosuid`\$1`dev`\$1`nodev`\$1`exec`\$1`noexec`\$1`sync`\$1`async`\$1`dirsync`\$1`remount`\$1`mand`\$1`nomand`\$1`atime`\$1`noatime`\$1`diratime`\$1`nodiratime`\$1`bind`\$1`rbind`\$1`unbindable`\$1`runbindable`\$1`private`\$1`rprivate`\$1`shared`\$1`rshared`\$1`slave`\$1`rslave`\$1`relatime`\$1`norelatime`\$1`strictatime`\$1`nostrictatime`\$1`mode`\$1`uid`\$1`gid`\$1`nr_inodes`\$1`nr_blocks`\$1`mpol`  
タイプ: 文字列の配列  
必須: いいえ  
`size`  
tmpfs ボリュームのサイズ (MiB) です。  
タイプ: 整数  
必須: はい

`logConfiguration`  
ジョブのログ設定の仕様。  
このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナサービスを作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) セクションの `LogConfig` にマップされ、`--log-driver` オプションは [docker run](https://docs.docker.com/engine/reference/run/) にマップされます。デフォルトでは、コンテナは Docker デーモンで使用されるのと同じロギングドライバーを使用します。ただし、コンテナで Docker デーモンとは異なるログドライバーを使用するには、コンテナの定義内でこのパラメータを使用してログドライバーを指定します。コンテナに異なるロギングドライバーを使用するには、コンテナインスタンスまたはリモートログ記録オプションの別のログサーバーでログシステムを適切に設定する必要があります。サポートされているさまざまなログドライバーのオプションの詳細については、Docker ドキュメントの[ログドライバーの設定](https://docs.docker.com/engine/admin/logging/overview/)を参照してください。  
AWS Batch では現在、Docker デーモンの使用可能なログドライバーがいくつかサポートされています ([LogConfiguration](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html)データ型を参照)。
このパラメータは、コンテナインスタンスで 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](https://docs.aws.amazon.com/batch/latest/APIReference/API_LogConfiguration.html) オブジェクト  
必須: いいえ    
`logDriver`  
ジョブに使用するログドライバー。デフォルトでは、AWS Batch が `awslogs` ログドライバーを有効にします。このパラメータの有効な値は、Amazon ECS コンテナエージェントがデフォルトで通信できるログドライバーです。  
このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の [コンテナサービスを作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `LogConfig` にマップされ、`--log-driver` オプションは [docker run](https://docs.docker.com/engine/reference/run/) にマップされます。デフォルトでは、ジョブは Docker デーモンで使用されるのと同じロギングドライバーを使用します。ただし、ジョブで Docker デーモンとは異なるログドライバーを使用するには、コンテナの定義内でこのパラメータを使用してログドライバーを指定します。ジョブに別のログドライバーを指定する場合は、コンピュート環境のコンテナインスタンスでログシステムを設定する必要があります。または、別のログサーバーに設定して、リモートロギングオプションを提供する。サポートされているさまざまなログドライバーのオプションの詳細については、Docker ドキュメントの[ログドライバーの設定](https://docs.docker.com/engine/admin/logging/overview/)を参照してください。  
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 コンテナエージェントの設定](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html)」を参照してください。  
`awslogs`  
Amazon CloudWatch Logs ロギングドライバーを指定します。詳細については、[awslogs ログドライバーを使用する](using_awslogs.md)、およびDocker ドキュメントの [Amazon CloudWatch Logs ロギングドライバー](https://docs.docker.com/config/containers/logging/awslogs/)を参照してください。  
`fluentd`  
Fluentd ロギングドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[Fluentd logging driver](https://docs.docker.com/config/containers/logging/fluentd/) を参照してください。  
`gelf`  
Graylog 拡張形式 (GELF) ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[Graylog Extended Format logging driver](https://docs.docker.com/config/containers/logging/gelf/) を参照してください。  
`journald`  
Journald ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[Journald logging driver](https://docs.docker.com/config/containers/logging/journald/)(Journald logging driver) を参照してください。  
`json-file`  
JSON ファイルログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[JSON File logging driver](https://docs.docker.com/config/containers/logging/json-file/)(JSON ファイルlogging driver) を参照してください。  
`splunk`  
Splunk ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[Splunk logging driver](https://docs.docker.com/config/containers/logging/splunk/) を参照してください。  
`syslog`  
syslog ログ記録ドライバーを指定します。使用方法やオプションなどの詳細については、Docker ドキュメントの[Syslog logging driver](https://docs.docker.com/config/containers/logging/syslog/)(Syslog logging driver) を参照してください。
タイプ: 文字列  
必須: はい  
有効な値: `awslogs` \$1 `fluentd` \$1 `gelf` \$1 `journald` \$1 `json-file` \$1 `splunk` \$1 `syslog`  
前述以外のカスタムドライバーを Amazon ECS コンテナエージェントで使用する場合は、[GitHub で入手](https://github.com/aws/amazon-ecs-agent)できる Amazon ECS コンテナエージェントプロジェクトをフォークし、そのドライバーを使用できるようにカスタマイズできます。含めたい変更については、プルリクエストを送信することをお勧めします。ただし、現在、Amazon Web Services では、このソフトウェアの変更されたコピーの実行をサポートしていません。  
`options`  
ジョブのログドライバーに送信するログ設定オプション。  
このパラメータは、コンテナインスタンスで Docker Remote API バージョン 1.19 以上を使用する必要があります。  
タイプ: 文字列間のマッピング  
必須: いいえ  
`secretOptions`  
ログ設定に渡すシークレットを示すオブジェクト。詳細については、[機密データを指定する](specifying-sensitive-data.md)を参照してください。  
タイプ: オブジェクト配列  
必須: いいえ    
`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](https://docs.docker.com/engine/api/v1.38/) の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションに`Volumes`にマップされ、`--volume`オプションは[https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/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` \$1 `DISABLED`  
必須: いいえ  
デフォルト: `DISABLED`

`privileged`  
このパラメータが true のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス許可 (`root` ユーザーと同様) が付与されます。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `Privileged` にマップされ、`--privileged` オプションは [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) にマップされます。このパラメータは、Fargate リソースで実行されているジョブには適用されません。これを指定したり、false と指定したりしないでください。  

```
"privileged": true|false
```
タイプ: ブール値  
必須: いいえ

`readonlyRootFilesystem`  
このパラメータが true のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。このパラメータは、[Docker Remote API ](https://docs.docker.com/engine/api/v1.38/)の [コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `ReadonlyRootfs` にマップされ、`--read-only` オプションは [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/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](https://docs.docker.com/engine/api/v1.38/) の[コンテナサービスを作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) セクションの `Memory` にマップされ、`--memory` オプションは [docker run](https://docs.docker.com/engine/reference/run/) にマップされます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。これは必須ですが、マルチノード並列 (MNP) ジョブでは複数の場所で指定できます。各ノードに少なくとも 1 回指定する必要があります。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナサービスを作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) セクションの `Memory` にマップされ、`--memory` オプションは [docker run](https://docs.docker.com/engine/reference/run/) にマップされます。  
特定のインスタンスタイプに対してできるだけ多くのメモリを提供してリソースの使用率を最大限に高めるには、[コンピューティングリソースメモリの管理](memory-management.md)を参照してください。
Fargate リソースで実行されているジョブの場合、`value` はサポートされている値の 1 つと一致する必要があります。さらに、`VCPU` の値は、そのメモリ値でサポートされている値の 1 つである必要があります。      
<a name="Fargate-memory-vcpu"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/batch/latest/userguide/job_definition_parameters.html)  
タイプ = vCPU  
ジョブ用に予約された vCPU の数。このパラメータは、[Docker Remote API](https://docs.docker.com/engine/api/v1.38/) の[コンテナサービスを作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate) セクションの `CpuShares` にマップされ、`--cpu-shares` オプションは [docker run](https://docs.docker.com/engine/reference/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](https://docs.aws.amazon.com/general/latest/gr/ecs-service.html#service-quotas-fargate)」を参照してください。
タイプ: 文字列  
必須: はい (`resourceRequirements` を使用する場合)。

`secrets`  
環境変数として公開されるジョブのシークレット。詳細については、[機密データを指定する](specifying-sensitive-data.md)を参照してください。  

```
"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 ](https://docs.docker.com/engine/api/v1.38/)の [コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `Ulimits` にマップされ、`--ulimit` オプションは [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/run/) にマップされます。  

```
"ulimits": [
  {
    "name": string,
    "softLimit": integer,
    "hardLimit": integer
  }
  ...
]
```
タイプ: オブジェクト配列  
必須: いいえ    
`name`  
`ulimit` の `type`。  
タイプ: 文字列  
必須: はい (`ulimits` を使用する場合)。  
  
`hardLimit`  
`ulimit` タイプのハード制限。  
タイプ: 整数  
必須: はい (`ulimits` を使用する場合)。  
  
`softLimit`  
`ulimit` タイプのソフト制限。  
タイプ: 整数  
必須: はい (`ulimits` を使用する場合)。  


`user`  
コンテナ内で使用するユーザー名。このパラメータは、[Docker Remote API ](https://docs.docker.com/engine/api/v1.38/)の [コンテナの作成](https://docs.docker.com/engine/api/v1.38/#operation/ContainerCreate)セクションの `User` にマップされ、`--user` オプションは [https://docs.docker.com/engine/reference/commandline/run/](https://docs.docker.com/engine/reference/commandline/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 ボリューム](efs-volumes.md)を参照してください。  
タイプ: オブジェクト  
必須: いいえ    
`authorizationConfig`  
Amazon EFS ファイルシステムに対する認可構成の詳細。  
型: 文字列  
必須: いいえ    
`accessPointId`  
使用する Amazon EFS アクセスポイントの ID。アクセスポイントを指定した場合、`EFSVolumeConfiguration` で指定されているルートディレクトリの値を省略するか、`/` に設定する必要があります。これにより、EFS アクセスポイントに設定されたパスが強制されます。アクセスポイントを使用する場合は、`EFSVolumeConfiguration` で転送中の暗号化を有効にする必要があります。詳細については、*Amazon Elastic ファイルシステムユーザーガイド*の [Amazon EFS アクセスポイントの使用](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html)を参照してください。  
タイプ: 文字列  
必須: いいえ  
`iam`  
Amazon EFS ファイルシステムのマウント時にジョブ定義で定義した AWS Batch ジョブの IAM ロールを使用するかどうかを指定します。使用する場合は、`EFSVolumeConfiguration` で転送中の暗号化を有効にする必要があります。このパラメータを省略すると、`DISABLED` のデフォルト値が使用されます。詳細については、[Amazon EFS アクセスポイントの使用](efs-volumes.md#efs-volume-accesspoints)を参照してください。  
タイプ: 文字列  
有効な値: `ENABLED` \$1 `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](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html)を参照してください。  
タイプ: 文字列  
有効な値: `ENABLED` \$1 `DISABLED`  
必須: いいえ  
`transitEncryptionPort`  
Amazon ECS ホストと Amazon EFS サーバーとの間で、暗号化されたデータを送信するときに使用するポート。転送中の暗号化ポートを指定しないと、Amazon EFS マウントヘルパーが使用するポート選択方式が使用されます。この値は 0～65,535 の範囲の値にする必要があります。詳細については、*Amazon Elastic File System User Guide]* (Amazon Elastic File System ユーザーガイド) の[EFS Mount Helper]](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) (EFS マウントヘルパー) を参照してください。  
タイプ: 整数  
必須: いいえ

## Amazon EKS プロパティ
<a name="job-definition-parameters-eks-properties"></a>

Amazon EKS ベースのジョブに固有のさまざまなプロパティが用意されたオブジェクト。これは、Amazon ECSベースのジョブ定義には指定しないでください。

`podProperties`  
ジョブのKubernetesポッドリソースのプロパティ。  
タイプ:[EKSPodProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html) オブジェクト  
必須: いいえ    
`containers`  
Amazon EKS ポッドで使用されるコンテナのプロパティ。  
タイプ:[EKS コンテナオブジェクト](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainer.html)  
必須: いいえ    
`args`  
エントリポイントへの引数の配列。これを指定しない場合、コンテナイメージの `CMD` が使用されます。これは Kubernetes の[ポッド](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/)の[エントリポイント](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint)部分の `args` メンバーに対応します。環境変数の参照は、コンテナの環境を使用して展開されます。  
参照先の環境変数が存在しない場合、コマンド内の参照は変更されません。例えば、参照先が`$(NAME1)`で、`NAME1` 環境変数が存在しない場合、コマンド文字列は`$(NAME1)`のままになります。`$$` が `$` に置き換えられ、結果の文字列は展開されません。例えば、`$$(VAR_NAME)` は `VAR_NAME` 環境変数が存在するかどうかに関係なく、`$(VAR_NAME)` として渡されます。詳細については、「*Dockerfile リファレンス*」の「[CMD](https://docs.docker.com/engine/reference/builder/#cmd)」と「*Kubernetes ドキュメンテーション*」の「[ポッドのコマンドと引数を定義する](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/)」を参照してください。  
タイプ: 文字列の配列  
必須: いいえ  
`command`  
コンテナのエントリポイント。これはシェル内では実行されません。これを指定しない場合、コンテナイメージの `ENTRYPOINT` が使用されます。環境変数の参照は、コンテナの環境を使用して展開されます。  
参照先の環境変数が存在しない場合、コマンド内の参照は変更されません。例えば、参照先が`$(NAME1)`で、`NAME1` 環境変数が存在しない場合、コマンド文字列は`$(NAME1)`のままになります。`$$` が `$` に置き換えられ、結果の文字列は展開されません。例えば、`$$(VAR_NAME)` は `VAR_NAME` 環境変数が存在するかどうかに関係なく、`$(VAR_NAME)` として渡されます。エントリポイントは更新できません。詳細については、「*Dockerfile リファレンス*」の「[エントリーポイント](https://docs.docker.com/engine/reference/builder/#entrypoint)」、「[コンテナのコマンドと引数を定義する](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/)」、「*Kubernetes ドキュメント*」の「[エントリーポイント](https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#entrypoint)」を参照してください。  
タイプ: 文字列の配列  
必須: いいえ  
`env`  
コンテナに渡す環境変数。  
環境変数は`AWS_BATCH`で始まることはできません。この命名規則は、AWS Batch で設定される変数のために予約されています。
タイプ:[EKS コンテナ環境変数オブジェクトの配列](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainerEnvironmentVariable.html)  
必須: いいえ    
`name`  
環境変数の名前。  
タイプ: 文字列  
必須: はい  
`value`  
環境変数の値。  
タイプ: 文字列  
必須: いいえ  
`image`  
コンテナの開始に使用する Docker イメージ。  
タイプ: 文字列  
必須: はい  
`imagePullPolicy`  
コンテナのイメージプルポリシー。サポートされている値は `Always`、`IfNotPresent`、`Never` です。このパラメータのデフォルトは `IfNotPresent` です。ただし、`:latest` タグが指定されている場合、デフォルトは `Always` です。詳細については、「*Kubernetes ドキュメント*」の「[イメージの更新](https://kubernetes.io/docs/concepts/containers/images/#updating-images)」を参照してください。  
タイプ: 文字列  
必須: いいえ  
`name`  
コンテナの名前。名前が指定されなかった場合、デフォルト名`Default`が使用されます。ポッド内の各コンテナには一意の名前が必要です。  
タイプ: 文字列  
必須: いいえ  
`resources`  
コンテナに割り当てるリソースのタイプと量。サポートされているリソースには `memory`、`cpu` および `nvidia.com/gpu` などがあります。詳細については、「*Kubernetes ドキュメント*」の「[ポッドとコンテナのリソース管理](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/)」を参照してください。  
タイプ:[EKS コンテナリソース要件](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainerResourceRequirements.html) オブジェクト  
必須: いいえ    
`limits`  
コンテナ用に予約する指定されたリソースのタイプと量。値は、指定された `name` によって異なります。リソースは、`limits` または `requests` オブジェクトを使用してリクエストできます。    
メモリ  
コンテナ用のメモリのハード制限 (MiB)。整数とMiサフィックスを使用します。コンテナが指定されたメモリを超えようとすると、強制終了されます。ジョブに対して少なくとも 4 MiB のメモリを指定する必要があります。`limits`、`requests`、または両方で `memory` を指定できます。`memory` が両方の場所で指定されている場合、`limits` で指定される値は、`requests` で指定されている値と等しくなければなりません。  
リソースの使用率を最大限に高めるには、使用している特定のインスタンスタイプに対して可能な限り多くのメモリをジョブに割り当てます。この方法の詳細は、[コンピューティングリソースメモリの管理](memory-management.md)を参照してください。  
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` で指定されている値と等しくなければなりません。  
特定のインスタンスタイプに対してできるだけ多くのメモリを提供してリソースの使用率を最大限に高めるには、[コンピューティングリソースメモリの管理](memory-management.md)を参照してください。  
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 ドキュメント*」の「[ポッドまたはコンテナのセキュリティコンテキストを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/)」を参照してください。  
タイプ:[EKS コンテナセキュリティコンテキスト](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainerSecurityContext.html) オブジェクト  
必須: いいえ    
`privileged`  
このパラメータが `true` のとき、コンテナには、ホストコンテナインスタンスに対する昇格されたアクセス許可が付与されます。パーミッションのレベルは`root`ユーザーのパーミッションと同じです。デフォルト値は `false` です。このパラメータは、「*Kubernetes ドキュメント*」の「[特権ポッドのセキュリティポリシー](https://kubernetes.io/docs/concepts/security/pod-security-policy/#privileged)」の `privileged` ポリシーに対応しています。  
タイプ: ブール値  
必須: いいえ  
`readOnlyRootFilesystem`  
このパラメータが `true` のとき、コンテナはそのルートファイルシステムへの読み取り専用アクセスを許可されます。デフォルト値は `false` です。このパラメータは、「*Kubernetes ドキュメント*」の「[ボリュームとファイルシステムのポッドセキュリティポリシー](https://kubernetes.io/docs/concepts/security/pod-security-policy/#volumes-and-file-systems)」の `ReadOnlyRootFilesystem` ポリシーに対応しています。  
タイプ: ブール値  
必須: いいえ  
`runAsGroup`  
このパラメータを指定すると、コンテナは指定されたグループ ID (`gid`) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているグループです。このパラメータは、「*Kubernetes ドキュメント*」の「[ユーザーとグループのポッドセキュリティポリシー](https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups)」の `RunAsGroup` および `MustRunAs` ポリシーに対応しています。  
タイプ: Long  
必須: いいえ  
`runAsNonRoot`  
このパラメータを指定すると、コンテナは 0 以外の `uid` のユーザーとして実行されます。このパラメータを指定しない場合、そのようなルールが適用されます。このパラメータは、「*Kubernetes ドキュメント*」の「[ユーザーとグループのポッドセキュリティポリシー](https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups)」の `RunAsUser` および `MustRunAsNonRoot` ポリシーに対応しています。  
タイプ: Long  
必須: いいえ  
`runAsUser`  
このパラメータを指定すると、コンテナは指定されたユーザー ID (`uid`) で実行されます。このパラメータを指定しない場合、デフォルトはイメージメタデータに指定されているユーザーです。このパラメータは、「*Kubernetes ドキュメント*」の「[ユーザーとグループのポッドセキュリティポリシー](https://kubernetes.io/docs/concepts/security/pod-security-policy/#users-and-groups)」の `RunAsUser` および `MustRanAs` ポリシーに対応しています。  
タイプ: Long  
必須: いいえ  
`volumeMounts`  
Amazon EKS ジョブのコンテナのボリュームマウント。Kubernetes のボリュームとボリュームマウントの詳細については、「*Kubernetes ドキュメント*」の「[ボリューム](https://kubernetes.io/docs/concepts/storage/volumes/)」を参照してください。  
タイプ:[EKS コンテナボリュームマウント](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainerVolumeMount.html) オブジェクトの配列  
必須: いいえ    
`mountPath`  
ボリュームをマウントするコンテナ上のパス。  
タイプ: 文字列  
必須: いいえ  
`name`  
ボリュームマウントの名前。これは、ポッド内のいずれかのボリュームの名前と一致する必要があります。  
タイプ: 文字列  
必須: いいえ  
`readOnly`  
この値が `true` の場合、コンテナはボリュームへの読み取り専用アクセスを許可されます。それ以外の場合、コンテナはボリュームに書き込むことができます。デフォルト値は `false` です。  
タイプ: ブール値  
必須: いいえ  
`dnsPolicy`  
ポッドの DNS ポリシー。デフォルト値は `ClusterFirst` です。`hostNetwork` パラメータが指定されていない場合、デフォルトは `ClusterFirstWithHostNet` です。`ClusterFirst` は、設定されたクラスタドメインサフィックスと一致しない DNS クエリが、ノードから継承されたアップストリームのネームサーバーに転送されることを示します。[[RegisterJobDefinition]](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) API 操作で `dnsPolicy` に値が指定されなかった場合、[[DescribeJobDefinitions]](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobDefinitions.html) または [[DescribeJobs]](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html) API 操作のいずれによっても `dnsPolicy` に値は返されません。ポッド仕様設定には、`hostNetwork` パラメータの値に応じて、`ClusterFirst` または `ClusterFirstWithHostNet` のいずれかが含まれます。詳細については、「*Kubernetes ドキュメント*」の「[ポッドの DNS ポリシー](https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-s-dns-policy)」を参照してください。  
有効な値: `Default` \$1 `ClusterFirst` \$1 `ClusterFirstWithHostNet`  
タイプ: 文字列  
必須: いいえ  
`hostNetwork`  
ポッドがホストのネットワーク IP アドレスを使用するかどうかを示します。デフォルト値は `true` です。これを に設定すると、Kubernetes ポッドネットワークモデルが有効になります。ほとんどの AWS Batch ワークロードは下り専用で、受信接続の各ポッドに IP を割り当てる際のオーバーヘッドは必要ありません。詳細については、「*Kubernetes ドキュメント*」の「[ホストの名前空間](https://kubernetes.io/docs/concepts/security/pod-security-policy/#host-namespaces)」と「[ポッドネットワーキング](https://kubernetes.io/docs/concepts/workloads/pods/#pod-networking)」を参照してください。  
タイプ: ブール値  
必須: いいえ  
`serviceAccountName`  
ポッドを実行するために使用されるサービスアカウントの名前。詳細については、「*Amazon EKS ユーザーガイド*」の「[Kubernetes サービスアカウント](https://docs.aws.amazon.com/eks/latest/userguide/service-accounts.html)」と「[IAM ロールを引き継ぐように Kubernetes サービスアカウントを設定する](https://docs.aws.amazon.com/eks/latest/userguide/associate-service-account-role.html)」、「*Kubernetes ドキュメント*」の「[ポッドでのサービスアカウントを設定する](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)」を参照してください。  
タイプ: 文字列  
必須: いいえ  
`volumes`  
Amazon EKS リソースを使用するジョブ定義のボリュームを指定します。  
タイプ:[EKS ボリュームオブジェクト](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksVolume.html) の配列  
必須: いいえ    
EmptyDir  
Kubernetes `emptyDir`ボリュームの設定を指定します。`emptyDir` ボリュームは、ポッドがノードに割り当てられるときに最初に作成されます。そのポッドがノードで実行されている限り存在します。`emptyDir` ボリュームは最初は空です。ポッド内のすべてのコンテナは、`emptyDir` ボリューム内のファイルを読み書きできます。ただし、`emptyDir` ボリュームは各コンテナの同じパスまたは異なるパスにマウントできます。何らかの理由でポッドがノードから削除されると、`emptyDir` のデータは完全に削除されます。詳細については、「*Kubernetes ドキュメント*」の「[emptyDir](https://kubernetes.io/docs/concepts/storage/volumes/#emptydir)」を参照してください。  
[タイプ:ekSemptyDir](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksEmptyDir.html) オブジェクト  
必須: いいえ    
medium  
ボリュームを保存するメディア。デフォルト値は、ノードのストレージを使用する空の文字列です。    
""  
**(デフォルト)** ノードのディスクストレージを使用します。  
メモリ  
ノードの RAM にバックアップされている `tmpfs` ボリュームを使用します。ノードが再起動するとボリュームの内容は失われ、ボリューム上のストレージはコンテナのメモリ制限に対して計算されます。
タイプ: 文字列  
必須: いいえ  
サイズ制限  
ボリュームの最大サイズ。デフォルトでは、最大サイズは定義されていません。  
タイプ: 文字列  
長さの制約: 最小長は 1 です。最大長は 256 です。  
必須: いいえ  
hostPath  
Kubernetes `hostPath`ボリュームの設定を指定します。`hostPath` ボリュームは、ホストノードのファイルシステムから既存のファイルまたはディレクトリをポッドにマウントします。詳細については、「*Kubernetes ドキュメント*」の「[hostPath](https://kubernetes.io/docs/concepts/storage/volumes/#hostpath)」を参照してください。  
タイプ:[EKShostPath](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksHostPath.html) オブジェクト  
必須: いいえ    
パス  
ポッドのコンテナにマウントするホスト上のファイルまたはディレクトリのパス。  
タイプ: 文字列  
必須: いいえ  
名前  
ボリュームの名前。名前は DNS サブドメイン名として許可されている必要があります。詳細については、「*Kubernetes ドキュメント*」の「[DNS サブドメイン名](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names)」を参照してください。  
タイプ: 文字列  
必須: はい  
シークレット  
Kubernetes `secret`ボリュームの設定を指定します。詳細については、「*Kubernetes ドキュメント*」の「[シークレット](https://kubernetes.io/docs/concepts/storage/volumes/#secret)」を参照してください。  
タイプ:[EKS シークレット](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksSecret.html) オブジェクト  
必須: いいえ    
オプション  
シークレットとシークレットのキーのどちらを定義する必要があるかを指定します。  
タイプ: ブール値  
必須: いいえ  
secretName  
シークレットの名前。名前は DNS サブドメイン名として許可されている必要があります。詳細については、「*Kubernetes ドキュメント*」の「[DNS サブドメイン名](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names)」を参照してください。  
タイプ: 文字列  
必須: はい

## プラットフォーム機能
<a name="job-definition-parameters-platform-capabilities"></a>

`platformCapabilities`  
ジョブ定義に必要なプラットフォーム機能。値が指定されていない場合、デフォルトは `EC2` になります。Fargate リソースで実行されるジョブの場合、`FARGATE` が指定されている。  
ジョブを Amazon EKS リソースで実行する場合は、`platformCapabilities` を指定してはならず、
タイプ: 文字列  
有効な値: `EC2` \$1 `FARGATE`  
必須: いいえ

## タグの伝播
<a name="job-definition-parameters-propagate-tags"></a>

`propagateTags`  
タグをジョブまたはジョブ定義から対応する Amazon ECS タスクに伝播するかどうかを指定します。値を指定しない場合、タグは伝播されません。タグは、タスクの作成時にのみタスクに伝播できます。同じ名前のタグの場合、ジョブタグはジョブ定義タグよりも優先されます。ジョブとジョブ定義から合わせたタグの合計数が 50 を超える場合、ジョブは `FAILED` 状態に移行します。  
ジョブを Amazon EKS リソースで実行する場合は、`propagateTags` を指定してはならず、
タイプ: ブール値  
必須: いいえ

## ノードプロパティ
<a name="nodeProperties"></a>

`nodeProperties`  
マルチノード並列ジョブ定義を登録する場合、ノードプロパティの一覧を指定する必要があります。これらのノード・プロパティは、ジョブで使用するノード数、メイン・ノード・インデックス、および使用する異なるノード範囲を定義します。ジョブを Fargate リソースで実行する場合は、`nodeProperties` を指定することはできません。代わりに `containerProperties` を使用してください。ジョブ定義では、以下のノードプロパティを使用できます。詳細については、[マルチノード並列ジョブ](multi-node-parallel-jobs.md)を参照してください。  
ジョブを Amazon EKS リソースで実行する場合は、`nodeProperties` を指定してはならず、
タイプ: [NodeProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_NodeProperties.html) オブジェクト  
必須: いいえ    
`mainNode`  
マルチノード並列ジョブの主要なノードにノードインデックスを指定します。このノードインデックス値は、ノード数未満である必要があります。  
タイプ: 整数  
必須: はい  
`numNodes`  
マルチノード並列ジョブに関連付けられたノードの数。  
タイプ: 整数  
必須: はい  
`nodeRangeProperties`  
マルチノード並列ジョブに関連付けられたノード範囲とそのプロパティの一覧。  
ノード・グループとは、すべて同じコンテナ・プロパティを共有するジョブ・ノードの同一グループです。AWS Batchを使用すると、各ジョブに最大5つの異なるノード・グループを指定できます。
タイプ: [NodeRangeProperty](https://docs.aws.amazon.com/batch/latest/APIReference/API_NodeRangeProperty.html) オブジェクトの配列  
必須: はい    
`targetNodes`  
ノードのインデックス値を使用したノードの範囲。`0:3` の範囲は、インデックス値が `0` から `3` のノードを示しています。開始範囲値が省略されている場合 (`:n`)、範囲の開始値に が使用されます。終了範囲値が省略されている場合 (`n:`)、範囲の終了値にはできるだけ高いノードインデックスが使用されます。累積ノード範囲は、すべてのノード (`0:n`) を考慮する必要があります。例えば、ノード範囲をネストできます。例: `0:10` および `4:5`。この場合は、`4:5` の範囲プロパティは、`0:10` プロパティを上書きします。  
タイプ: 文字列  
必須: いいえ  
`container`  
ノード範囲のコンテナの詳細。詳細については、[コンテナプロパティ](#containerProperties)を参照してください。  
タイプ: [ContainerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html) オブジェクト   
必須: いいえ

## 再試行戦略
<a name="retryStrategy"></a>

`retryStrategy`  
ジョブ定義の登録時に、オプションとして、このジョブ定義で送信したジョブが失敗したときの再試行戦略を指定できます。[SubmitJob]](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) オペレーション中に指定されたリトライ戦略は、ここで定義されたリトライ戦略を上書きします。デフォルトでは、各ジョブは 1 回試行されます。複数の試行を指定すると、ジョブが失敗した場合、ジョブが再試行されます。失敗の例としては、ジョブがゼロ以外の終了コードが返した場合やコンテナインスタンスが終了した場合が含まれます。詳細については、[ジョブの再試行の自動化](job_retries.md)を参照してください。  
タイプ: [RetryStrategy](https://docs.aws.amazon.com/batch/latest/APIReference/API_RetryStrategy.html) オブジェクト  
必須: いいえ    
`attempts`  
ジョブを `RUNNABLE` ステータスに移行する回数。1〜10 回の試行を指定できます。`attempts` の回数が 1 より大きい場合、ジョブは `RUNNABLE` に移行するまでにその回数内で再試行されます。  

```
"attempts": integer
```
タイプ: 整数  
必須: いいえ  
`evaluateOnExit`  
ジョブの再試行または失敗の条件を指定する最大5つのオブジェクトの配列。このパラメータを指定する場合は、`attempts` パラメータも指定する必要があります。`evaluateOnExit`を指定しても一致するエントリがない場合、ジョブは再試行されます。  

```
"evaluateOnExit": [
   {
      "action": "string",
      "onExitCode": "string",
      "onReason": "string",
      "onStatusReason": "string"
   }
]
```
タイプ: [EvaluateOnExit](https://docs.aws.amazon.com/batch/latest/APIReference/API_EvaluateOnExit.html) オブジェクトの配列  
必須: いいえ    
`action`  
指定された条件 (`onStatusReason`、`onReason` および `onExitCode`) がすべて満たされた場合に実行するアクションを指定します。値は大文字と小文字が区別されません。  
タイプ: 文字列  
必須: はい  
有効な値: `RETRY` \$1 `EXIT`  
`onExitCode`  
ジョブに対して返された `ExitCode` の10進表現と照合する glob パターンが含まれています。パターンの最大長は 512 文字です。数字のみを含めることができます。文字や特殊文字を含めることはできません。必要に応じて末尾をアスタリスク (\$1) にでき、文字列の先頭だけが完全に一致する必要があります。  
タイプ: 文字列  
必須: いいえ  
`onReason`  
ジョブに対して返された `Reason` と照合する glob パターンが含まれます。パターンの最大長は 512 文字です。文字、数字、ピリオド (.)、コロン (:)、および空白 (スペースまたはタブを含む) を含めることができます。必要に応じて末尾をアスタリスク (\$1) にでき、文字列の先頭だけが完全に一致する必要があります。  
タイプ: 文字列  
必須: いいえ  
`onStatusReason`  
ジョブに対して返された `StatusReason` と照合する glob パターンが含まれます。パターンの最大長は 512 文字です。文字、数字、ピリオド (.)、コロン (:)、および空白 (スペースまたはタブを含む) を含めることができます。必要に応じて末尾をアスタリスク (\$1) にでき、文字列の先頭だけが完全に一致する必要があります。  
タイプ: 文字列  
必須: いいえ

## スケジューリング優先順位
<a name="job-definition-parameters-schedulingPriority"></a>

`schedulingPriority`  
このジョブ定義で投入されるジョブのスケジューリング優先度。これは、公平配分ポリシーが適用されたジョブキュー内のジョブにのみ影響します。スケジューリング優先度が高いジョブは、スケジューリング優先度の低いジョブの前にスケジュールされます。  
サポートされている最小値は 0 で、サポートされている最大値は 9999 です。  
タイプ: 整数  
必須: いいえ

## タグ
<a name="job-definition-parameters-tags"></a>

`tags`  
ジョブ定義に関連付けるキーバリューペアのタグ。詳細については、[AWS Batch リソースのタグ付け](using-tags.md)を参照してください。  
型: 文字列間のマッピング  
必須: いいえ

## タイムアウト
<a name="timeout"></a>

`timeout`  
この期間を超えてジョブが実行されると AWS Batch でジョブが終了するように、ジョブのタイムアウト期間を設定できます。詳細については、[ジョブのタイムアウト](job_timeouts.md)を参照してください。タイムアウトによりジョブが終了した場合、再試行は行われない。[SubmitJob](https://docs.aws.amazon.com/batch/latest/APIReference/API_SubmitJob.html) オペレーション時にタイムアウト設定を指定した場合は、ここで定義されているタイムアウト設定が上書きされます。詳細については、[ジョブのタイムアウト](job_timeouts.md)を参照してください。  
タイプ: [JobTimeout](https://docs.aws.amazon.com/batch/latest/APIReference/API_JobTimeout.html) オブジェクト  
必須: いいえ    
`attemptDurationSeconds`  
`startedAt` によって未終了のジョブが終了されるまでの時間 (秒) (ジョブ試行の AWS Batch タイムスタンプから計測)。タイムアウトの最小値は 60 秒です。  
配列ジョブの場合、タイムアウトは親配列ジョブではなく子ジョブに適用されます。  
マルチノード並列 (MNP) ジョブの場合、タイムアウトは、ジョブ全体に適用され、個々のノードには適用されません。  
タイプ: 整数  
必須: いいえ