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

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

從 CloudFormation 主控台建立堆疊

本主題說明從主 CloudFormation 控台建立堆疊的程序。主控台提供具有預先定義選項的精靈導向介面,以簡化堆疊建立程序。

要創建一個新的堆棧,你需要提供一個 CloudFormation 模板。此範本是一個JSON或YAML格式化的文字檔,可指定您要佈建的資源以及這些資源的組態屬性。如需詳細資訊,請參閱使用 CloudFormation 範本

建立堆疊

請依照本節中的步驟部署您的堆疊。

建立 堆疊
  1. https://console.aws.amazon.com/雲形成開啟 AWS CloudFormation 主控台。

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

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

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

  4. 在 [建立堆疊] 頁面上,執行下列其中一個動作:

    • 若要使用現有範本,請對「準備範本」選擇「範本已就緒」。然後,在「指定範本」下,選擇 Amazon S3 URL 或根據範本的位置上傳範本檔案

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

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

        如果您有已啟用版本控制的值區中的範本,您可以將範本附加?versionId=version-id至指定特定版本的範本。URL如需啟用版本控制的值區的詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的使用啟用版本控制的儲存貯體中的物件

        URL必須指向存放在您具有讀取權限的 S3 儲存貯體中的最大大小為 1 MB 的範本。最多URL可包含 1024 個字元。部分資源可能要求在堆疊所在的相同區域內有儲存貯體。

      • 如果您選擇「上傳範本檔案」,請選擇「選擇檔案」,從本機電腦選擇範本檔案。範本檔案大小必須小於 1 MB。

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

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

        • 任何擁有 Amazon S3 許可的人都可以存取這些儲存貯體 AWS 帳戶。

        • CloudFormation 建立預設為啟用伺服器端加密的值區,進而加密儲存在值區中的所有物件。

          您可以直接管理 CloudFormation 已建立的儲存貯體的加密選項,例如,使用 Amazon S3 主控台 https://console.aws.amazon.com/s3/,位於或 AWS CLI. 如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的設定 Amazon S3 儲存貯體的預設伺服器端加密行為

        • 您可以使用自己的儲存貯體,並手動上傳範本至 Amazon S3 以管理其許可。建立或更新堆疊時,請指定範本檔案URL的 Amazon S3。

    • 如果您尚未準備好範本,您可以選擇「使用範例範本」使用範本程式庫中的範例範本,或選擇從應用程式撰寫器建立使用「應用程式撰寫器」建立範本。如需詳細資訊,請參閱應用程式編寫器

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

    在繼續之前,請 CloudFormation 驗證您的模板以 catch 語法和一些語義錯誤,例如循環依賴關係。在驗證期間, CloudFormation 首先檢查範本是否有效JSON。如果不是,請 CloudFormation 檢查模板是否有效YAML。如果兩項檢查都失敗,則會 CloudFormation 傳回範本驗證錯誤。

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

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

  7. 在「參數」段落中,指定樣板中定義的參數值。

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

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

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

  11. 在「檢閱並建立」頁面上,檢閱堆疊的詳細資料。

    若要在啟動堆疊之前變更任何值,請在具有您要變更之設定的區段上選擇 「編輯」。

  12. 如果您的範本包含IAM資源,請選取確認核取方塊,以確認 CloudFormation 可能會使用自訂名稱建立IAM資源。如需詳細資訊,請參閱確認範本中的IAM AWS CloudFormation 資源

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

  14. 選擇「提交」以啟動堆疊。

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 無法在分配的時間內創建整個堆棧,則由於超時而導致堆棧創建失敗並回滾堆棧。

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

終止保護

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

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

預覽堆疊的組態

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

建立新堆疊的變更集

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

使用 CloudFormation 控制台建立變更集
  1. 請詳閱 Review (檢閱) 頁面上的堆疊詳細資訊。

    如果在建立變更集之前需要變更任何設定,請選擇適當區段的 Edit (編輯),返回有要變更設定的頁面。

  2. 選擇 Create change set (建立變更集)

  3. 如有需要,請輸入變更集名稱和描述。選擇 Create change set (建立變更集)

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

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

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

    CloudFormation 顯示建議堆疊的 [變更集] 頁面。 CloudFormation 建立變更集時,其狀態為CREATE_IN_PROGRESS,且其執行狀態為UNAVAILABLE。 CloudFormation 成功建立變更集後,會將變更集狀態設定為CREATE_COMPLETE,且其執行狀態為AVAILABLE。堆疊狀態更新為 REVIEW_IN_PROGRESS (正在檢閱)。此時,您可以執行變更集來完成建立新堆疊。

    在「變更」窗格中, CloudFormation 顯示堆疊的建議組態。

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

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