を使用してジョブ定義を作成する EcsProperties - AWS Batch

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

を使用してジョブ定義を作成する EcsProperties

AWS Batch ジョブ定義を使用するとEcsProperties、ハードウェア、センサー、3D 環境、その他のシミュレーションを別々のコンテナでモデル化できます。この機能を使用すると、ワークロードコンポーネントを論理的に整理し、メインアプリケーションから切り離すことができます。この機能は、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes サービス (Amazon EKS)、およびで使用できます。 AWS Batch AWS Fargate

ContainerPropertiesEcsPropertiesジョブ定義との比較

ユースケースに応じて、ContainerPropertiesEcsPropertiesまたはジョブ定義を使用することを選択できます。大まかに言うと、 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 データ型を使用する場合の主な相違点についてさらに概説します。

Amazon ECS 用のマルチコンテナジョブ定義

Amazon ECS のマルチコンテナ構造に対応するため、一部の API データ型は異なります。例えば、 などです

  • ecsPropertiescontainerProperties単一コンテナ定義と同じレベルです。詳細については、『AWS Batch API リファレンスガイド』EcsPropertiesのを参照してください。

  • taskPropertiesAmazon ECS タスクに定義されているプロパティが含まれています。詳細については、『AWS Batch API リファレンスガイド』EcsPropertiesのを参照してください。

  • containerscontainerProperties単一コンテナ定義と同様の情報が含まれています。主な違いは、最大 10 containers 個のコンテナを定義できることです。詳細については、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

  • initContainerseksPodPropertiesデータ型内で定義されます。これらはアプリケーションコンテナの前に実行され、常に最後まで実行され、次のコンテナが起動する前に正常に完了する必要があります。

    これらのコンテナは Amazon EKS コネクタエージェントに登録され、登録情報を Amazon Elastic Kubernetes Service バックエンドデータストアに保持します。initContainersオブジェクトは最大 10 個の要素を受け入れることができます。詳細については、KubernetesドキュメントのInitContainers」を参照してください。

    注記

    initContainersオブジェクトはジョブの開始時間に影響を与える可能性があります。initContainers実行に時間がかかる場合、STARTINGジョブは完了するまでその状態のままになります。

  • shareProcessNamespacePod 内のコンテナが同じプロセス名前空間を共有できるかどうかを示します。デフォルト値は false です。trueこれをに設定すると、同じ Pod にある他のコンテナ内のプロセスをコンテナが見たり通知したりできるようになります。

  • どのコンテナにも重要性があります。ジョブが成功するには、すべてのコンテナが正常に完了 (0 として終了) する必要があります。1 つのコンテナに障害が発生すると (0 以外で終了)、ジョブは失敗します。

eksPropertiesand 構造の詳細については、「EKSProperties RegisterJobDefinitionのリクエスト構文」を参照してください。