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.0
、1.4.0
、LATEST
です。"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
-
awslogs
とsplunk
のみがサポートされています。詳細については、awslogs ログドライバーを使用するを参照してください。
networkConfiguration
のメンバー-
assignPublicIp
-
プライベートサブネットにインターネットへトラフィックを送るための NAT ゲートウェイが接続されていない場合、
assignPublicIp
はENABLED
でなければなりません。詳細については、AWS Batch IAM 実行ロールを参照してください。