Fargate でのJob 定義 - AWS Batch

Fargate でのJob 定義

AWS Fargate での AWS Batch ジョブは、使用可能なすべてのジョブ定義パラメータをサポートしているわけではありません。一部のパラメータはまったくサポートされていません。また、その他のパラメータはFargate ジョブでは異なる動作をします。

次のリストでは、Fargate ジョブで有効でないか、または制限されていないジョブ定義パラメータについて説明します。

platformCapabilities

FARGATE と指定する必要があります。

"platformCapabilities": [ "FARGATE" ]
type

container と指定する必要があります。

"type": "container"
containerPropertiesのパラメータ
executionRoleArn

Fargate リソースで実行されているジョブには指定する必要があります。詳細については、Amazon Elastic Container Service デベロッパーガイドタスク用の IAM ロールを参照してください。

"executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole"
fargatePlatformConfiguration

(オプション、Fargate ジョブ定義の場合のみ)。Fargate プラットフォームのバージョンを指定するか、最新のプラットフォームバージョンの場合は LATEST を指定します。platformVersion の可能な値はデフォルトで 1.3.01.4.0LATEST です。

"fargatePlatformConfiguration": { "platformVersion": "1.4.0" }
instanceType
ulimits

Fargate リソースで実行されているジョブには適用されません。

memory
vcpus

これらの設定は、resourceRequirements で指定する必要があります。

privileged

このパラメータを指定しないか、false を指定します。

"privileged": false
resourceRequirements

メモリと vCPU の要件は、サポートされている値を使用して指定する必要があります。GPU リソースは、Fargate リソースで実行されているジョブではサポートされていません。

GuardDuty Runtime Monitoring を使用する場合、GuardDuty セキュリティエージェントには多少のメモリオーバーヘッドがあります。したがって、メモリ制限には GuardDuty セキュリティエージェントのサイズを含める必要があります。GuardDuty セキュリティエージェントのメモリ制限については、「GuardDuty ユーザーガイド」の「CPU およびメモリ制限」を参照してください。ベストプラクティスの詳細については、「Amazon ECS 開発者ガイド」の「ランタイムモニタリングを有効にした後、Fargate タスクのメモリ不足エラーに対処するにはどうすればよいですか?」を参照してください。

"resourceRequirements": [ {"type": "MEMORY", "value": "512"}, {"type": "VCPU", "value": "0.25"} ]
linuxParameters のパラメータ
devices
maxSwap
sharedMemorySize
swappiness
tmpfs

Fargate リソースで実行されているジョブには適用されません。

logConfiguration のパラメータ
logDriver

awslogssplunk のみがサポートされています。詳細については、awslogs ログドライバーを使用するを参照してください。

networkConfiguration のメンバー
assignPublicIp

プライベートサブネットにインターネットへトラフィックを送るための NAT ゲートウェイが接続されていない場合、assignPublicIpENABLEDでなければなりません。詳細については、AWS Batch IAM 実行ロールを参照してください。