本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudFormation 範本的堆疊 | 更新
更新 CFN 堆疊的範本和/或參數。若要僅更新現有堆疊中的參數,不需要修改後的 CFN 範本,可以改為提供修改過的參數。會覆寫現有參數的值,並新增新參數的值。若要新增、刪除或修改資源,或變更未透過參數參考的屬性,請使用修改過的 CFN 範本。如果更新會導致堆疊中的資源遭到取代或移除,RFC 失敗,並且需要透過「核准 ChangeSet 和更新 CloudFormation 堆疊」CT (ct-1404e21baa2ox) 進行核准。
完整分類:管理 | 自訂堆疊 | CloudFormation 範本的堆疊 | 更新
變更類型詳細資訊
變更類型 ID |
ct-361tlo1k7339x |
目前版本 |
2.0 |
預期的執行持續時間 |
360 分鐘 |
AWS 核准 |
必要 |
客戶核准 |
非必要 |
執行模式 |
自動化 |
其他資訊
更新 CloudFormation 擷取堆疊
使用主控台更新 CloudFormation 擷取堆疊
導覽至建立 RFC 頁面:在 AMS 主控台的左側導覽窗格中,按一下 RFCs以開啟 RFCs清單頁面,然後按一下建立 RFC。
在預設瀏覽變更類型檢視中選擇熱門的變更類型 (CT),或在依類別選擇檢視中選擇 CT。
依變更類型瀏覽:您可以在快速建立區域中按一下熱門的 CT,以立即開啟執行 RFC 頁面。請注意,您無法透過快速建立選擇較舊的 CT 版本。
若要排序 CTs,請使用卡片或資料表檢視中的所有變更類型區域。在任一檢視中,選取 CT,然後按一下建立 RFC 以開啟執行 RFC 頁面。如果適用,建立較舊版本選項會顯示在建立 RFC 按鈕旁。
依類別選擇:選取類別、子類別、項目和操作,如果適用,CT 詳細資訊方塊會開啟,其中包含使用較舊版本建立的選項。按一下建立 RFC 以開啟執行 RFC 頁面。
在執行 RFC 頁面上,開啟 CT 名稱區域以查看 CT 詳細資訊方塊。需要主旨 (如果您在瀏覽變更類型檢視中選擇 CT,則會為您填入)。開啟其他組態區域以新增 RFC 的相關資訊。
在執行組態區域中,使用可用的下拉式清單或輸入必要參數的值。若要設定選用的執行參數,請開啟其他組態區域。
完成後,請按一下執行。如果沒有錯誤,RFC 成功建立的頁面會顯示已提交的 RFC 詳細資訊,以及初始的執行輸出。
開啟執行參數區域以查看您提交的組態。重新整理頁面以更新 RFC 執行狀態。或者,取消 RFC 或使用頁面頂端的選項建立 RFC 的副本。
使用 CLI 更新 CloudFormation 擷取堆疊
使用內嵌建立 (您發出包含所有 RFC 和執行參數的
create-rfc命令) 或範本建立 (您建立兩個 JSON 檔案,一個用於 RFC 參數,另一個用於執行參數),並使用兩個檔案作為輸入發出create-rfc命令。此處說明這兩種方法。使用傳回的 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 參考。
準備您要用來更新堆疊的 CloudFormation 範本,並將其上傳至 S3 儲存貯體。如需重要詳細資訊,請參閱 AWS CloudFormation 擷取準則、最佳實務和限制。
建立 RFC 並將其提交至 AMS:
建立並儲存執行參數 JSON 檔案,包括您想要的 CloudFormation 範本參數。此範例將其命名為 UpdateCfnParams.json.
具有內嵌參數更新的範例 UpdateCfnParams.json 檔案:
{ "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplate": "{\"AWSTemplateFormatVersion\":\"2010-09-09\",\"Description\":\"Create a SNS topic\",\"Parameters\":{\"TopicName\":{\"Type\":\"String\"},\"DisplayName\":{\"Type\":\"String\"}},\"Resources\":{\"SnsTopic\":{\"Type\":\"AWS::SNS::Topic\",\"Properties\":{\"TopicName\":{\"Ref\":\"TopicName\"},\"DisplayName\":{\"Ref\":\"DisplayName\"}}}}}", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes": 1440 }包含更新 CloudFormation 範本之 S3 儲存貯體端點的 UpdateCfnParams.json 檔案範例:
{ "StackId": "stack-yjjoo9aicjyqw4ro2", "VpcId": "VPC_ID", "CloudFormationTemplateS3Endpoint": "s3_url", "TemplateParameters": [ { "Key": "TopicName", "Value": "TopicNameCLI" }, { "Key": "DisplayName", "Value": "DisplayNameCLI" } ], "TimeoutInMinutes":1080}
使用下列內容建立並儲存 RFC 參數 JSON 檔案。此範例會將其命名為 UpdateCfnRfc.json 檔案。
{ "ChangeTypeId": "ct-361tlo1k7339x", "ChangeTypeVersion": "1.0", "Title": "cfn-ingest-template-update" }建立 RFC,指定 UpdateCfnRfc 檔案和 UpdateCfnParams 檔案:
aws amscm create-rfc --cli-input-json file://UpdateCfnRfc.json --execution-parameters file://UpdateCfnParams.json您會在回應中收到新 RFC 的 ID,並且可以使用它來提交和監控 RFC。在您提交之前,RFC 會保持在編輯狀態,不會啟動。
此變更類型現在位於 2.0 版。變更包括移除此 CT 1.0 版中使用的 AutoApproveUpdateForResources 參數,以及新增兩個新參數:AutoApproveRiskyUpdates 和 BypassDriftCheck。
如果 S3 儲存貯體存在於 AMS 帳戶中,您必須使用此命令的 AMS 登入資料。例如,您可能需要在取得 AMS AWS Security Token Service (AWS STS) 登入資料
--profile saml後附加 。CloudFormation 範本中資源的所有
Parameter值都必須具有值,無論是透過預設值,或是透過 CT 的參數區段自訂值。您可以透過建構 CloudFormation 範本資源來參考參數金鑰來覆寫參數值。如需示範執行方式的範例,請參閱 CloudFormation 擷取堆疊:CFN 驗證器範例。重要:缺少未明確以 格式提供的參數,預設為現有堆疊或範本上目前設定的值。
如需您可以使用 CloudFormation Ingest 新增哪些自行佈建服務的清單,請參閱 CloudFormation Ingest Stack:支援的資源。
若要進一步了解 CloudFormation,請參閱 AWS Cloud Formation
。
範本經過驗證,以確保可以在 AMS 帳戶中建立。如果通過驗證,則會更新為包含符合 AMS 所需的任何資源或組態。這包括新增 資源,例如 Amazon CloudWatch 警示,以允許 AMS Operations 監控堆疊。
如果以下任何一項成立,RFC 會遭到拒絕:
RFC JSON 語法不正確或不遵循指定的格式。
提供的 S3 儲存貯體預先簽章 URL 無效。
範本不是有效的 CloudFormation 語法。
範本未針對所有參數值設定預設值。
範本未通過 AMS 驗證。如需 AMS 驗證步驟,請參閱本主題稍後的資訊。
如果 CloudFormation 堆疊因為資源建立問題而無法建立,RFC 會失敗。
若要進一步了解 CFN 驗證和驗證程式,請參閱範本驗證和 CloudFormation 擷取堆疊:CFN 驗證程式範例。
執行輸入參數
如需執行輸入參數的詳細資訊,請參閱 變更類型的結構描述 ct-361tlo1k7339x。
範例:必要參數
{ "StackId": "stack-kiwonebfnadq08sol", "VpcId": "vpc-01234567890abcdef", "TimeoutInMinutes": 360 }
範例:所有參數
Example not available.