

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用啟動範本啟動 EC2 執行個體
<a name="launch-instances-from-launch-template"></a>

Amazon EC2 啟動範本會存放執行個體啟動參數，如此您就不必在每次啟動執行個體時指定參數。

有數個執行個體啟動服務可以在啟動執行個體時選擇性地使用啟動範本，而對於如 EC2 機群的其他服務，則無法啟動執行個體，除非使用了啟動範本。此主題說明如何在使用 EC2 啟動執行個體精靈、Amazon EC2 Auto Scaling、EC2 機群和 Spot 機群啟動執行個體時使用啟動範本。

如需啟動範本 (包括如何建立啟動範本) 的詳細資訊，請參閱 [將執行個體啟動參數存放在 Amazon EC2 啟動範本中](ec2-launch-templates.md)。

**Topics**
+ [使用啟動範本啟動 Amazon EC2 執行個體](#launch-instance-from-launch-template)
+ [使用啟動範本在 Amazon EC2 Auto Scaling 群組中啟動執行個體](#launch-templates-as)
+ [使用啟動範本啟動 EC2 機群](#launch-templates-ec2-fleet)
+ [使用啟動範本啟動 Spot 機群](#launch-templates-spot-fleet)

## 使用啟動範本啟動 Amazon EC2 執行個體
<a name="launch-instance-from-launch-template"></a>

您可以使用啟動範本中所含的參數來啟動 Amazon EC2 執行個體。在選取啟動範本之後，但在啟動執行個體之前，您可以修改啟動參數。

使用啟動範本所啟動的執行個體會自動獲指派兩個具有索引鍵 `aws:ec2launchtemplate:id` 和 `aws:ec2launchtemplate:version` 的標籤。您無法移除或編輯這些標籤。

------
#### [ Console ]

**使用啟動範本啟動執行個體**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 使用以下其中一個選項來選取啟動範本：
   + 從 Amazon EC2 主控台儀表板中，選擇**啟動執行個體**旁的向下箭頭，選擇**從範本啟動執行個體**，然後針對**來源範本**，選取啟動範本。
   + 在導覽窗格中，選擇**啟動範本**，選取啟動範本，然後選擇**動作**、**從範本啟動執行個體**。

1. 對於 **Source template version (來源範本版本)**，請選取要使用的啟動範本版本。

1. (選用) 您可以修改任何啟動參數的值。如果您不修改值，則會使用啟動範本所定義的值。如果未在啟動範本中指定值，則會使用參數的預設值。

1. 在**摘要**面板中，針對**執行個體的數量**，指定要啟動的執行個體數量。

1. 選擇**啟動執行個體**。

   如果執行個體無法啟動或狀態立即進入 `terminated` 而非 `running`，請參閱[對 Amazon EC2 執行個體啟動問題進行疑難排解](troubleshooting-launch.md)。

------
#### [ AWS CLI ]

**從啟動範本啟動執行個體**
+ 使用 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令，並指定 `--launch-template` 參數。選擇指定要使用的啟動範本版本。如果您未指定版本，即使用預設版本。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}},Version={{1}}
  ```
+ 若要覆寫啟動範本參數，請在 [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 命令中指定參數。下列範例會覆寫啟動範本中指定的執行個體類型 (如果有的話)。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --instance-type {{t2.small}}
  ```
+ 如果您指定屬複雜結構一部分的巢狀參數，則會使用啟動範本中所指定的複雜結構以及您指定的其他巢狀參數，來啟動執行個體。

  在下列範例中，會使用 `{{Owner}}={{TeamA}}` 標籤以及啟動範本中指定的其他標籤，來啟動執行個體。如果啟動範本的現有標籤包含 `{{Owner}}` 索引鍵，則會將值取代為 `{{TeamA}}`。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --tag-specifications "ResourceType=instance,Tags=[{Key={{Owner}},Value={{TeamA}}}]"
  ```

  在下列範例中，會使用設備名稱為 {{`/dev/xvdb`}} 的磁碟區以及啟動範本中指定的其他區塊型設備映射，來啟動執行個體。如果啟動範本具有針對 {{`/dev/xvdb`}} 所定義的現有磁碟區，則會將其值取代為指定的值。

  ```
  aws ec2 run-instances \
      --launch-template LaunchTemplateId={{lt-0abcd290751193123}} \
      --block-device-mappings "DeviceName={{/dev/xvdb}},Ebs={VolumeSize={{20}},VolumeType={{gp2}}}"
  ```

如果執行個體無法啟動或狀態立即進入 `terminated` 而非 `running`，請參閱[對 Amazon EC2 執行個體啟動問題進行疑難排解](troubleshooting-launch.md)。

------
#### [ PowerShell ]

**使用 從啟動範本啟動執行個體 AWS Tools for PowerShell**
+ 使用 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) 命令，並指定 `-LaunchTemplate` 參數。選擇指定要使用的啟動範本版本。如果您未指定版本，即使用預設版本。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  )
  ```
+ 若要覆寫啟動範本參數，請在 [New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/Index.html) 命令中指定參數。下列範例會覆寫啟動範本中指定的執行個體類型 (如果有的話)。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}} `
      -LaunchTemplate (
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  )
  ```
+ 如果您指定屬複雜結構一部分的巢狀參數，則會使用啟動範本中所指定的複雜結構以及您指定的其他巢狀參數，來啟動執行個體。

  在下列範例中，會使用 `{{Owner}}={{TeamA}}` 標籤以及啟動範本中指定的其他標籤，來啟動執行個體。如果啟動範本的現有標籤包含 `{{Owner}}` 索引鍵，則會將值取代為 `{{TeamA}}`。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}}  `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
          } 
  ) `
      -TagSpecification ( 
          New-Object -TypeName Amazon.EC2.Model.TagSpecification -Property @{ 
              ResourceType = 'instance'; 
              Tags         = @( 
                  @{key = "{{Owner}}"; value = "{{TeamA}}" }, 
                  @{key = "{{Department}}"; value = "{{Operations}}" } 
              ) 
          } 
  )
  ```

  在下列範例中，會使用設備名稱為 {{`/dev/xvdb`}} 的磁碟區以及啟動範本中指定的其他區塊型設備映射，來啟動執行個體。如果啟動範本具有針對 {{`/dev/xvdb`}} 所定義的現有磁碟區，則會將其值取代為指定的值。

  ```
  Import-Module AWS.Tools.EC2
  New-EC2Instance `
      -InstanceType {{t4g.small}}  `
      -LaunchTemplate ( 
          New-Object -TypeName Amazon.EC2.Model.LaunchTemplateSpecification -Property @{ 
              LaunchTemplateId = '{{lt-0abcd290751193123}}'; 
              Version          = '{{4}}' 
      } 
  ) `
      -BlockDeviceMapping  ( 
          New-Object -TypeName Amazon.EC2.Model.BlockDeviceMapping -Property @{ 
              DeviceName = '{{/dev/xvdb}}'; 
              EBS        = ( 
                  New-Object -TypeName Amazon.EC2.Model.EbsBlockDevice -Property @{ 
                      VolumeSize = {{25}}; 
                      VolumeType = '{{gp3}}' 
                  } 
              ) 
          } 
  )
  ```

如果執行個體無法啟動或狀態立即進入 `terminated` 而非 `running`，請參閱[對 Amazon EC2 執行個體啟動問題進行疑難排解](troubleshooting-launch.md)。

------

## 使用啟動範本在 Amazon EC2 Auto Scaling 群組中啟動執行個體
<a name="launch-templates-as"></a>

您可以建立 Auto Scaling 群組，並指定要用於群組的啟動範本。Amazon EC2 Auto Scaling 在 Auto Scaling 群組中啟動執行個體時，會使用相關聯之啟動範本中定義的啟動參數。

在您可以使用啟動範本建立 Auto Scaling 群組之前，您必須先建立啟動範本，其中包含在 Auto Scaling 群組中啟動執行個體所需的參數。有些參數是必要的，例如 AMI 的 ID，而有些參數無法與 Auto Scaling 群組搭配使用。主控台提供指引，協助您建立可搭配 Amazon EC2 Auto Scaling 使用的範本。

**使用主控台搭配啟動範本建立 Auto Scaling 群組**
+ 如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的[使用啟動範本建立 Auto Scaling 群組]()。

**使用 建立或更新具有啟動範本的 Auto Scaling 群組 AWS CLI**
+ 使用 [create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) 或 [update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) 命令，並指定 `--launch-template` 參數。

如需詳細資訊，請參閱「Amazon EC2 Auto Scaling 使用者指南」**中的下列主題。
+ [為 Auto Scaling 群組建立啟動範本](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html)
+ [使用進階設定建立啟動範本](https://docs.aws.amazon.com/autoscaling/ec2/userguide/advanced-settings-for-your-launch-template.html)
+ [建立及管理 AWS Command Line Interface (AWS CLI) 啟動範本的範例](https://docs.aws.amazon.com/autoscaling/ec2/userguide/examples-launch-templates-aws-cli.html) – 提供顯示如何使用各種參數組合來建立啟動範本的範例。
+ [使用啟動範本建立 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-auto-scaling-groups-launch-template.html)
+ [更新 Auto Scaling 群組](https://docs.aws.amazon.com/autoscaling/ec2/userguide/update-auto-scaling-group.html)

## 使用啟動範本啟動 EC2 機群
<a name="launch-templates-ec2-fleet"></a>

建立 EC2 機群請求時，啟動範本是必要項目。當 Amazon EC2 滿足 EC2 Fleet 請求時，會使用相關聯之啟動範本中定義的啟動參數。您可以覆寫啟動範本中指定的部分參數。如需詳細資訊，請參閱[建立 EC2 Fleet](create-ec2-fleet.md)。

**使用 建立具有啟動範本的 EC2 機群 AWS CLI**
+ 使用 [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) 命令。使用 `--launch-template-configs` 參數指定啟動範本以及啟動範本的任何覆寫。

## 使用啟動範本啟動 Spot 機群
<a name="launch-templates-spot-fleet"></a>

**重要**  
Spot Fleet 使用沒有計劃投資的舊版 API。我們建議您改用 EC2 Fleet 或 Auto Scaling 群組。如需詳細資訊，請參閱[最好的機群方法是什麼？](which-fleet-method-to-use.md)。

建立 Spot 機群請求時，啟動範本是選用項目。如果您不使用啟動範本，可以手動指定啟動參數。若您使用啟動範本，則當 Amazon EC2 滿足 Spot 機群請求時，會使用相關聯啟動範本中定義的啟動參數。您可以覆寫啟動範本中指定的部分參數。如需詳細資訊，請參閱[建立 Spot 機群](create-spot-fleet.md)。

**使用啟動範本來建立 Spot 機群請求**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選擇 **Request Spot Instances (要求 Spot 執行個體)**。

1. 在 **Launch parameters** (啟動參數) 下，選擇 **Use a launch template** (使用啟動範本)。

1. 針對 **Launch template** (啟動範本)，選擇啟動範本，然後從右邊的欄位選擇啟動範本版本。

1. 透過在此畫面上選取不同的選項，設定 Spot 機群。如需選項的詳細資訊，請參閱 [使用已定義的參數建立 Spot 機群請求](create-spot-fleet.md#create-spot-fleet-advanced)。

1. 當您準備好建立 Spot 機群時，選擇 **Launch** (啟動)。

**使用啟動範本來建立 Spot 機群請求**
+ 使用 [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) 命令。使用 `LaunchTemplateConfigs` 參數指定啟動範本以及啟動範本的任何覆寫。