本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 CloudFormation 主控台建立堆疊
本主題說明從 CloudFormation 主控台建立堆疊的程序。主控台提供精靈驅動的介面,其中包含預先定義的選項,以簡化堆疊建立程序。
若要建立新的堆疊,您需要提供 CloudFormation 範本。此範本是 YAML JSON或 格式的文字檔案,指定您要佈建的資源,以及這些資源的組態屬性。如需詳細資訊,請參閱使用 CloudFormation 範本。
如需使用 的範例 create-stack CLI 命令來建立堆疊,請參閱 使用 和 建立、更新 AWS CLI 和刪除 CloudFormation 堆疊 PowerShell。
建立堆疊
請依照本節中的步驟部署範本並建立堆疊。
建立 堆疊
-
在 https://console.aws.amazon.com/cloudformation
開啟 AWS CloudFormation 主控台。 -
在畫面頂端的導覽列上,選擇要在其中 AWS 區域 建立堆疊的 。
-
在堆疊頁面上,選擇右上角的建立堆疊,然後選擇使用新資源 (標準)。
或者,您可以選擇使用現有資源 (匯入資源) 選項,以匯入範本中描述的現有 AWS 資源。如需此選項的詳細資訊,請參閱 匯入 AWS 資源到具有資源導入的 CloudFormation 堆棧中。
-
在建立堆疊頁面上,執行下列其中一項操作:
-
若要使用現有範本,請針對準備範本 ,選擇範本已就緒 。然後,在指定範本 下,根據範本的位置選擇 Amazon S3 URL 或上傳範本檔案。
-
如果您選擇 Amazon S3 URL,請將 URL提供給 S3 儲存貯體中的範本檔案。
如果您的範本包含巢狀堆疊 (例如,位於子目錄中的其他範本文件中所述的堆疊),請確定 S3 儲存貯體包含必要的檔案和目錄。
如果您擁有已啟用版本控制之儲存貯體的範本,您可以透過附加
?versionId=
至 來指定範本的特定版本URL。如需啟用版本控制之儲存貯體的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南 中的使用啟用版本控制之儲存貯體中的物件。version-id
必須URL指向大小上限為 1 MB 的範本,該範本存放在您具有讀取許可的 S3 儲存貯體中。URL 長度上限為 1024 個字元。部分資源可能要求在堆疊所在的相同區域內有儲存貯體。
-
如果您選擇上傳範本檔案 ,請選擇選擇檔案,從本機電腦選擇範本檔案。範本檔案大小必須為 1 MB 或以下。
選擇範本後, 會 CloudFormation 上傳檔案,並顯示 S3 URL. CloudFormation uploads 到您 中的 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 Simple Storage Service 使用者指南中的設定 Amazon S3 儲存貯體的預設伺服器端加密行為。 -
您可以使用自己的儲存貯體,並手動上傳範本至 Amazon S3 以管理其許可。當您建立或更新堆疊時,請指定範本檔案URL的 Amazon S3。
-
-
-
如果您尚未準備好範本,可以選擇使用範例範本從範本程式庫使用範例範本,或從 Infrastructure Composer 建置範本以使用 Infrastructure Composer 建立範本。如需詳細資訊,請參閱基礎設施編寫器。
-
-
選擇下一步以繼續,然後選擇 和 來驗證範本。
在繼續之前, CloudFormation 請驗證您的範本以擷取語法和一些語意錯誤,例如循環相依性。在驗證期間, CloudFormation 首先檢查範本是否有效JSON。如果不是, 會 CloudFormation 檢查範本是否為有效的 YAML。如果兩個檢查都失敗, 會 CloudFormation 傳回範本驗證錯誤。
-
在 Specify stack details (指定堆疊詳細資訊) 頁面的 Stack name (堆疊名稱) 方塊中,輸入堆疊名稱。
堆疊名稱是一個識別碼,可協助您從堆疊清單中找到特定堆疊。堆疊名稱只能包含英數字元 (區分大小寫) 和連字號。必須以字母字元開頭,且長度不可超過 128 個字元。
-
在參數區段中,指定範本中定義的參數值。
-
選擇下一步以繼續建立堆疊。
-
(選用) 在設定堆疊選項頁面上,變更預設堆疊選項。如需詳細資訊,請參閱設定堆疊選項。
-
如果您的範本包含IAM資源,對於功能 ,請選擇我確認此範本可能會建立IAM資源,以指定您要在範本中使用IAM資源。如需詳細資訊,請參閱認可 CloudFormation 範本中的 IAM 資源。
-
選擇 Next (下一步) 繼續。
-
在檢閱和建立頁面上,檢閱堆疊的詳細資訊。
若要在啟動堆疊之前變更任何值,請在具有您要變更之設定的部分上選擇編輯。
-
(選用) 您可以建立變更集,以在建立堆疊之前預覽堆疊的組態。在檢閱和建立頁面上,選擇建立變更集並遵循指示。如需詳細資訊,請參閱預覽堆疊的組態。
-
選擇提交以啟動您的堆疊。
CloudFormation 接著會繼續建立範本中定義的所有資源。
您可以在新堆疊的事件索引標籤上監控堆疊建立的進度和狀態。如需詳細資訊,請參閱監控堆疊進度。
設定堆疊選項
在設定堆疊選項頁面上,您可以設定 CloudFormation 堆疊的選項,例如標籤、堆疊事件通知或堆疊政策。
您可以設定下列堆疊選項:
-
您最多可以將 50 個標籤金鑰對新增至您的堆疊,以及任何 CloudFormation 支援標記的資源。標籤是客戶定義的索引鍵和值,可以指派給 AWS 資源,用於成本追蹤等目的。
Key (金鑰) 會包含任何英數字元或空格。而標籤金鑰的長度最多可達 127 個字元。
Value (數值) 會包含任何英數字元或空格。而標籤值的長度最多可達 255 個字元。
- 許可
-
CloudFormation 可以擔任的現有IAM服務角色。 CloudFormation 使用角色的憑證來建立堆疊,而不是使用您的帳戶憑證。如需詳細資訊,請參閱AWS CloudFormation 服務角色。
- 堆疊失敗選項
-
為所有堆疊部署和變更集操作指定佈建失敗選項。如需詳細資訊,請參閱選擇佈建資源時如何處理失敗。
堆疊狀態為
CREATE_FAILED
或UPDATE_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 堆疊。
建立新堆疊的變更集
若要建立新堆疊的變更集,請選取您的堆疊範本並指定堆疊組態,就像建立新堆疊一樣,然後選擇建立新的變更集,而不是建立新的堆疊。
為新堆疊建立變更集
-
在檢閱和建立頁面上,選擇建立變更集 。
-
在建立變更集對話方塊中,輸入變更集的名稱,並視需要輸入描述。選擇 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 (狀態原因) 欄位中顯示的錯誤,然後建立新的變更集。在此階段,您可以嘗試在執行下一個變更集前檢查各種組態,並針對堆疊進行修正與更改。 -
-
若要根據變更集完成建立新堆疊,請選擇 Execute (執行),指定復原組態,然後選擇 Execute change set (執行變更集)。