

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

# `AWS-RunPacker`
<a name="automation-aws-runpacker"></a>

 **Description** 

 此 Runbook 使用 HashiCorp [Packer](https://www.packer.io/) 工具來驗證、修正或建置用於建立機器映像的套件範本。此 Runbook 使用 Packer v1.11.2。

**注意**  
 如果您指定 `vpc_id` 值，也必須指定公用子網路的 `subnet_id` 值。除非您修改子網路的 IPv4 公用定址屬性，否則您也必須將 `associate_public_ip_address` 設定為 true。

**重要**  
Packer 佈建器會在暫時 EC2 執行個體上使用根層級權限執行。撰寫 Packer 範本時，請遵循最低權限實務。避免授予佈建器存取敏感執行個體中繼資料或本機登入資料檔案的權限。如果您已將其他政策新增至[預設主機管理組態](https://docs.aws.amazon.com/systems-manager/latest/userguide/fleet-manager-default-host-management-configuration.html)所使用的 IAM 角色，請注意執行個體上以根身分執行的任何程序都可以存取這些擴充的許可。檢閱您的 Packer 範本，以確保它們只包含信任的命令。

 [執行此自動化 （主控台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-RunPacker) 

**文件類型**

 自動化

**擁有者**

Amazon

**平台**

Linux、macOS、 Windows

**參數**
+ AutomationAssumeRole

  類型：字串

  描述：（選用） 允許 Systems Manager Automation 代表您執行動作的 (IAM) 角色的 AWS Identity and Access Management Amazon Resource Name (ARN)。如果未指定角色，Systems Manager Automation 會使用啟動此 Runbook 之使用者的許可。
+ Force

  類型：布林值

  描述：一個 Packer 選項，以強制建置器在成品來自舊版建置時執行，否則防止建置執行。
+ Mode

  類型：字串

   描述：對範本進行驗證時要使用 Packer 的模式或命令。選項包括 `Build` 、 `Validate` 和 `Fix` 。
+ TemplateFileName

  類型：字串

  描述：S3 儲存貯體中範本檔案的名稱或鍵。
+ TemplateS3BucketName

  類型：字串

  描述：包含套件程式範本的 S3 儲存貯體名稱。

 **文件步驟** 

RunPackerProcessTemplate – 使用 Packer 工具針對範本執行選取的模式。

 **輸出** 

RunPackerProcessTemplate.output – Packer 工具中的 stdout。

RunPackerProcessTemplate.fixed\$1template\$1key – 存放在 S3 儲存貯體中的範本名稱，僅在「固定」模式下執行時使用。

RunPackerProcessTemplate.s3\$1bucket – S3 儲存貯體的名稱，其中包含僅在「固定」模式下執行時使用的固定範本。