

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

# AMI 選択順序
<a name="ami-selection-order"></a>

AWS Batch は、次の優先順位を使用してコンピューティングリソースの Amazon マシンイメージ (AMI) を決定します。この順序を理解することで、コンピューティング環境に特定の AMI を AWS Batch 選択した理由を理解できます。

1. **起動テンプレートオーバーライド AMI** - 起動されたインスタンスの起動テンプレートオーバーライドにイメージがある場合、そのイメージが使用されます。

1. **コンピューティングリソースイメージ ID (非推奨)** - 設定されている場合、このコンピューティング環境 AMI が使用されます。*注: 非推奨のフィールド。代わりに ec2Configuration.imageIdOverride を使用してください。*

1. **EC2 設定イメージ ID オーバーライド** - 指定した場合、このフィールドのイメージが使用されます。

1. **起動テンプレート AMI** - コンピューティング環境にイメージに関連付けられた起動テンプレートがある場合、このイメージが使用されます。

1. **AWS default AMI** - 上記のいずれも設定されていない場合、 は ec2Configuration で指定された imageType に基づいてデフォルトの AMI AWS Batch を選択します。

**注記**  
ec2Configuration パラメータはオプションです。省略すると、 はコンピューティング環境で起動されたインスタンスタイプに基づいて、適切な ec2Configuration とデフォルトの AMI AWS Batch を自動的に選択します。

**注記**  
この AMI 選択順序は、Fargate コンピューティング環境には適用されません。

## AMI 選択の優先順位が最も高いものから低いものまで
<a name="ami-order"></a>

1. **起動テンプレートオーバーライド AMI** (最高優先順位)

   **API フィールド:** ターゲットインスタンスタイプ`overrides[].launchTemplateId`を含む

   **リファレンス:** [LaunchTemplateSpecification](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecification.html)

   テンプレートを上書きすると、特定のインスタンスタイプがターゲットになり、デフォルトの起動テンプレートよりも詳細な制御が可能になります。これらは、一致するインスタンスタイプの他のすべての AMI 仕様よりも優先されます。

   ```
   {
     "computeResources": {
       "launchTemplate": {
         "launchTemplateId": "lt-default",
         "overrides": [
           {
             "launchTemplateId": "lt-gpu-optimized",
             "targetInstanceTypes": ["p3.2xlarge", "g4dn.xlarge"]
           }
         ]
       }
     }
   }
   ```

1. **コンピューティングリソースイメージ ID**

   **API フィールド:** `computeResources.imageId`

   **リファレンス:** [CreateComputeEnvironment](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateComputeEnvironment.html)

   コンピューティング環境レベルで AMI を直接指定できます。これは、EC2 設定オーバーライドと起動テンプレート (オーバーライドテンプレートを除く) よりも優先されます。

   複数の EC2 設定 (例: `ECS_AL2023`および `ECS_AL2023_NVIDIA`) を持つコンピューティング環境では、ここで指定された AMI ID がすべての EC2 設定に使用されます。
**重要**  
`imageId` フィールドは廃止されました。`ec2Configuration.imageIdOverride` 代わりに を使用してください。

   ```
   {
     "computeResources": {
       "imageId": "ami-12345678",
       "instanceTypes": ["m5.large", "m5.xlarge"]
     }
   }
   ```

1. **EC2 設定イメージ ID の上書き**

   **API フィールド:** `computeResources.ec2Configuration[].imageIdOverride`

   **リファレンス:** [Ec2Configuration](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html)

   EC2 設定は、イメージタイプ固有のオーバーライドを提供します。この設定は、指定されたイメージタイプのデフォルトの AMI 選択と起動テンプレート AMI を上書きします。

   ```
   {
     "computeResources": {
       "ec2Configuration": [
         {
           "imageType": "ECS_AL2",
           "imageIdOverride": "ami-87654321"
         }
       ]
     }
   }
   ```

1. **テンプレート AMI を起動する**

   **API フィールド:** Amazon EC2 起動テンプレート`ImageId`の

   **リファレンス:** [で Amazon EC2 起動テンプレートを使用する AWS Batch](launch-templates.md)

   起動テンプレートで AMI を指定すると、デフォルトの AMI 選択よりも優先されますが、優先順位の設定が高いほど上書きされます。

   ```
   // EC2 Launch Template content
   {
     "LaunchTemplateName": "my-batch-template",
     "LaunchTemplateData": {
       "ImageId": "ami-12345678"
     }
   }
   ```

    AWS Batch 起動テンプレートによって参照されます。

   ```
   // Batch Launch Template content
   {
     "computeResources": {
       "launchTemplate": {
         "launchTemplateName": "my-batch-template",
         "version": "$Latest"
       }
     }
   }
   ```

1. **AWS デフォルトの AMI** (最も低い優先順位)

   **API フィールド:** によって決定 `computeResources.ec2Configuration[].imageType`

   **リファレンス:** [Ec2Configuration imageType](https://docs.aws.amazon.com/batch/latest/APIReference/API_Ec2Configuration.html)

   カスタム AMI が指定されていない場合、 はイメージタイプに基づいて、承認された最新の Amazon ECS 最適化 AMI AWS Batch を自動的に選択します。
**注記**  
`ec2Configuration` はオプションです。 が指定されていない場合、 `ec2Configuration`は適切なデフォルト AMI AWS Batch を選択します。

   ```
   {
     "computeResources": {
       "ec2Configuration": [
         {
           "imageType": "ECS_AL2023"
         }
       ]
     }
   }
   ```