翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用してジョブ定義を作成する EcsProperties
AWS Batch ジョブ定義を使用するとEcsProperties
、ハードウェア、センサー、3D 環境、その他のシミュレーションを別々のコンテナでモデル化できます。この機能を使用すると、ワークロードコンポーネントを論理的に整理し、メインアプリケーションから切り離すことができます。この機能は、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes サービス (Amazon EKS)、およびで使用できます。 AWS Batch AWS Fargate
ContainerProperties
EcsProperties
ジョブ定義との比較
ユースケースに応じて、ContainerProperties
EcsProperties
またはジョブ定義を使用することを選択できます。大まかに言うと、 AWS Batch EcsProperties
でジョブを実行することは、を使用してジョブを実行するのと似ています。ContainerProperties
ContainerProperties
を使用する従来のジョブ定義構造は引き続きサポートされます。現在この構造を使用しているワークフローがある場合は、引き続き実行できます。
主な違いは、EcsProperties
ベース定義に対応するためにジョブ定義に新しいオブジェクトが追加されていることです。
たとえば、Amazon ECS と Fargate ContainerProperties
で使用するジョブ定義は次のような構造になっています。
{ "containerProperties": { ... "image": "my_ecr_image1", ... }, ... }
Amazon ECS と Fargate EcsProperties
で使用するジョブ定義の構造は次のとおりです。
{ "ecsProperties": { "taskProperties": [{ "containers": [ { ... "image": "my_ecr_image1", ... }, { ... "image": "my_ecr_image2", ... },
API の一般的な変更点 AWS Batch
以下に、EcsProperties
および EcsProperties
API データ型を使用する場合の主な相違点についてさらに概説します。
-
ContainerProperties
TaskContainerProperties
内で使用されるパラメータの多くは内にあります。例としては、command
、image
、privileged
、secrets
、などがありますusers
。それらはすべて内部にありますTaskContainerProperties。 -
TaskContainerProperties
パラメータの中には、レガシー構造と同等の機能を持たないものもあります。例としては、、、dependsOn
、essential
name
ipcMode
、などがあります。pidMode
詳細については、「」EcsTaskDetailsと「」を参照してくださいTaskContainerProperties。また、
ContainerProperties
パラメータの中には、構造内に同等のものや用途がないものもあります。EcsProperties
ではtaskProperties
、container
containers
がに置き換えられ、新しいオブジェクトは最大 10 個の要素を受け付けることができるようになりました。詳細については、「コンテナプロパティ」と「: container」を参照してくださいRegisterJobDefinition。EcsTaskProperties -
taskRoleArn
jobRoleArn
機能的にはと同等です。詳細については、「」taskRoleArn と「EcsTaskProperties:」を参照してくださいContainerProperties。jobRoleArn -
EcsProperties
構造には 1 ~ 10 個のコンテナを含めることができます。詳細については、「コンテナ」を参照してください。EcsTaskProperties -
taskProperties
と instanceTypes オブジェクトは配列ですが、現在受け入れられる要素は 1 つだけです。例:: タスクプロパティと:EcsPropertiesinstanceTypes。NodeRangeProperty
Amazon ECS 用のマルチコンテナジョブ定義
Amazon ECS のマルチコンテナ構造に対応するため、一部の API データ型は異なります。例えば、 などです
-
ecsProperties
containerProperties
単一コンテナ定義と同じレベルです。詳細については、『AWS Batch API リファレンスガイド』EcsPropertiesのを参照してください。 -
taskProperties
Amazon ECS タスクに定義されているプロパティが含まれています。詳細については、『AWS Batch API リファレンスガイド』EcsPropertiesのを参照してください。 -
containers
containerProperties
単一コンテナ定義と同様の情報が含まれています。主な違いは、最大 10containers
個のコンテナを定義できることです。詳細については、API TaskPropertiesAWS Batch リファレンスガイドの ECS: Containers を参照してください。 -
essential
パラメータは、コンテナがジョブにどのように影響するかを示します。ジョブを進めるには、すべての必須コンテナが正常に完了 (0 として終了) する必要があります。essentail とマークされたコンテナに障害が発生した (0 以外として終了する) と、ジョブは失敗します。true
デフォルト値はで、少なくとも 1 つのコンテナをとしてマークする必要があります。essential
詳細については、essential
API リファレンスガイドの「AWS Batch 」を参照してください。 -
dependsOn
パラメータを使用すると、コンテナの依存関係のリストを定義できます。詳細については、dependsOn
API リファレンスガイドの「AWS Batch 」を参照してください。注記
dependsOn
リストの複雑さと関連するコンテナランタイムは、ジョブの開始時間に影響する可能性があります。依存関係の実行に時間がかかる場合、STARTING
ジョブは完了するまでその状態のままになります。
ecsProperties
と構造の詳細については、「ECSProperties RegisterJobDefinitionのリクエスト構文」を参照してください。
Amazon EKS 用のマルチコンテナジョブ定義
Amazon EKS のマルチコンテナ構造に対応するため、一部の API データ型は異なります。例えば、 などです
-
name
はコンテナの一意の識別子です。このオブジェクトは 1 つのコンテナには必要ありませんが、Pod で複数のコンテナを定義する場合は必須です。name
が単一のコンテナに対して定義されていない場合は、デフォルトの名前であるが適用されます。default
-
initContainers
eksPodPropertiesデータ型内で定義されます。これらはアプリケーションコンテナの前に実行され、常に最後まで実行され、次のコンテナが起動する前に正常に完了する必要があります。これらのコンテナは Amazon EKS コネクタエージェントに登録され、登録情報を Amazon Elastic Kubernetes Service バックエンドデータストアに保持します。
initContainers
オブジェクトは最大 10 個の要素を受け入れることができます。詳細については、Kubernetesドキュメントの「InitContainers」を参照してください。 注記
initContainers
オブジェクトはジョブの開始時間に影響を与える可能性があります。initContainers
実行に時間がかかる場合、STARTING
ジョブは完了するまでその状態のままになります。 -
shareProcessNamespace
Pod 内のコンテナが同じプロセス名前空間を共有できるかどうかを示します。デフォルト値はfalse
です。true
これをに設定すると、同じ Pod にある他のコンテナ内のプロセスをコンテナが見たり通知したりできるようになります。 -
どのコンテナにも重要性があります。ジョブが成功するには、すべてのコンテナが正常に完了 (0 として終了) する必要があります。1 つのコンテナに障害が発生すると (0 以外で終了)、ジョブは失敗します。
eksProperties
and 構造の詳細については、「EKSProperties RegisterJobDefinitionのリクエスト構文」を参照してください。