本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立 CloudFormation 堆疊的變更集
若要為執行中的堆疊建立變更集,請提供修改過的範本、新的輸入參數值或兩者來提交您要進行的變更。 會比較堆疊與您提交的變更來 CloudFormation 產生變更集。
您可以在建立變更集之前或在建立變更集期間修改範本。
- Create a change set (console)
-
建立變更集
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在畫面頂端的導覽列上,選擇您的 AWS 區域。
-
在堆疊頁面上,選擇您要為其建立變更集的執行中堆疊。
-
在 stack details (堆疊詳細資訊) 窗格中,選擇 Stack actions (堆疊動作),然後選擇 Create change set for current stack (建立目前堆疊的變更集)。
-
在建立 頁面的變更集
stack-name
上,執行下列其中一項操作來修改輸入參數值、指定更新範本的位置,或修改範本:任務 動作 修改輸入參數值 選擇使用現有範本,然後選擇下一步以繼續輸入或修改輸入參數值。 指定更新的範本位置 如果您已修改範本,請選擇取代現有範本,然後執行下列其中一項操作:
-
對於存放在 Amazon S3 儲存貯體中的範本,選擇 Amazon S3 URL。輸入或貼上範本URL的 ,然後選擇下一步。
如果您在已啟用版本控制的儲存貯體中有範本,您可以透過附加
?versionId=
至 來指定範本的特定版本URL。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用已啟用版本控制之儲存貯體中的物件。version-id
-
針對存放在本機電腦上的範本,選擇 Upload a template file (上傳範本檔案)。選擇 Choose File (選擇檔案) 導覽至該檔案並選取它,然後選擇 Next (下一步)。
修改範本 如果您尚未修改範本,請選擇 Infrastructure Composer 中的編輯範本,然後選擇 Infrastructure Composer 中的編輯。您會重新導向到 AWS Infrastructure Composer。修改範本後,請選擇建立變更集,然後選擇確認並繼續 CloudFormation返回建立變更集以進行 stack-name
頁面,然後選擇下一步。 -
-
在指定堆疊詳細資訊頁面上,指定變更集的名稱,並選擇性地指定變更集的描述,以在概觀區段中識別其目的。如果您的範本包含參數,請在 Specify stack details (指定堆疊詳細資訊) 頁面上,輸入或修改合適的輸入參數值,然後選擇 Next (下一步)。
如果您重複使用堆疊的範本, 會將堆疊中的目前值 CloudFormation 填入每個參數,但使用
NoEcho
屬性宣告的參數除外。選取 Use existing value (使用現有的值),即可使用現有的參數值。如需使用
NoEcho
遮蔽敏感資訊,以及使用動態參數管理秘密的詳細資訊,請參閱請勿在您的範本中內嵌憑證最佳實務。 -
在設定堆疊選項頁面上,更新堆疊的標籤、IAM服務角色、堆疊政策、回復組態、Amazon SNS通知主題 (如適用) 或變更集。
注意
巢狀堆疊的變更集預設為 Enabled (啟用),這將會為範本中指定的所有巢狀堆疊建立變更集。若要僅為目前堆疊建立變更集,請選擇 Disabled (停用)。如需巢狀堆疊變更集的詳細資訊,請參閱巢狀堆疊變更集。
-
如果範本包含IAM資源,對於功能,請選擇我確認 CloudFormation 可能會建立IAM資源。 IAM 資源可以修改您 AWS 帳戶中的許可;檢閱這些資源,以確保您只允許您打算執行的動作。如需詳細資訊,請參閱認可 CloudFormation 範本中的 IAM 資源。
-
選擇 Next (下一步) 繼續。
-
在檢閱
stack-name
頁面上,檢閱此變更集的變更。 -
選擇提交。
您會被重新導向到變更集詳細資訊頁面的 Changes (變更) 標籤。當 CloudFormation 產生變更集時,變更集的狀態為
CREATE_PENDING
。建立變更集之後, CloudFormation 會將狀態設定為CREATE_COMPLETE
。在變更區段中, CloudFormation 列出它將對堆疊進行的所有變更。如需詳細資訊,請參閱檢視 CloudFormation 堆疊的變更集。選擇屬性層級變更欄中的檢視詳細資訊,以檢視在屬性層級所做的變更。
如果 CloudFormation 無法建立變更集 (報告
FAILED
狀態),請修正狀態欄位中顯示的錯誤,然後重新建立變更集。 -
在確認變更看起來正確之後,選擇執行變更集
- Create a change set for nested stacks (console)
-
為巢狀堆疊建立變更集
-
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在畫面頂端的導覽列上,選擇您的 AWS 區域。
-
在堆疊頁面上,選取您要為其建立變更集的執行中堆疊。
-
在 stack details (堆疊詳細資訊) 窗格中,選擇 Stack actions (堆疊動作),然後選擇 Create change set for current stack (建立目前堆疊的變更集)。
-
在建立 頁面的變更集
stack-name
上,執行下列其中一項操作來修改輸入參數值、指定更新範本的位置,或修改範本:任務 動作 修改輸入參數值 選擇使用現有範本,然後選擇下一步以繼續輸入或修改輸入參數值。 指定更新的範本位置 如果您已修改範本,請選擇取代現有範本,然後執行下列其中一項操作:
-
對於存放在 Amazon S3 儲存貯體中的範本,選擇 Amazon S3 URL。輸入或貼上範本URL的 ,然後選擇下一步。
如果您在已啟用版本控制的儲存貯體中有範本,您可以透過附加
?versionId=
至 來指定範本的特定版本URL。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用已啟用版本控制之儲存貯體中的物件。version-id
-
針對存放在本機電腦上的範本,選擇 Upload a template file (上傳範本檔案)。選擇 Choose File (選擇檔案) 導覽至該檔案並選取它,然後選擇 Next (下一步)。
修改範本 如果您尚未修改範本,請選擇 Infrastructure Composer 中的編輯範本,然後選擇 Infrastructure Composer 中的編輯。您會重新導向到 AWS Infrastructure Composer。修改範本後,請選擇建立變更集,然後選擇確認並繼續 CloudFormation返回建立變更集以進行 stack-name
頁面,然後選擇下一步。 -
-
在指定堆疊詳細資訊頁面上,指定變更集的名稱,並選擇性地指定變更集的描述,以在概觀區段中識別其目的。如果您的範本包含參數,請在 Specify stack details (指定堆疊詳細資訊) 頁面上,輸入或修改合適的輸入參數值,然後選擇 Next (下一步)。
如果您重複使用堆疊的範本, 會將堆疊中的目前值 CloudFormation 填入每個參數,但使用
NoEcho
屬性宣告的參數除外。選取 Use existing value (使用現有的值),即可使用現有的參數值。如需使用
NoEcho
遮蔽敏感資訊,以及使用動態參數管理秘密的詳細資訊,請參閱請勿在您的範本中內嵌憑證最佳實務。 -
在設定堆疊選項頁面上,更新堆疊的標籤、IAM服務角色、堆疊政策、回復組態、Amazon SNS通知主題 (如適用) 或變更集。
注意
巢狀堆疊的變更集預設為 Enabled (啟用),這將會為範本中指定的所有巢狀堆疊建立變更集。如需巢狀堆疊變更集的詳細資訊,請參閱 巢狀堆疊變更集。
-
如果範本包含IAM資源,對於功能,請選擇我確認 CloudFormation 可能會建立IAM資源。 IAM 資源可以修改您 AWS 帳戶中的許可;檢閱這些資源,以確保您只允許您打算執行的動作。如需詳細資訊,請參閱認可 CloudFormation 範本中的 IAM 資源。
-
選擇 Next (下一步) 繼續。
-
在檢閱
stack-name
頁面上,檢閱此變更集的變更。 -
選擇提交。
注意
CloudFormation 當您為巢狀堆疊建立變更集時, 屬性層級變更集不會解析跨堆疊參考。如果變更集參考父堆疊的輸出,且父堆疊已修改,則變更集可以標記子堆疊中的資源以進行條件式取代
您會被重新導向到變更集詳細資訊頁面的 Changes (變更) 標籤。當 CloudFormation 產生變更集時,變更集的狀態為
CREATE_PENDING
。建立變更集之後, CloudFormation 會將狀態設定為CREATE_COMPLETE
。在變更區段中, CloudFormation 列出它將對堆疊進行的所有變更。如需詳細資訊,請參閱檢視 CloudFormation 堆疊的變更集。如果 CloudFormation 無法建立變更集 (報告
FAILED
狀態),請修正狀態欄位中顯示的錯誤,然後重新建立變更集。 -
確認變更看起來正確後,選擇執行變更集
-
建立變更集 (AWS CLI)
-
執行 create-change-set 命令。
您能夠以命令選項的形式來提交變更,亦能指定新的參數值、修改後的範本,或同時指定兩者。例如,以下命令將為
SampleChangeSet
堆疊建立SampleStack
變更集。該變更集會使用目前的堆疊範本,但Purpose
參數將具備不同值:aws cloudformation create-change-set \ --stack-name
arn:aws:cloudformation:us-east-1:123456789012:stack/SampleStack/1a2345b6-0000-00a0-a123-00abc0abc000
\ --change-set-nameSampleChangeSet
--use-previous-template \ --parameters \ParameterKey="InstanceType",UsePreviousValue=true ParameterKey="KeyPairName",UsePreviousValue=true ParameterKey="Purpose",ParameterValue="production"