本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Image Builder 建立自訂元件
完成元件文件後,您可以使用它來建立 Image Builder 配方可以使用的自訂元件。您可以從 Image Builder 主控台、 API或 SDKs或 命令列建立自訂元件。如需如何使用輸入參數建立自訂元件並在配方中使用它的詳細資訊,請參閱 教學課程:使用輸入參數建立自訂元件。
下列各節說明如何從主控台或 建立元件 AWS CLI。
從主控台建立自訂元件
若要從 Image Builder 主控台建立 AWS TOE 應用程式元件,請遵循下列步驟:
-
在 開啟 EC2 Image Builder 主控台https://console.aws.amazon.com/imagebuilder/
。 -
從導覽窗格中選取元件。然後選取建立元件 。
-
在建立元件頁面上的元件詳細資訊 下,輸入下列內容:
-
映像作業系統 (OS)。指定元件相容的作業系統。
-
元件類別 。從下拉式清單中選取您要建立的建置或測試元件類型。
-
元件名稱 。輸入元件的名稱。
-
元件版本 。輸入元件的版本號碼。
-
描述。提供選用的描述,協助您識別元件。
-
變更描述 。提供選用的描述,協助您了解此版本的元件所做的變更。
-
-
在定義文件區段中,預設選項為定義文件內容 。元件文件定義 Image Builder 在建置和測試執行個體上執行的動作,以建立映像。
在內容方塊中,輸入您的YAML元件文件內容。若要從 Linux 的 Hello World 範例開始,請選擇使用範例選項。若要進一步了解如何建立YAML元件文件,或從該頁面複製和貼上 UpdateOS 範例,請參閱 在 Image Builder 中建立自訂YAML元件的元件文件。
-
輸入元件詳細資訊後,選取建立元件 。
注意
若要在建立或更新配方時查看您的新元件,請將我的擁有篩選條件套用至建置或測試元件清單。篩選條件位於元件清單頂端,搜尋方塊旁。
-
若要刪除元件,請在元件頁面中,選取您要刪除元件旁的核取方塊。從動作下拉式清單中,選取刪除元件 。
更新元件
若要建立新的元件版本,請遵循下列步驟:
-
取決於您從何處開始:
-
從元件清單頁面 – 選取元件名稱旁的核取方塊,然後從動作功能表中選取建立新版本。
-
從元件詳細資訊頁面 – 選擇標題右上角的建立新版本按鈕。
-
-
顯示建立元件頁面時,元件資訊已填入目前的值。請依照建立元件步驟來更新元件。這可確保您在元件版本 中輸入唯一的語義版本。若要進一步了解 Image Builder 資源的語意版本控制,請參閱 Image Builder 中的語意版本控制。
從 建立自訂元件 AWS CLI
在本節中,您將了解如何在 中設定和使用 Image Builder 命令 AWS CLI 來建立 AWS TOE 應用程式元件,如下所示。
-
將YAML元件文件上傳至 S3 儲存貯體,您可以從命令列參考。
-
使用 create-component命令建立 AWS TOE 應用程式元件。
-
使用 list-components命令和名稱篩選條件列出元件版本,以查看已存在的版本。您可以使用 輸出來判斷更新應該使用的下一個版本。
若要從輸入YAML文件建立 AWS TOE 應用程式元件,請遵循符合您映像作業系統平台的步驟。
AWS TOE 從 更新元件版本控制 AWS CLI
AWS TOE 元件名稱和版本內嵌在元件字首後面的 Amazon Resource Name (ARN) 中。每個新版本的元件都有自己的唯一 ARN。建立新版本的步驟與建立新元件的步驟完全相同,只要語意版本對於該元件名稱是唯一的。若要進一步了解 Image Builder 資源的語意版本控制,請參閱 Image Builder 中的語意版本控制。
為確保您指派下一個邏輯版本,請先取得要變更之元件的現有版本清單。將 list-components命令與 搭配使用 AWS CLI,並在名稱上進行篩選。
在此範例中,您可以篩選您在先前 Linux 範例中建立的元件名稱。若要列出您建立的元件,請使用您在create-component命令中使用的JSON檔案的 name
參數值。
aws imagebuilder list-components --filters name="name",values="
update-linux-os
"{ "requestId": "123a4567-b890-123c-45d6-ef789ab0cd1e", "componentVersionList": [ { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.0", "name": "update-linux-os", "version": "1.0.0", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2020-09-24T16:58:24.444Z" }, { "arn": "arn:aws:imagebuilder:us-west-2:1234560087789012:component/update-linux-os/1.0.1", "name": "update-linux-os", "version": "1.0.1", "platform": "Linux", "type": "BUILD", "owner": "123456789012", "dateCreated": "2021-07-10T03:38:46.091Z" } ] }
根據您的結果,您可以判斷下一個版本應該是什麼。
匯入指令碼以從 建立元件 AWS CLI
對於某些案例,從預先存在的指令碼開始可能更容易。在此案例中,您可以使用下列範例。
此範例假設您有名為
(如圖所示) 的檔案。請注意, 檔案會直接參考名為 import-component.json
AdminConfig.ps1
的 PowerShell 指令碼,該指令碼已上傳至
。目前 amzn-s3-demo-source-bucket
SHELL
支援元件 format
。
{ "name": "
MyImportedComponent
", "semanticVersion": "1.0.0", "description": "An example of how to import a component
", "changeDescription": "First commit message.
", "format": "SHELL", "platform": "Windows", "type": "BUILD", "uri": "s3://amzn-s3-demo-source-bucket
/AdminConfig.ps1
", "kmsKeyId": "arn:aws:kms:us-west-:key/
2:123456789012
60763706-b131-418b-8f85-3420912f020c
" }
若要從匯入的指令碼建立元件,請執行下列命令。
aws imagebuilder import-component --cli-input-json file://
import-component.json