建立 RFC - AMS 進階使用者指南

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

建立 RFC

以下是 AMS 主控台中 RFC 建立程序的第一頁,其中開啟快速卡並啟用瀏覽變更類型

Quick create section with options for common AWS stack operations and access management.

以下是 AMS 主控台中 RFC 建立程序的第一頁,並啟用依類別選取

Create RFC page with change type categorization options for managed services environment.

運作方式:

  1. 導覽至建立 RFC 頁面:在 AMS 主控台的左側導覽窗格中,按一下 RFCs以開啟 RFCs清單頁面,然後按一下建立 RFC

  2. 在預設瀏覽變更類型檢視中選擇熱門的變更類型 (CT),或在依類別選擇檢視中選擇 CT。

    • 依變更類型瀏覽:您可以在快速建立區域中按一下熱門的 CT,以立即開啟執行 RFC 頁面。請注意,您無法透過快速建立選擇較舊的 CT 版本。

      若要排序 CTs,請使用卡片資料表檢視中的所有變更類型區域。在任一檢視中,選取 CT,然後按一下建立 RFC 以開啟執行 RFC 頁面。如果適用,建立較舊版本選項會顯示在建立 RFC 按鈕旁。

    • 依類別選擇:選取類別、子類別、項目和操作,如果適用,CT 詳細資訊方塊會開啟,其中包含使用較舊版本建立的選項。按一下建立 RFC 以開啟執行 RFC 頁面。

  3. 執行 RFC 頁面上,開啟 CT 名稱區域以查看 CT 詳細資訊方塊。需要主旨 (如果您在瀏覽變更類型檢視中選擇 CT,則會為您填入)。開啟其他組態區域以新增 RFC 的相關資訊。

    執行組態區域中,使用可用的下拉式清單或輸入必要參數的值。若要設定選用的執行參數,請開啟其他組態區域。

  4. 完成後,請按一下執行。如果沒有錯誤,RFC 成功建立的頁面會顯示已提交的 RFC 詳細資訊,以及初始的執行輸出

  5. 開啟執行參數區域以查看您提交的組態。重新整理頁面以更新 RFC 執行狀態。或者,取消 RFC 或使用頁面頂端的選項建立 RFC 的副本。

運作方式:

  1. 使用內嵌建立 (您發出包含所有 RFC 和執行參數的create-rfc命令) 或範本建立 (您建立兩個 JSON 檔案,一個用於 RFC 參數,另一個用於執行參數),並使用兩個檔案作為輸入發出create-rfc命令。此處說明這兩種方法。

  2. 使用傳回的 RFC ID 提交 RFC: aws amscm submit-rfc --rfc-id ID命令。

    監控 RFC: aws amscm get-rfc --rfc-id ID命令。

若要檢查變更類型版本,請使用下列命令:

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注意

您可以將任何CreateRfc參數與任何 RFC 搭配使用,無論它們是否為變更類型結構描述的一部分。例如,若要在 RFC 狀態變更時取得通知,請將此行新增至請求的 --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" RFC 參數部分 (而非執行參數)。如需所有 CreateRfc 參數的清單,請參閱 AMS 變更管理 API 參考

內嵌建立

使用內嵌提供的執行參數發出建立 RFC 命令 (在內嵌提供執行參數時逸出引號),然後提交傳回的 RFC ID。例如,您可以將內容取代為如下內容:

aws amscm create-rfc --change-type-id "CT_ID" --change-type-version "VERSION" --title "TITLE" --execution-parameters "{\"Description\": \"example\"}"

範本建立

注意

此建立 RFC 的範例使用Load Balancer (ELB) 堆疊變更類型。

  1. 尋找相關的 CT。下列命令會搜尋項目名稱中包含「ELB」的 CT 分類摘要,並以資料表形式建立類別、項目、操作和 ChangeTypeID 的輸出 (兩者的子類別都是 Advanced stack components)。

    aws amscm list-change-type-classification-summaries --query "ChangeTypeClassificationSummaries[?contains(Item,'ELB')].[Category,Item,Operation,ChangeTypeId]" --output table
    --------------------------------------------------------------------- | CtSummaries | +-----------+---------------------------+---------------------------+ | Deployment| Load balancer (ELB) stack | Create | ct-123h45t6uz7jl | | Management| Load balancer (ELB) stack | Update | ct-0ltm873rsebx9 | +-----------+---------------------------+---------------------------+
  2. 尋找最新版本的 CT:

    ChangeTypeIdChangeTypeVersion:此演練的變更類型 ID 為 ct-123h45t6uz7jl(建立 ELB),若要了解最新版本,請執行此命令:

    aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=ct-123h45t6uz7jl
  3. 了解選項和要求。下列命令會將結構描述輸出至名為 CreateElbParams.json.

    aws amscm get-change-type-version --change-type-id "ct-123h45t6uz7jl" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateElbParams.json
  4. 修改並儲存執行參數 JSON 檔案。此範例會命名檔案 CreateElbParams.json.

    對於佈建 CT,StackTemplateId 包含在結構描述中,並且必須在執行參數中提交。

    對於 TimeoutInMinutes,允許在 RFC 失敗之前建立堆疊的分鐘數,此設定不會延遲 RFC 執行,但您必須提供足夠的時間 (例如,不要指定 "5")。對於具有長時間執行 UserData CTs,有效值為「60」到「360」:建立 EC2 和建立 ASG。對於所有其他佈建 CTs,我們建議使用允許的「60」上限。

    提供您要建立堆疊的 VPC ID;您可以使用 CLI 命令 取得 VPC IDaws amsskms list-vpc-summaries

    { "Description": "ELB-Create-RFC", "VpcId": "VPC_ID", "StackTemplateId": "stm-sdhopv00000000000", "Name": "MyElbInstance", "TimeoutInMinutes": 60, "Parameters": { "ELBSubnetIds": ["SUBNET_ID"], "ELBHealthCheckHealthyThreshold": 4, "ELBHealthCheckInterval": 5, "ELBHealthCheckTarget": "HTTP:80/", "ELBHealthCheckTimeout": 60, "ELBHealthCheckUnhealthyThreshold": 5, "ELBScheme": false } }
  5. 將 RFC JSON 範本輸出到目前資料夾中名為 CreateElbRfc.json:

    aws amscm create-rfc --generate-cli-skeleton > CreateElbRfc.json
  6. 修改並儲存 CreateElbRfc.json 檔案。由於您在不同的檔案中建立執行參數,請移除該ExecutionParameters行。例如,您可以將內容取代為如下內容:

    { "ChangeTypeVersion": "2.0", "ChangeTypeId": "ct-123h45t6uz7jl", "Title": "Create ELB" }
  7. 建立 RFC。下列命令會指定執行參數檔案和 RFC 範本檔案:

    aws amscm create-rfc --cli-input-json file://CreateElbRfc.json --execution-parameters file://CreateElbParams.json

    您會在回應中收到新 RFC 的 ID,並且可以使用它來提交和監控 RFC。在您提交之前,RFC 會保持在編輯狀態,不會啟動。

注意

您可以使用 AMS API/CLI 來建立 RFC,而無需建立 RFC JSON 檔案或 CT 執行參數 JSON 檔案。若要這樣做,您可以使用 create-rfc命令並將所需的 RFC 和執行參數新增至命令,這稱為「內嵌建立」。請注意,所有佈建 CTs都包含在execution-parameters具有資源參數的Parameters陣列區塊中。參數必須具有以反斜線 (\) 逸出的引號。

另一個建立 RFC 的記錄方法稱為「範本建立」。您可以在此處為 RFC 參數建立 JSON 檔案,並為執行參數建立另一個 JSON 檔案,並使用 create-rfc命令提交這兩個檔案。這些檔案可以做為範本,並再次用於未來的 RFCs。

使用 範本建立 RFCs 時,您可以使用 命令,透過發出命令來建立具有所需內容的 JSON 檔案,如下所示。這些命令會使用顯示的內容建立名為 "parameters.json" 的檔案;您也可以使用這些命令來建立 RFC JSON 檔案。