建立變更集 - AWS CloudFormation

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

建立變更集

若要為執行中的堆疊建立變更集,請提供修改過的範本、新的輸入參數值或兩者,以提交您要進行的變更。 CloudFormation 通過將堆棧與您提交的更改進行比較來生成更改集。

您可以在建立變更集之前或在建立變更集期間修改範本。

Create a change set for nested stacks (console)
建立巢狀堆疊的變更集 (主控台)
  1. CloudFormation 主控台的「堆」中,選擇您要為其建立變更集的執行堆疊。

  2. 在 stack details (堆疊詳細資訊) 窗格中,選擇 Stack actions (堆疊動作),然後選擇 Create change set for current stack (建立目前堆疊的變更集)

  3. 在 [建立變更集] 上 stack-name頁面上,執行下列其中一個動作來修改輸入參數值、指定更新範本的位置,或修改範本:

    任務 動作
    修改輸入參數值 選擇「使用現有樣板」,然後選擇「下一步」以繼續輸入或修改輸入參數值。
    指定更新的範本位置

    如果您已修改範本,請選擇「取代現有範本」,然後執行下列其中一個動作:

    • 對於存放在 Amazon S3 儲存貯體中的範本,請選擇 Amazon S3 URL。輸入或貼上範本URL的,然後選擇 [下一步]。

      如果您的範本位於已啟用版本控制的儲存貯體中,則您可以指定範本的特定版本,例如 https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的管理已啟用版本控制之儲存貯體中的物件

    • 針對存放在本機電腦上的範本,選擇 Upload a template file (上傳範本檔案)。選擇 Choose File (選擇檔案) 導覽至該檔案並選取它,然後選擇 Next (下一步)

    修改範本 如果您尚未修改範本,請在應用程式撰寫器中選擇 [編輯範本],然後選擇 [在應用程式撰寫器中編輯]。您會重新導向到 AWS 應用程式編寫器。修改範本後,請選擇 [建立變更集],然後選擇 [確認] 並 CloudFormation繼續返回 [建立變更集] stack-name頁面,然後選擇 [下一步]。
  4. 在「指定堆疊詳細資訊」頁面上,指定變更集的名稱,並選擇性地指定變更集的描述,以便在「概觀」段落中識別其用途。如果您的範本包含參數,請在 Specify stack details (指定堆疊詳細資訊) 頁面上,輸入或修改合適的輸入參數值,然後選擇 Next (下一步)

    如果您要重複使用堆棧的模板,則將堆棧中的當前值 CloudFormation 填充每個參數,但使用該屬性聲明的參數除外。NoEcho選取 Use existing value (使用現有的值),即可使用現有的參數值。

    如需有關使用NoEcho遮罩敏感資訊以及使用動態參數來管理密碼的詳細資訊,請參閱最請勿在您的範本中內嵌憑證佳做法。

  5. 在 [設定堆疊選項] 頁面上,更新堆疊的標籤、IAM服務角色、堆疊政策、回復組態、Amazon SNS 通知主題 (如果適用) 或變更集,然後選擇 [下一步]。

    注意

    巢狀堆疊的變更集預設為 Enabled (啟用),這將會為範本中指定的所有巢狀堆疊建立變更集。如需巢狀堆疊之變更集的詳細資訊,請參閱巢狀堆疊變更集

  6. 關於檢stack-name」頁面上,檢閱此變更集的變更。

    如果範本包含 AWS Identity and Access Management (IAM) 資源,請選取 [我確認 CloudFormation 可能會建立IAM資源]。IAM資源可以修改您 AWS 帳戶中的權限;請檢閱這些資源,以確保您只允許執行您想要的動作。如需詳細資訊,請參閱控制存取 AWS Identity and Access Management

  7. 選擇提交

    您會被重新導向到變更集詳細資訊頁面的 Changes (變更) 標籤。當 CloudFormation 生成變更集時,變更集的狀態為 CREATE_ PENDING。建立變更集之後,請將狀態 CloudFormation 設定為 CREATE_ COMPLETE。在「變更」區段中, CloudFormation 列出它將對堆疊進行的所有變更。如需詳細資訊,請參閱檢視變更集

    如果 CloudFormation 無法建立變更集 (報告FAILED狀態),請修正「狀態」欄位中顯示的錯誤,然後重新建立變更集。

  8. 確認變更看起來正確後,請選擇「執行變更集

Create a change set (console)
建立變更集 (主控台)
  1. CloudFormation 主控台的「堆」中,選擇您要為其建立變更集的執行堆疊。

  2. 在 stack details (堆疊詳細資訊) 窗格中,選擇 Stack actions (堆疊動作),然後選擇 Create change set for current stack (建立目前堆疊的變更集)

  3. 在 [建立變更集] 上 stack-name頁面上,執行下列其中一個動作來修改輸入參數值、指定更新範本的位置,或修改範本:

    任務 動作
    修改輸入參數值 選擇「使用現有樣板」,然後選擇「下一步」以繼續輸入或修改輸入參數值。
    指定更新的範本位置

    如果您已修改範本,請選擇「取代現有範本」,然後執行下列其中一個動作:

    • 對於存放在 Amazon S3 儲存貯體中的範本,請選擇 Amazon S3 URL。輸入或貼上範本URL的,然後選擇 [下一步]。

      如果您的範本位於已啟用版本控制的儲存貯體中,則您可以指定範本的特定版本,例如 https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的管理已啟用版本控制之儲存貯體中的物件

    • 針對存放在本機電腦上的範本,選擇 Upload a template file (上傳範本檔案)。選擇 Choose File (選擇檔案) 導覽至該檔案並選取它,然後選擇 Next (下一步)

    修改範本 如果您尚未修改範本,請在應用程式撰寫器中選擇 [編輯範本],然後選擇 [在應用程式撰寫器中編輯]。您會重新導向到 AWS 應用程式編寫器。修改範本後,請選擇 [建立變更集],然後選擇 [確認] 並 CloudFormation繼續返回 [建立變更集] stack-name頁面,然後選擇 [下一步]。
  4. 在「指定堆疊詳細資訊」頁面上,指定變更集的名稱,並選擇性地指定變更集的描述,以便在「概觀」段落中識別其用途。如果您的範本包含參數,請在 Specify stack details (指定堆疊詳細資訊) 頁面上,輸入或修改合適的輸入參數值,然後選擇 Next (下一步)

    如果您要重複使用堆棧的模板,則將堆棧中的當前值 CloudFormation 填充每個參數,但使用該屬性聲明的參數除外。NoEcho選取 Use existing value (使用現有的值),即可使用現有的參數值。

    如需有關使用遮罩敏感資訊NoEcho以及使用動態參數來管理密碼的詳細資訊,請參閱最請勿在您的範本中內嵌憑證佳做法。

  5. 在 [設定堆疊選項] 頁面上,更新堆疊的標籤、IAM服務角色、堆疊政策、回復組態、Amazon SNS 通知主題 (如果適用) 或變更集,然後選擇 [下一步]。

    注意

    巢狀堆疊的變更集預設為 Enabled (啟用),這將會為範本中指定的所有巢狀堆疊建立變更集。若要僅為目前堆疊建立變更集,請選擇 Disabled (停用)。如需巢狀堆疊之變更集的詳細資訊,請參閱巢狀堆疊變更集

  6. 關於檢stack-name」頁面上,檢閱此變更集的變更。

    如果範本包含 AWS Identity and Access Management (IAM) 資源,請選取 [我確認 CloudFormation 可能會建立IAM資源]。IAM資源可以修改您 AWS 帳戶中的權限;請檢閱這些資源,以確保您只允許執行您想要的動作。如需詳細資訊,請參閱控制存取 AWS Identity and Access Management

  7. 選擇提交

    您會被重新導向到變更集詳細資訊頁面的 Changes (變更) 標籤。當 CloudFormation 生成變更集時,變更集的狀態為 CREATE_ PENDING。建立變更集之後,請將狀態 CloudFormation 設定為 CREATE_ COMPLETE。在「變更」區段中, CloudFormation 列出它將對堆疊進行的所有變更。如需詳細資訊,請參閱檢視變更集

    在「內容層級變更」欄中選擇「檢視詳細資料」,以檢視在屬性層級所做的變更。

    如果 CloudFormation 無法建立變更集 (報告FAILED狀態),請修正「狀態」欄位中顯示的錯誤,然後重新建立變更集。

  8. 確認變更看起來正確後,請選擇「執行變更集

建立變更集 (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-name SampleChangeSet --use-previous-template \ --parameters \ ParameterKey="InstanceType",UsePreviousValue=true ParameterKey="KeyPairName",UsePreviousValue=true ParameterKey="Purpose",ParameterValue="production"