本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用範本工作室以視覺化方式編輯範本
範本工作室是 CloudFormation 主控台中的範本編輯器。它以文字形式將您的範本顯示在範本宣告的資源圖表旁。當您編輯範本時,圖表會重新繪製以符合。您可以驗證範本,在 YAML 和 JSON 之間轉換,並將其儲存至 Amazon S3,而無需離開主控台。
範本文字是授權的。圖表是該文字的視覺呈現,而不是單獨的可編輯表面。您可以在範本中進行所有變更。
考量事項
當您在範本工作室工作時,請記住下列事項:
-
您在範本中撰寫 ,而不是在圖表上。圖表顯示範本宣告的資源,以及它們如何互相參照;您無法透過編輯圖表來新增或設定資源。
-
您的編輯不會自動儲存。範本 Studio 會在您瀏覽未儲存的變更之前要求確認。如果您離開或重新整理頁面,則會捨棄未儲存的變更。儲存到 Amazon S3,或在離開之前複製或下載範本。
-
將範本從 YAML 轉換為 JSON 會捨棄其註解,因為 JSON 沒有其語法。轉換回 YAML 並不會還原它們。
-
範本工作室中的 CloudFormation 驗證目前不適用於大於 51,200 位元組 (50 KiB) 的草稿。目前的驗證動作會透過具有此限制的
TemplateBody參數傳送草案。這不是整體範本大小限制。根據 CloudFormation 配額,您仍然可以儲存範本並將其用於堆疊操作。如需詳細資訊,請參閱驗證範本。 -
儲存會將範本寫入帳戶中的儲存貯體,因此您儲存的範本會以標準 Amazon S3 費率計費。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價
。 -
只有當畫布顯示在 Canvas 或兩者檢視中時,您才能下載資源圖表。
範本工作室所需的許可
您需要的許可取決於範本來源和您執行的動作:
cloudformation:GetTemplate-
開啟現有堆疊的 範本時需要。授予您要編輯其範本之堆疊的存取權。
s3:GetObject-
使用登入資料從 Amazon S3 讀取範本時需要。授予來源範本物件的存取權。預先簽章的 URL 使用 URL 中包含的授權。
cloudformation:ValidateTemplate-
選擇驗證時需要。
s3:PutObject-
儲存範本時需要。將此許可範圍限定為目的地儲存貯體中的物件,例如
arn:aws:s3:::,而不是所有資源。destination-bucket/* s3:CreateBucket-
只有在主控台建立遺失的目的地儲存貯體時才需要。這可以是主控台管理的儲存貯體或您指定的儲存貯體名稱。重複使用現有的儲存貯體不需要此許可。
s3:ListBucket-
儲存至您指定的現有儲存貯體時為必要。範本 Studio 會使用
HeadBucket驗證存取權、預期的儲存貯體擁有者和儲存貯體, AWS 區域 再上傳。對於主控台受管儲存貯體,此許可是選用的。如果沒有儲存對話方塊,儲存對話方塊仍會顯示儲存貯體名稱。如果必須建立儲存貯體,則儲存需要
s3:PutObject和s3:CreateBucket。
開啟範本工作室
您從 開啟範本 Studio 的位置會決定開啟內容,以及儲存後會發生的情況。
啟動新範本
-
在畫面頂端的導覽列上,選擇 AWS 區域 您要部署的 。
-
在導覽窗格中,選擇範本工作室。
在建立堆疊時建置範本
-
在建立堆疊頁面上,選擇使用範本工作室建置。
-
建置範本,然後選擇儲存並繼續。
-
堆疊精靈會繼續執行您儲存的範本,因此您不需要另外上傳。
編輯現有堆疊的範本
-
在堆疊頁面上,選擇堆疊的名稱。
-
您可以直接更新堆疊或建立變更集。
-
在準備範本頁面上,選擇在範本工作室中開啟。堆疊目前的範本隨即開啟。
-
選擇儲存並繼續返回已編輯範本的更新或變更集。
在主控台的其他地方,只要顯示範本,您可以選擇在範本工作室中開啟以進行操作。
使用範本和圖表
範本工作室會開啟,並並排顯示範本和圖表。使用檢視控制項來選擇畫面上的內容:
- Template (範本)
-
僅範本的全寬度。使用此項目來讀取或寫入不含圖表的範本。
- 畫布
-
僅限完整寬度的圖表。將此用於大型範本,其中圖表需要完整寬度。
- 兩者
-
範本和圖表一起。將分隔線拖曳到它們之間,讓任一端有更多空間。
當一個資源透過 Ref、Fn::Sub、 或 參考另一個資源時Fn::GetAtt,圖表會分組相關資源並繪製連線DependsOn。資源本身不會顯示任何參考,這可讓意外中斷連線的資源更容易發現。
注意
例如,三個函數可以擔任相同的 IAM 角色。圖表顯示每個函數內的角色,但範本只會宣告一個角色。檢查範本以查看有多少資源存在。
在 YAML 和 JSON 之間轉換
您在 中儲存的格式會決定範本 Studio 寫入 Amazon S3 之物件的檔案名稱和內容類型。
若要轉換您正在編輯的範本
-
選擇格式控制項,其會命名您目前使用的格式。
-
選擇其他格式。
-
從 YAML 轉換為 JSON 會要求您確認,因為評論無法結轉。選擇轉換以繼續。
重要
JSON 沒有註解的語法。當您將包含註解的 YAML 範本轉換為 JSON 時,會移除這些註解,而轉換回 YAML 不會還原這些註解。在轉換之前,複製您要保留的任何內容。
無法讀取範本時,無法使用格式控制,因為沒有足夠完整的內容可轉換。請先修正範本。
輸入時的語法問題
編輯器會在您撰寫範本時檢查範本的語法,並強調它無法讀取的內容:未封閉的括號、錯位的縮排、重複的索引鍵。將滑鼠游標移至底線以查看問題。其中一行有幾個問題,它們會編號,因此您可以區分它們。
這是範本語法的檢查,而不是其內容的檢查。編輯器不知道存在哪些資源類型或其採用的屬性,因此格式良好的 YAML 範本仍然可能錯誤,只有 CloudFormation 可以告訴您。為此選擇驗證。
驗證範本
驗證會使用編輯器檢查範本的語法,並在堆疊操作中使用範本之前,使用 CloudFormation 檢查範本。這兩個檢查都使用目前的草稿,包括您尚未儲存的變更。成功的 CloudFormation 檢查不會覆寫編輯器報告的語法錯誤。
注意
範本工作室使用 TemplateBody 參數將草稿傳送至 ValidateTemplate API。此參數有 51,200 位元組 (50 KiB) 的限制。
對於超過此限制的草稿,範本工作室不會傳送 CloudFormation 請求。CloudFormation 檢查無法使用,但這不表示範本無效。編輯器仍然可以報告語法錯誤。
相同的 API 透過 支援高達 1 MB 的範本TemplateURL。範本 Studio 不會上傳編輯的草稿以進行 URL 型驗證。您可以根據 CloudFormation 配額,將範本儲存至 Amazon S3,並透過堆疊操作進行驗證。
驗證您正在編輯的範本
-
選擇驗證。
-
通過兩個檢查的範本會報告為有效。
-
如果任一檢查發現錯誤,請在驗證訊息中檢閱錯誤。編輯器錯誤包括行號和欄號。更正編輯器中的錯誤,然後再次驗證。
將範本儲存至 Amazon S3
CloudFormation 會從 Amazon S3 讀取堆疊操作的範本,因此儲存是讓範本可供其他主控台使用的原因。
對存放在 Secrets Manager 中的秘密或 Systems Manager 參數存放區中的安全字串使用動態參考,而不是在儲存的範本中包含純文字秘密。如需詳細資訊,請參閱使用動態參考取得存放在其他服務中的值。
若要儲存您正在編輯的範本
-
選擇儲存並繼續。
-
檢查目的地。根據預設,範本會移至 CloudFormation 針對目前上傳範本所管理的 Amazon S3 儲存貯體 AWS 區域。如果該儲存貯體尚不存在,CloudFormation 會在您儲存時建立該儲存貯體,並針對稍後儲存的範本重複使用該儲存貯體。
-
若要改為選擇您自己的目的地,請選擇使用不同的儲存貯體,然後輸入儲存貯體名稱。如果儲存貯體尚未存在,則會建立儲存貯體。
-
-
選擇確認並繼續。
注意
存放在 Amazon S3 中的範本會以標準 Amazon S3 費率計費,以儲存貯體存放它們為準。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價
儲存不需要成功的驗證結果。驗證發現錯誤時,範本工作室會要求您確認是否仍要儲存。儲存無法修正這些錯誤;在堆疊操作中使用範本之前,請檢閱並更正錯誤。
複製或下載範本或圖表
選擇範本動作以從主控台取得範本或圖表:
- 複製範本
-
複製在編輯器中顯示的範本到您的剪貼簿。
- 下載範本
-
以您目前編輯的格式,將範本儲存為檔案。
- 下載資源圖表
-
將圖表儲存為 PNG 影像。因為影像是圖表的擷取,所以只有當圖表在畫面上時,才能使用此功能。