從 CloudFormation 主控台建立堆疊 - AWS CloudFormation

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

從 CloudFormation 主控台建立堆疊

您可以建立堆疊範本,然後使用它來使用 CloudFormation 主控台或命令列工具來建立堆疊。主控台提供精靈驅動的界面與預先定義的選項,可簡化堆疊建立程序。

建立堆疊

請依照本節中的步驟部署您的範本並建立堆疊。

先決條件
建立堆疊 (主控台)
  1. 在 https://https://console.aws.amazon.com/cloudformation 開啟 AWS CloudFormation 主控台。

  2. 在畫面頂端的導覽列上,選擇要在其中 AWS 區域 建立堆疊的 。

  3. 堆疊頁面上,選擇右上角的建立堆疊,然後選擇使用新資源 (標準)

    或者,您可以選擇使用現有資源 (匯入資源) 選項,以匯入範本中描述的現有 AWS 資源。如需此選項的詳細資訊,請參閱 使用 AWS 資源匯入將資源匯入 CloudFormation 堆疊

  4. 建立堆疊頁面上,執行下列其中一項操作:

    • 若要使用現有範本,請針對先決條件 - 準備範本,選擇選擇現有範本。然後,在指定範本下,根據範本的位置選擇 Amazon S3 URL上傳範本檔案

      • 如果您選擇 Amazon S3 URL,請將 URL 提供給 S3 儲存貯體中的範本檔案。

        如果您的範本包含巢狀堆疊 (例如,位於子目錄中的其他範本文件中所述的堆疊),請確定 S3 儲存貯體包含必要的檔案和目錄。

        如果您擁有已啟用版本控制的儲存貯體中的範本,您可以透過附加?versionId=version-id到 URL 來指定範本的特定版本。如需啟用版本控制之儲存貯體的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用已啟用版本控制之儲存貯體中的物件

        URL 必須指向大小上限為 1 MB 的範本,該範本存放在您具有讀取許可的 S3 儲存貯體內。URL 長度上限為 1024 個字元。部分資源可能要求在堆疊所在的相同區域內有儲存貯體。

      • 如果您選擇上傳範本檔案,請選擇選擇檔案,從本機電腦選擇範本檔案。範本檔案大小必須為 1 MB 或以下。

        一旦選擇範本,CloudFormation 就會上傳該檔案,並顯示 S3 URL。CloudFormation 會將其上傳至您 中的 Amazon S3 儲存貯體 AWS 帳戶。如果您已有 CloudFormation 在 中建立的 S3 儲存貯體 AWS 帳戶,CloudFormation 會將範本新增至該儲存貯體。如果您還沒有現有的 CloudFormation 建立儲存貯體,它會為您上傳範本檔案的每個區域建立唯一的儲存貯體。

        以下是使用 CloudFormation 建立的 S3 儲存貯體時的考量事項:

    • 如果您尚未準備好範本,可以選擇從 Infrastructure Composer 建置,以使用 Infrastructure Composer 建立範本。如需詳細資訊,請參閱Infrastructure Composer

  5. 選擇下一步以繼續並驗證範本。

    在繼續之前,CloudFormation 會驗證您的範本以擷取語法和一些語意錯誤,例如循環相依性。在驗證期間,CloudFormation 會先檢查範本是否為有效的 JSON。如果不是,CloudFormation 會檢查範本是否為有效的 YAML。如果兩種檢查都失敗,則 CloudFormation 會傳回範本驗證錯誤。

  6. Specify stack details (指定堆疊詳細資訊) 頁面的 Stack name (堆疊名稱) 方塊中,輸入堆疊名稱。

    堆疊名稱是一個識別碼,可協助您從堆疊清單中找到特定堆疊。堆疊名稱只能包含英數字元 (區分大小寫) 和連字號。必須以字母字元開頭,且長度不可超過 128 個字元。

  7. 參數區段中,為範本中定義的參數指定值。

  8. 選擇下一步以繼續建立堆疊。

  9. (選用) 在設定堆疊選項頁面上,變更預設堆疊選項。如需詳細資訊,請參閱設定堆疊選項

  10. 如果您的範本包含 IAM 資源,對於功能,請選擇我確認此範本可能會建立 IAM 資源,以指定您想要在範本中使用 IAM 資源。如需詳細資訊,請參閱確認 CloudFormation 範本中的 IAM 資源

  11. 選擇 Next (下一步) 繼續。

  12. 檢閱和建立頁面上,檢閱堆疊的詳細資訊。

    若要在啟動堆疊之前變更任何值,請在具有您要變更之設定的部分上選擇編輯

  13. (選用) 您可以建立變更集,以在建立堆疊之前預覽堆疊的組態。在檢閱和建立頁面上,選擇建立變更集並遵循指示。如需詳細資訊,請參閱預覽堆疊的組態

  14. 選擇提交以啟動您的堆疊。

然後CloudFormation 會繼續建立範本中定義的所有資源。

您可以在新堆疊的事件索引標籤上監控堆疊建立的進度和狀態。如需詳細資訊,請參閱監控堆疊進度

使用命令列建立堆疊

您可以使用下列其中一項命令:

如需使用命令列建立堆疊的範例,請參閱 AWS CLI 和 PowerShell 的 CloudFormation 堆疊操作命令範例

設定堆疊選項

設定堆疊選項頁面上,您可以為 CloudFormation 堆疊設定選項,例如標籤、堆疊事件通知或堆疊政策。

您可以設定下列堆疊選項:

Tags (標籤)

您最多可以將 50 個標籤金鑰對新增至您的堆疊,以及 CloudFormation 支援標記的任何資源。標籤是客戶定義的索引鍵和值,可指派給 AWS 資源,用於成本追蹤等用途。

Key (金鑰) 會包含任何英數字元或空格。而標籤金鑰的長度最多可達 127 個字元。

Value (數值) 會包含任何英數字元或空格。而標籤值的長度最多可達 255 個字元。

許可

CloudFormation 可擔任的現有 IAM 服務角色。CloudFormation 會使用該角色的憑證來建立堆疊,而非採用您帳戶的憑證。如需詳細資訊,請參閱AWS CloudFormation 服務角色

堆疊失敗選項

為所有堆疊部署和變更集操作指定佈建失敗選項。如需詳細資訊,請參閱選擇佈建資源時如何處理失敗

堆疊狀態為 CREATE_FAILEDUPDATE_FAILED 時,Roll back all stack resources (復原所有堆疊資源) 選項將復原範本中指定的所有資源。

針對建立操作,Preserve successfully provisioned resources (保留已成功佈建的資源) 選項可保留成功資源的狀態,而失敗的資源會保持失敗狀態,直到執行下一次更新操作為止。

針對更新與變更集操作,Preserve successfully provisioned resources (保留已成功佈建的資源) 選項可保留成功資源的狀態,同時將失敗資源復原到上一個已知穩定狀態。失敗的資源將處於 UPDATE_FAILED 狀態。沒有上一個已知穩定狀態的資源將在下一次堆疊操作時遭刪除。

您也可以針對堆疊建立設定以下進階選項:

Stack policy (堆疊政策)

可藉由此選項來定義堆疊更新期間,您欲避免意外更新的資源。在預設情況下,系統可以在堆疊更新期間將所有資源進行更新。

您可以直接輸入堆疊政策作為 JSON,或上傳包含堆疊政策的 JSON 檔案。如需詳細資訊,請參閱避免更新堆疊資源

復原組態

您可以在堆疊建立和更新期間讓 CloudFormation 監控堆疊的狀態,並在堆疊違反您指定的任何警示閾值時復原該操作。指定 CloudFormation 應該監控的 Cloudwatch 警示。如有任何警示在堆疊操作或監控期間進入 ALARM 狀態,CloudFormation 將會復原整個堆疊操作。如需詳細資訊,請參閱使用復原觸發在警示違規時復原 CloudFormation 堆疊

通知選項

您可指定新的或現有 Amazon Simple Notification Service 主題,其為系統傳送堆疊事件通知的目標位置。

建立 Amazon SNS 主題時,您必須指定名稱與電子郵件地址,以便接收堆疊事件通知。

堆疊建立選項

堆疊建立包含以下選項,但不提供為堆疊更新的一部分。

Timeout (逾時)

指定在堆疊建立操作逾時之前 CloudFormation 應分配的時間量 (以分鐘為單位)。如果 CloudFormation 無法在分配的時間內建立整個堆疊,操作便會因為逾時而失敗,並復原堆疊。

依預設,堆疊建立沒有逾時。不過,個別資源可能會因其實作的服務性質而有自己的逾時。例如,如果堆疊中的個別資源逾時,堆疊建立也會逾時,即使尚未達到您指定的堆疊建立逾時。

終止保護

此選項可防止堆疊遭意外刪除。如果使用者嘗試刪除啟用終止保護的堆疊,則刪除會失敗,且堆疊及其狀態保持不變。如需詳細資訊,請參閱防止 CloudFormation 堆疊遭到刪除

根據預設,終止保護為 Disabled (已停用)

預覽堆疊的組態

若要預覽如何在建立堆疊之前設定 CloudFormation 堆疊,請建立變更集。本功能可以讓您在執行變更集前檢查各種組態,並針對堆疊進行修正與更改。如需變更集的詳細資訊,請參閱使用變更集更新 CloudFormation 堆疊

建立新堆疊的變更集

若要建立新堆疊的變更集,請選取您的堆疊範本並指定堆疊組態,就像建立新堆疊一樣,然後選擇建立新的變更集,而不是建立新的堆疊。

為新堆疊建立變更集
  1. 檢閱和建立頁面上,選擇建立變更集

  2. 建立變更集對話方塊中,輸入變更集的名稱,並視需要輸入描述。選擇 Create change set (建立變更集)

    當您建立新堆疊的變更集時,CloudFormation 會執行下列動作:

    • 啟動狀態為 REVIEW_IN_PROGRESS (正在檢閱) 的新堆疊。

    • 建立新堆疊的變更集,此堆疊會反映您在前列步驟中指定的堆疊組態。

    CloudFormation 會顯示提議堆疊的 Change sets (變更集) 頁面。當 CloudFormation 建立變更集時,其狀態為 CREATE_IN_PROGRESS (正在建立),執行狀態為 UNAVAILABLE (無法使用)。CloudFormation 成功建立變更集時,其會將變更集狀態設定為 CREATE_COMPLETE,並將執行狀態設定為 AVAILABLE。堆疊狀態更新為 REVIEW_IN_PROGRESS (正在檢閱)。此時,您可以執行變更集來完成建立新堆疊。

    Changes (變更) 窗格中,CloudFormation 會顯示堆疊的建議組態。

    如果 CloudFormation 無法建立變更集,它會將變更集狀態設為 CREATE_FAILED (建立失敗)。修正 Status reason (狀態原因) 欄位中顯示的錯誤,然後建立新的變更集。在此階段,您可以嘗試在執行下一個變更集前檢查各種組態,並針對堆疊進行修正與更改。

  3. 若要根據變更集完成建立新堆疊,請選擇 Execute (執行),指定復原組態,然後選擇 Execute change set (執行變更集)。