本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
直接更新堆疊
想要快速部署以更新堆疊時,請您執行直接更新。透過直接更新,您可以提交範本或輸入參數,以指定堆疊中資源的更新,並 AWS CloudFormation 立即部署它們。如果您想要使用範本進行更新,您可以修改目前的範本,並將其儲存在本機或 Amazon S3 值區中。
如果是不支援更新的資源屬性,您必須保留目前的值。若要在更新堆疊之前預覽堆疊所做的變更,請使用變更集。 AWS CloudFormation 如需詳細資訊,請參閱 透過變更集更新堆疊。
注意
更新堆疊時,視您更新的屬性而定, AWS CloudFormation 可能會中斷資源或取代更新的資源。如需資源更新行為的詳細資訊,請參閱 更新堆疊資源的行為。
若要更新 AWS CloudFormation 堆疊 (主控台)
-
請登入 AWS Management Console 並開啟 AWS CloudFormation 主控台,網址為 https://console.aws.amazon.com/cloudformation
。 -
在 AWS CloudFormation 主控台
,由堆疊清單選取您要更新的執行中堆疊。 -
在 stack details (堆疊詳細資訊) 窗格中,選擇 Update (更新)。
-
如尚未修改堆疊範本,請選取 Use current template (使用目前的範本),然後選擇 Next (下一步)。
如已修改範本,請選取 Replace current template (取代目前的範本),然後在 Specify template (指定範本) 區段中指定更新的範本位置:
-
如果是存放在本機電腦上的範本,請選取 Upload a template file (上傳範本檔案)。選擇 Choose File (選擇檔案) 導覽至該檔案並選取它,然後選擇 Next (下一步)。
注意
如果您上傳本機範本檔案,請將其上 AWS CloudFormation 傳到 AWS 帳戶中的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。如果您尚未擁有 AWS CloudFormation建立的 S3 儲存貯體,&CFN; 會針對您已上傳範本檔案至其中的每個區域建立唯一儲存貯體。如果您的 AWS 帳戶 AWS CloudFormation 中已有由建立的 S3 儲存貯體,請將範本 AWS CloudFormation 新增至該儲存貯體。
請記住由建立的 S3 儲存貯體的注意事項 AWS CloudFormation
-
AWS 帳戶中擁有 Amazon S3 許可的任何人皆可存取這些儲存貯體。
-
AWS CloudFormation 建立預設為啟用伺服器端加密的值區,進而加密儲存在值區中的所有物件。
您可以直接管理 AWS CloudFormation 已建立儲存貯體的加密選項;例如,使用 Amazon S3 主控台,網址為 https://console.aws.amazon.com/s3/
或 AWS CLI. 如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 S3 儲存貯體的 Amazon S3 預設加密。 -
您可以使用自己的儲存貯體,並手動上傳範本至 Amazon S3 以管理其許可。當您建立或更新堆疊時,請指定範本檔的 Amazon S3 URL。
-
-
如需存放在 Amazon S3 儲存貯體的範本,請選擇 Amazon S3 URL。輸入或貼上該範本的 URL,然後選擇 Next (下一步)。
如果您的範本位於已啟用版本控制的儲存貯體中,則您可以指定範本的特定版本,例如
https://s3.amazonaws.com/templates/myTemplate.template?versionId=123ab1cdeKdOW5IH4GAcYbEngcpTJTDW
。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的管理已啟用版本控制之儲存貯體中的物件。
-
-
如果您的範本包含參數,請在 Specify stack details (指定堆疊詳細資訊) 頁面上輸入或修改參數值,然後選擇 Next (下一步)。
AWS CloudFormation 除了使用
NoEcho
屬性聲明的參數外,將當前在堆棧中設置的值填充每個參數;但是,您仍然可以通過選中使用現有值來使用當前值。如需使用
NoEcho
遮罩敏感資訊,以及使用動態參數管理密碼的詳細資訊,請參閱請勿在您的範本中內嵌憑證最佳實務。 -
在 Configure stack options (設定堆疊選項) 頁面上,您可以更新套用到堆疊的標籤和許可,以及修改進階選項,例如堆疊政策、復原組態,或更新 Amazon SNS 通知主題。
如需關於這些選項的詳細資訊,請參閱 設定 AWS CloudFormation 堆疊選項。
選取下一步。
-
檢閱堆疊資訊和您提交的變更。
檢查是否提交了正確的資訊,例如正確的參數值或範本 URL。如果您的範本包含 IAM 資源,請選取 I acknowledge that this template may create IAM resources (我知道此範本可能會建立 IAM 資源),以指定您要使用此範本中的 IAM 資源。如需有關使用範本中 IAM 資源的詳細資訊,請參閱控制存取 AWS Identity and Access Management。
在 [變更集預覽] 區段中,勾選是否 AWS CloudFormation 會進行您預期的所有變更。例如,您可以檢查是否新 AWS CloudFormation 增、移除和修改要新增、移除或修改的資源。 AWS CloudFormation 透過為堆疊建立變更集來產生此預覽。如需詳細資訊,請參閱 透過變更集更新堆疊。
-
當您完成變更後,請選擇 Update stack (更新堆疊)。
注意
此時,您也可以選擇檢視變更集,更仔細地檢閱您提出的更新。若要這麼做,請選擇 [檢視變更集] 而不是 [更新堆疊]。 CloudFormation 顯示根據您的更新產生的變更集。當您準備好執行堆疊更新時,請選擇 Execute (執行)。
CloudFormation 顯示堆疊的堆疊詳細資料頁面,並選取「事件」窗格。您的堆疊狀態現為 UPDATE_IN_PROGRESS (正在更新)。成功完 CloudFormation 成堆疊更新之後,它會將堆疊狀態設定為「更新 _ 完成」。
如果堆疊更新失敗, CloudFormation則會自動復原變更,並將堆疊狀態設定為 UPDATE_ROLLBACK_CO MPLETE。
注意
您可以在處於 UPDATE_IN_PROGRESS 狀態時取消更新。如需詳細資訊,請參閱 取消堆疊更新。
若要更新 AWS CloudFormation 堆疊 (AWS CLI)
-
使用
aws cloudformation update-stack
命令直接更新堆疊。您可以指定要更新的堆疊、參數值和功能;如果您希望使用已更新的範本,也可以指定範本的名稱。以下範例會更新
mystack
堆疊的範本和輸入參數:$
aws cloudformation update-stack --stack-name
mystack
\ --template-url https://s3.amazonaws.com/sample/updated.template \ --parameters ParameterKey=VPCID,ParameterValue=SampleVPCID ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,SampleSubnetID2以下範例僅會更新
SubnetIDs
堆疊的mystack
參數值:$
aws cloudformation update-stack --stack-name
mystack
\ --use-previous-template \ --parameters ParameterKey=VPCID,UsePreviousValue=true ParameterKey=SubnetIDs,ParameterValue=SampleSubnetID1\\,UpdatedSampleSubnetID2以下範例會將兩個堆疊通知主題新增至
mystack
堆疊:$
aws cloudformation update-stack --stack-name
mystack
\ --use-previous-template --notification-arns \ "arn:aws:sns:us-east-1:12345678912:mytopic" "arn:aws:sns:us-east-1:12345678912:mytopic2"以下範例會從
mystack
堆疊中移除所有堆疊通知主題:$
aws cloudformation update-stack --stack-name
mystack
\ --use-previous-template --notification-arns []