

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

# Amazon ECS マネージドインスタンスでジョブ定義を作成する
<a name="create-job-definition-ecs-managed-instances"></a>

Amazon ECS Managed Instances ジョブ定義は、 `MANAGED_INSTANCES`プラットフォーム機能`ecsProperties`で を使用します。Fargate とは異なり、vCPU とメモリサイズの組み合わせに制限はなく、GPU リソースがサポートされています。サポートされているパラメータの詳細については、「」を参照してください[Amazon ECS マネージドインスタンスのジョブ定義](ecs-managed-instances-job-definitions.md)。

## Amazon ECS マネージドインスタンスでのジョブ定義の作成 (コンソール)
<a name="create-jd-ecs-managed-instances-console"></a>

**Amazon ECS マネージドインスタンスで新しいジョブ定義を作成するには:**

1. [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/) で AWS Batch コンソールを開きます。

1. 上部のナビゲーションバーから、 AWS リージョン 使用する を選択します。

1. 左側のナビゲーションペインで **ジョブ定義** を選択します。

1. **[作成]** を選択します。

1. **オーケストレーションタイプ**で、**ECS マネージドインスタンス**を選択します。

1. **名前** に、一意のジョブ定義名を入力します。名前の最大長は 128 文字です。大文字、小文字、数字、ハイフン(-)、アンダースコア(\_) を含めることができます。

1. (オプション) **実行タイムアウト** で、タイムアウト値 (秒単位) を入力します。実行タイムアウトは、未完了のジョブが終了するまでの時間です。試行時間がこの秒数を超過すると、試行は停止し、`FAILED` ステータスに移行します。詳細については、[ジョブのタイムアウト](job_timeouts.md)を参照してください。最小値は 60 秒です。

1. **実行ロール**で、ユーザーに代わって AWS API コールを行うアクセス許可を Amazon ECS コンテナエージェントに付与する IAM ロールを選択します。このロールは、Amazon ECS マネージドインスタンスジョブに必要です。例えば、 ロールは Amazon ECR からコンテナイメージをプルするために使用されます。

1. **コンテナの設定** セクションで次の操作を行います。

   1. Image には****、ジョブに使用するコンテナイメージを入力します。Amazon ECR レジストリ内のイメージは`{{repository-url}}/{{image}}:{{tag}}`、命名規則で指定できます。パブリックレジストリ内のイメージは、完全な URI (例: `public.ecr.aws/amazonlinux/amazonlinux:2023`) を使用します。

   1. **コマンド** には、コンテナに渡すコマンドを入力します。

   1. **[vCPU]** で、コンテナ用に予約する vCPU の数を指定します。

   1. **Memory** には、コンテナで使用できるメモリ制限 (MiB 単位) を指定します。

   1. (オプション) **GPUs**、コンテナで使用する GPU デバイスの数を指定します。コンピューティング環境には GPU インスタンスが使用可能である必要があります。

1. (オプション) **タグ** を展開し、**タグを追加** を選択してリソースにタグを追加します。**タグを伝達** をオンにして、タグをジョブとジョブ定義から伝達することができます。

1. **[Create job definition]** (ジョブ定義の作成) を選択します。

## Amazon ECS マネージドインスタンスでのジョブ定義の作成 (AWS CLI)
<a name="create-jd-ecs-managed-instances-cli"></a>

`register-job-definition` コマンドを使用して、Amazon ECS マネージドインスタンスのジョブ定義を作成します。

### 基本的な の例
<a name="create-jd-ecs-managed-instances-cli-basic"></a>

次の例では、シンプルなコマンドを実行する最小限のジョブ定義を作成します。

```
$ aws batch register-job-definition \
    --job-definition-name {{my-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 ジョブ定義
<a name="create-jd-ecs-managed-instances-cli-gpu"></a>

次の例では、GPU リソースをリクエストするジョブ定義を作成します。

```
$ aws batch register-job-definition \
    --job-definition-name {{my-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}}"
      }]
    }'
```

### マルチコンテナ (サイドカー) ジョブ定義
<a name="create-jd-ecs-managed-instances-cli-sidecar"></a>

次の例では、メインコンテナとサイドカーログ記録コンテナを使用してジョブ定義を作成します。

```
$ aws batch register-job-definition \
    --job-definition-name {{my-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}}"
      }]
    }'
```