

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

# 使用 Amazon EC2 啟動範本，來控制啟動 Amazon EC2 執行個體
<a name="use-launch-templates-to-control-launching-instances"></a>

您可以指定使用者僅在使用啟動範本時才能啟動執行個體，以及指定使用者只能使用特定的啟動範本，藉此控制 Amazon EC2 執行個體的組態。您也可以控制哪些人員可以建立、修改、描述與刪除啟動範本和啟動範本版本。

## 使用啟動範本控制啟動參數
<a name="launch-templates-authorization"></a>

啟動範本可以包含在啟動時設定執行個體的所有或部分參數。不過，當您使用啟動範本啟動執行個體時，可以覆寫啟動範本中指定的參數。或者，您可以指定啟動範本中沒有的其他參數。

**注意**  
您無法在啟動期間移除啟動範本參數 (例如，您無法為參數指定 null 值)。若要移除參數，請在沒有參數的情況下建立新版本的啟動範本，並使用該版本來啟動執行個體。

若要啟動執行個體，使用者必須具備使用 `ec2:RunInstances` 動作的許可。使用者也必須具備許可，才能建立或使用由該執行個體所建立或與其相關聯的資源。您可以使用 `ec2:RunInstances` 動作上的資源層級許可，以控制使用者可指定的啟動參數。或者，您可以將使用啟動範本啟動執行個體的許可授予使用者。這可讓您在啟動範本中 (而非在 IAM 政策中) 管理啟動參數，而且可讓您使用啟動範本做為啟動執行個體的授權媒介。例如，您可以指定使用者只能使用啟動範本來啟動執行個體，而且使用者只能使用特定的啟動範本。您也可以控制使用者能在啟動範本中覆寫的啟動參數。如需範例政策，請參閱 [啟動範本](ExamplePolicies_EC2.md#iam-example-runinstances-launch-templates)。

## 控制啟動範本的使用
<a name="launch-template-permissions"></a>

根據預設， 使用者不具使用啟動範本的許可。您可以建立使用者政策，授予使用者建立、修改、描述與刪除啟動範本和啟動範本版本的許可。您也可以將資源層級許可套用至一些啟動範本動作，藉以控制使用者將特定資源用於那些動作的能力。如需詳細資訊，請參閱下列範例政策：[範例：使用啟動範本](ExamplePolicies_EC2.md#iam-example-launch-templates)。

將使用 `ec2:CreateLaunchTemplate` 和 `ec2:CreateLaunchTemplateVersion` 動作的許可授予使用者時請小心。您無法使用資源層級許可來控制使用者在啟動範本中能指定的資源。若要限制用來啟動執行個體的資源，請確定您只將建立啟動範本和啟動範本版本的許可授予合適的管理員。

## 搭配 EC2 機群或 Spot 機群使用啟動範本時的重要安全考量
<a name="launch-template-security-ec2fleet-spotfleet"></a>

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

若要使用啟動範本，您必須授予使用者許可，以便建立、修改、描述和刪除啟動範本及啟動範本版本。透過控制對 `ec2:CreateLaunchTemplate` 和 `ec2:CreateLaunchTemplateVersion` 動作的存取權，您可以控制誰可以建立啟動範本和啟動範本版本。您也可以透過控制 `ec2:ModifyLaunchTemplate` 動作的存取權來控制可修改啟動範本的對象。

**重要**  
如果 EC2 機群或 Spot 機群設定為使用「最新」或「預設」啟動範本版本，則機群不會知道「最新」或「預設」稍後是否會變更為不同的啟動範本版本。當「最新」或「預設」使用不同的啟動範本版本時，Amazon EC2 在啟動新執行個體以滿足機群的目標容量時，不會重新檢查完成動作所需的許可。將許可授與可建立和管理啟動範本版本的使用者 (尤其是允許使用者變更「預設」啟動範本版本的 `ec2:ModifyLaunchTemplate` 動作) 時，請務必考量到這點。

透過授與使用者針對啟動範本 API 使用 EC2 動作的許可，如果使用者建立或更新 EC2 機群或 Spot 機群以指向含有執行個體設定檔 (IAM 角色的容器) 的不同啟動範本版本，則該使用者實際上也會獲得 `iam:PassRole` 許可。這表示使用者可能會更新啟動範本，以將 IAM 角色傳遞給執行個體 (即使執行個體沒有 `iam:PassRole` 許可)。如需詳細資訊和範例 IAM 政策，請參閱 *「IAM 使用者指南」* 中的 [利用 IAM 角色來授予許可給在 Amazon EC2 執行個體上執行的應用程式](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html)。

如需詳細資訊，請參閱[控制啟動範本的使用](#launch-template-permissions)及[範例：使用啟動範本](ExamplePolicies_EC2.md#iam-example-launch-templates)。