

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

# Amazon ECS マネージドインスタンスのコンピューティング環境
<a name="ecs-managed-instances-compute-environments"></a>

AWS Batch Amazon ECS マネージドインスタンスの コンピューティング環境は、 内で`managedInstancesProvider`設定ブロックを使用します`computeResources`。この構造は Amazon ECS キャパシティープロバイダーモデルと一致し、自己完結型です。すべてのネットワーク、インスタンスプロファイル、インスタンス選択設定は、このブロック内にあります。

次のリストでは、Amazon ECS Managed Instances コンピューティング環境のコンピューティング環境パラメータについて説明します。

`type` (最上位)  
`MANAGED` を指定してください。  

```
"type": "MANAGED"
```

`computeResources.type`  
`ECS_MANAGED_INSTANCES` を指定してください。Fargate や Amazon EC2 コンピューティング環境とは異なり、スポット容量は別のタイプとして表現されません (`ECS_MANAGED_INSTANCES_SPOT`タイプはありません）。代わりに、`capacityOptionType`内部`managedInstancesProvider.instanceLaunchTemplate`で を使用してオンデマンド容量またはスポット容量を指定します。  

```
"type": "ECS_MANAGED_INSTANCES"
```

`computeResources.maxvCpus`  
コンピューティング環境がスケーリングできる vCPUsの最大数。`maxvCpus` Fargate コンピューティング環境と同じように機能します。実行中のすべてのジョブで消費される vCPU の合計数を制限します。  
現在、 AWS Batch は、基盤となる Amazon EC2 インスタンスの合計 vCPUsではなく、実行中のジョブによってリクエストされた合計 vCPUs`maxvCpus`に基づいて評価されます。Amazon ECS マネージドインスタンスは、マルチテナントインスタンス割り当てを使用します。その結果、プロビジョニングされた実際のインスタンス vCPU 容量がジョブ vCPU の合計を超える可能性があります。コンピューティング環境は、`maxvCpus`値が意味するよりも多くのインスタンス容量をプロビジョニングする可能性があります。この動作は、今後の更新で改善される可能性があります。

`computeResources.managedInstancesProvider`  
Amazon ECS マネージドインスタンスのコンピューティング環境に必要です。すべての Amazon ECS マネージドインスタンス固有の設定が含まれます。詳細については、*Amazon Elastic Container Service API リファレンス*の[ManagedInstancesProvider](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ManagedInstancesProvider.html)」を参照してください。以下のフィールドが利用できます。    
`infrastructureRoleArn`  
必須。Amazon ECS がユーザーに代わって Amazon EC2 インスタンスを管理するために引き受ける IAM ロールの ARN。このロールには、 の信頼ポリシーが必要です`ecs.amazonaws.com`。IAM プリンシパルには、 条件を持つこのロールに対する`iam:PassRole`アクセス許可が必要です`iam:PassedToService: ecs.amazonaws.com`。  
`propagateTags`  
オプション。キャパシティープロバイダーのタグが、起動する Amazon EC2 インスタンスに伝播されるかどうかを制御します。有効な値は、`CAPACITY_PROVIDER` および `NONE` です。  
`instanceLaunchTemplate`  
必須。インスタンス起動設定が含まれます。    
`ec2InstanceProfileArn`  
必須。マネージドインスタンスの Amazon EC2 インスタンスプロファイルの ARN。このインスタンスプロファイルは、 の信頼ポリシーで `AmazonECSInstanceRolePolicyForManagedInstances`管理ポリシーを使用する必要があります`ec2.amazonaws.com`。  
`networkConfiguration`  
必須。マネージドインスタンスの VPC 設定を指定します。  
+ `subnets` — 必須。インスタンスが起動される VPC サブネット。インスタンスは、Amazon ECS サービスエンドポイントと通信するために外部ネットワークアクセスが必要です。サブネットがパブリック IP アドレスを提供していない場合は、アウトバウンドインターネットアクセス用の NAT ゲートウェイが必要です。
+ `securityGroups` — 必須。インスタンスに関連付ける VPC セキュリティグループ。  
`instanceRequirements`  
オプション。Amazon ECS が起動できる Amazon EC2 インスタンスタイプの制約を指定します。指定しない場合、使用可能なすべてのインスタンスタイプが対象になります。  
+ `allowedInstanceTypes` — 特定のインスタンスタイプまたはインスタンスファミリーのリスト (例: `m5.large`または `g5`)。指定すると、これらのインスタンスタイプのみが使用されます。  
`capacityOptionType`  
オプション。キャパシティ料金モデル。有効な値は、`ON_DEMAND` (デフォルト) と `SPOT` です。では`SPOT`、Amazon ECS がスポットインスタンスを起動します。これにより、耐障害性のあるワークロードのコストを大幅に削減できます。  
`storageConfiguration`  
オプション。インスタンスのルート EBS ボリュームを設定します。  
+ `storageSizeGiB` — GiB 単位のルートボリュームのサイズ。  
`monitoring`  
オプション。インスタンスの CloudWatch モニタリングのレベル。有効な値は、`BASIC` および `DETAILED` です。  
`fipsEnabled`  
オプション。に設定すると`true`、マネージドインスタンスで FIPS 140-2 コンプライアンスが有効になります。一部では使用できません AWS リージョン。  
`capacityReservations`  
オプション。オンデマンドキャパシティ予約 (ODCRs) をターゲットにして、予測可能なキャパシティの可用性を確保します。  
+ `reservationGroupArn` — ターゲットとするキャパシティ予約グループの ARN。
+ `reservationPreference` — キャパシティ予約の使用方法を制御します。有効な値は、 `RESERVATIONS_ONLY` (予約への起動のみ）、 `RESERVATIONS_FIRST` (予約を優先する、オンデマンドにフォールバックする）、 `RESERVATIONS_EXCLUDED` (予約を使用しない) です。  
`instanceMetadataTagsPropagation`  
オプション。マネージドインスタンスのインスタンスメタデータサービス (IMDS) からタグにアクセスできるかどうかを制御します。  
`localStorageConfiguration`  
オプション。マネージドインスタンスのローカルインスタンスストアボリューム (ローカル NVMe SSDs) を設定します。  
+ `useLocalStorage` — マネージドインスタンスで実行されているコンテナがインスタンスストアボリュームを使用できるかどうか。  
`infrastructureOptimization`  
オプション。Amazon ECS がアイドル状態のインスタンスを管理する方法を制御します。  
+ `scaleInAfter` — Amazon ECS が終了するまでにインスタンスをアイドル状態にする必要がある秒数。有効な値は、 `-1` (スケールインを無効にするため) または `0`–`3600` (終了までのアイドル時間の秒数) です。

`computeResources.capacityTags`  
オプション。コンピューティング環境によって管理される Amazon ECS キャパシティープロバイダーと Amazon EC2 インスタンスに適用するタグ。`ECS_MANAGED_INSTANCES` コンピューティング環境でのみ有効です。このフィールドを指定するには、IAM プリンシパルにコンピューティング環境リソースに対する`batch:SetCapacityTags`アクセス許可が必要です。詳細については、「[を使用してキャパシティタグへのアクセスを制御する `batch:SetCapacityTags`](capacity-tags-access-policy.md)」を参照してください。  
これらのタグは、コンピューティング環境リソース自体の最上位`tags`レベルとは別のものです。基盤となるインフラストラクチャリソースのコスト配分と整理`capacityTags`に使用します。

Amazon ECS マネージドインスタンスに適用されないパラメータ  
以下の`computeResources`パラメータは Amazon ECS Managed Instances コンピューティング環境では有効ではなく、指定しないでください。  
+ `allocationStrategy`
+ `bidPercentage`
+ `desiredvCpus`
+ `minvCpus`
+ `imageId`
+ `instanceTypes`
+ `instanceRole`
+ `ec2Configuration`
+ `ec2KeyPair`
+ `launchTemplate`
+ `placementGroup`
+ `spotIamFleetRole`
+ `subnets` (`managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnets`代わりに を使用)
+ `securityGroupIds` (`managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroups`代わりに を使用)

## Amazon ECS マネージドインスタンスのコンピューティング環境の更新
<a name="ecs-managed-instances-compute-environment-updates"></a>

コンピューティング環境タイプ、、`capacityOptionType`および を除くすべての Amazon ECS マネージドインスタンスコンピューティング環境属性を更新できます`fipsEnabled`。更新は、基盤となる Amazon ECS キャパシティープロバイダーにフロースルーされます。新しいインスタンスは、更新された設定を使用します。既存のインスタンスは、ジョブが完了するまで実行され続け、その後自然にドレインされます。

作成後に以下を変更することはできません。
+ コンピューティング環境タイプ (`ECS_MANAGED_INSTANCES``FARGATE`、`EC2`、またはその他のタイプに変更することはできません)
+ `capacityOptionType` — 作成後にオンデマンドとスポットを切り替えることはできません
+ `fipsEnabled` — 作成後に FIPS モードを変更することはできません

## 例
<a name="ecs-managed-instances-compute-environment-examples"></a>

### 最小設定
<a name="ecs-managed-instances-ce-example-minimal"></a>

次の例は、Amazon ECS マネージドインスタンスのコンピューティング環境を作成するために必要な最小設定を示しています。Amazon ECS は、使用可能なすべてのタイプからインスタンスタイプを自動的に選択します。

```
{
  "computeEnvironmentName": "my-managed-instances-ce",
  "type": "MANAGED",
  "state": "ENABLED",
  "computeResources": {
    "type": "ECS_MANAGED_INSTANCES",
    "maxvCpus": 256,
    "managedInstancesProvider": {
      "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
      "instanceLaunchTemplate": {
        "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
        "networkConfiguration": {
          "subnets": ["subnet-abcde012", "subnet-bcde012a"],
          "securityGroups": ["sg-abcde012"]
        }
      }
    }
  }
}
```

### 特定のインスタンスタイプの GPU ワークロード
<a name="ecs-managed-instances-ce-example-gpu"></a>

次の例では、機械学習ワークロードの NVIDIA GPU インスタンスタイプに制限されたコンピューティング環境を作成します。

```
{
  "computeEnvironmentName": "my-gpu-managed-instances-ce",
  "type": "MANAGED",
  "state": "ENABLED",
  "computeResources": {
    "type": "ECS_MANAGED_INSTANCES",
    "maxvCpus": 1000,
    "managedInstancesProvider": {
      "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
      "instanceLaunchTemplate": {
        "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
        "networkConfiguration": {
          "subnets": ["subnet-abcde012", "subnet-bcde012a"],
          "securityGroups": ["sg-abcde012"]
        },
        "instanceRequirements": {
          "allowedInstanceTypes": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"]
        },
        "capacityOptionType": "ON_DEMAND"
      }
    }
  }
}
```

### コスト重視のワークロードのスポット容量
<a name="ecs-managed-instances-ce-example-spot"></a>

次の例では、耐障害性バッチワークロード用の Spot-backed コンピューティング環境を作成します。

```
{
  "computeEnvironmentName": "my-spot-managed-instances-ce",
  "type": "MANAGED",
  "state": "ENABLED",
  "computeResources": {
    "type": "ECS_MANAGED_INSTANCES",
    "maxvCpus": 5000,
    "managedInstancesProvider": {
      "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole",
      "instanceLaunchTemplate": {
        "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile",
        "networkConfiguration": {
          "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"],
          "securityGroups": ["sg-abcde012"]
        },
        "instanceRequirements": {
          "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"]
        },
        "capacityOptionType": "SPOT",
        "storageConfiguration": {
          "storageSizeGiB": 100
        }
      }
    }
  }
}
```