翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon ECS マネージドインスタンスでジョブ定義を作成する
Amazon ECS Managed Instances ジョブ定義は、 MANAGED_INSTANCESプラットフォーム機能ecsPropertiesで を使用します。Fargate とは異なり、vCPU とメモリサイズの組み合わせに制限はなく、GPU リソースがサポートされています。サポートされているパラメータの詳細については、「」を参照してくださいAmazon ECS マネージドインスタンスのジョブ定義。
Amazon ECS マネージドインスタンスでのジョブ定義の作成 (コンソール)
Amazon ECS マネージドインスタンスで新しいジョブ定義を作成するには:
-
https://console.aws.amazon.com/batch/
で AWS Batch コンソールを開きます。 -
上部のナビゲーションバーから、 AWS リージョン 使用する を選択します。
-
左側のナビゲーションペインで ジョブ定義 を選択します。
-
[作成] を選択します。
-
オーケストレーションタイプで、ECS マネージドインスタンスを選択します。
-
名前 に、一意のジョブ定義名を入力します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン(-)、アンダースコア(_) を含めることができます。
-
(オプション) 実行タイムアウト で、タイムアウト値 (秒単位) を入力します。実行タイムアウトは、未完了のジョブが終了するまでの時間です。試行時間がこの秒数を超過すると、試行は停止し、
FAILEDステータスに移行します。詳細については、ジョブのタイムアウトを参照してください。最小値は 60 秒です。 -
実行ロールで、ユーザーに代わって AWS API コールを行うアクセス許可を Amazon ECS コンテナエージェントに付与する IAM ロールを選択します。このロールは、Amazon ECS マネージドインスタンスジョブに必要です。例えば、 ロールは Amazon ECR からコンテナイメージをプルするために使用されます。
-
コンテナの設定 セクションで次の操作を行います。
-
Image には、ジョブに使用するコンテナイメージを入力します。Amazon ECR レジストリ内のイメージは
、命名規則で指定できます。パブリックレジストリ内のイメージは、完全な URI (例:repository-url/image:tagpublic.ecr.aws/amazonlinux/amazonlinux:2023) を使用します。 -
コマンド には、コンテナに渡すコマンドを入力します。
-
[vCPU] で、コンテナ用に予約する vCPU の数を指定します。
-
Memory には、コンテナで使用できるメモリ制限 (MiB 単位) を指定します。
-
(オプション) GPUs、コンテナで使用する GPU デバイスの数を指定します。コンピューティング環境には GPU インスタンスが使用可能である必要があります。
-
-
(オプション) タグ を展開し、タグを追加 を選択してリソースにタグを追加します。タグを伝達 をオンにして、タグをジョブとジョブ定義から伝達することができます。
-
[Create job definition] (ジョブ定義の作成) を選択します。
Amazon ECS マネージドインスタンスでのジョブ定義の作成 (AWS CLI)
register-job-definition コマンドを使用して、Amazon ECS マネージドインスタンスのジョブ定義を作成します。
基本的な の例
次の例では、シンプルなコマンドを実行する最小限のジョブ定義を作成します。
$aws batch register-job-definition \ --job-definition-namemy-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "hello managed instances"], "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "1024"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'
GPU ジョブ定義
次の例では、GPU リソースをリクエストするジョブ定義を作成します。
$aws batch register-job-definition \ --job-definition-namemy-gpu-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/my-gpu-image:latest", "name": "main", "command": ["nvidia-smi"], "resourceRequirements": [ {"type": "VCPU", "value": "4"}, {"type": "MEMORY", "value": "16384"}, {"type": "GPU", "value": "1"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'
マルチコンテナ (サイドカー) ジョブ定義
次の例では、メインコンテナとサイドカーログ記録コンテナを使用してジョブ定義を作成します。
$aws batch register-job-definition \ --job-definition-namemy-sidecar-managed-instances-job-def\ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "processing data"], "essential": true, "resourceRequirements": [ {"type": "VCPU", "value": "2"}, {"type": "MEMORY", "value": "4096"} ] }, { "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "sidecar", "command": ["echo", "logging sidecar"], "essential": false, "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "512"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'