透過復原觸發條件,在警示違規時復原您的 CloudFormation 堆疊
透過復原觸發條件,您可讓 CloudFormation 監控應用程式在堆疊建立和更新期間的狀態;如果應用程式超過您指定之警示的閾值,也可復原該操作。對於建立的每個復原觸發條件,您都要指定 CloudFormation 應監控的 Cloudwatch 警示。CloudFormation 會在堆疊建立或更新操作期間,以及所有資源部署後一段指定的時間量內,監控指定的警示。如有任何警示在堆疊操作或監控期間進入 ALARM 狀態,CloudFormation 將會復原整個堆疊操作。
您可以設定監控時間,從預設的 0 分鐘到最長 180 分鐘。在這段期間,CloudFormation 會在堆疊建立或更新操作部署所有必要的資源之後,監控所有復原觸發條件。如有任何警示在此堆疊操作或監控期間進入 ALARM 狀態,CloudFormation 將會復原整個堆疊操作。接著,以更新操作而言,如果監控期間過期,而且沒有任何警示進入 ALARM 狀態,CloudFormation 會繼續照常處置舊資源。如果您設定監控時間,但未指定任何復原觸發條件,CloudFormation 仍會等待指定的期間,然後再清理更新操作的舊資源。您可以使用此監控期間來執行任何手動堆疊驗證,以及視需要手動取消堆疊建立或更新。如果您設定 0 分鐘的監控時間,CloudFormation 仍會在堆疊建立和更新操作期間監控復原觸發條件;如有警示進入 ALARM 狀態,將會復原操作。接著,對於未發生警示的更新操作,將會在操作完成後立即開始處置舊資源。
在預設情況下,如果警示進入 ALARM 狀態 (而非 INSUFFICIENT_DATA 狀態),CloudFormation 只會復原堆疊操作。若要在警示進入 INSUFFICIENT_DATA 狀態時,也讓 CloudFormation 復原堆疊操作,請編輯 CloudWatch 警示,將缺少資料視為 breaching。如需詳細資訊,請參閱「Amazon CloudWatch 使用者指南」中的設定 CloudWatch 警示如何處理遺失資料。
CloudFormation 在更新操作期間復原堆疊時,不會監控復原觸發條件。
您最多可以新增 5 個復原觸發條件。若要新增復原觸發條件,請指定 CloudWatch 警示的 Amazon Resource Name (ARN)。目前,AWS::CloudWatch::Alarm 和 AWS::CloudWatch::CompositeAlarm 類型可用作復原觸發條件。如需有關 CloudWatch 警示的詳細資訊,請參閱《Amazon CloudWatch 使用者指南》中的使用 Amazon CloudWatch 警示。
如果找不到指定的 Cloudwatch 警示,整個堆疊操作將會失敗並復原。
請注意,存取 CloudWatch 需要憑證。這些憑證必須擁有許可以存取 AWS 資源,例如擷取有關您資源的 CloudWatch 指標資料。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南中的 CloudWatch 身分驗證和存取控制。
新增堆疊建立或更新期間的復原觸發條件
新增堆疊建立或更新期間的復原觸發條件 (主控台)
-
在建立或更新堆疊期間,在設定堆疊選項頁面的進階選項下,展開復原組態區段。
-
請輸入介於
0–180分鐘的監控時間。預設值為0。 -
指定您想要用作復原觸發條件的 Cloudwatch 警示或複合警示 ARN,然後選擇新增 CloudWatch 警示 ARN。
例如,以下是 CloudWatch 警示或複合警示的 ARN:
arn:aws:cloudwatch:。us-east-1:123456789012:alarm:MyAlarmName -
選擇下一步 並檢閱堆疊詳細資訊。
-
準備就緒時,請選擇提交,以建立或更新堆疊。
新增堆疊建立或更新期間的復原觸發條件 (AWS CLI)
使用 create-stack 或 update-stack 命令搭配 --rollback-configuration 選項。
例如,下列 update-stack 命令會將 MyCompositeAlarm 設定為復原觸發條件,監控時間為 5 分鐘:
aws cloudformation update-stack --stack-nameMyStack\ --use-previous-template \ --rollback-configuration \ "RollbackTriggers=[{Arn=arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyCompositeAlarm,Type=AWS::CloudWatch::CompositeAlarm}],MonitoringTimeInMinutes=5"
將復原觸發條件新增至變更集
將復原觸發條件新增至變更集 (主控台)
-
在建立變更集時,在設定堆疊選項頁面的進階選項下,展開復原組態區段。
-
請輸入介於
0–180分鐘的監控時間。預設值為5。 -
指定您想要用作復原觸發條件的 Cloudwatch 警示或複合警示 ARN,然後選擇新增 CloudWatch 警示 ARN。
例如,以下是 CloudWatch 警示或複合警示的 ARN:
arn:aws:cloudwatch:。us-east-1:123456789012:alarm:MyAlarmName -
選擇下一步,並檢閱變更集的詳細資訊。
-
準備就緒時,請選擇建立變更集,以建立變更集。
將復原觸發條件新增至變更集 (AWS CLI)
使用 create-change-set 命令搭配 --rollback-configuration 選項。
檢視堆疊的復原觸發條件
若要檢視堆疊的復原觸發條件,請參閱 Rollback configuration (復原組態) 區段。
-
在堆疊頁面上,從左側清單選擇您希望檢視的堆疊。
-
在堆疊資訊索引標籤上,展開復原組態區段以檢視復原觸發條件。
檢視變更集的復原觸發條件
若要檢視變更集的復原觸發條件,請參閱復原組態區段。
-
在堆疊頁面上,從左側清單選擇您希望檢視的堆疊。
-
選擇變更集索引標籤,然後選擇要檢視的變更集。
-
選擇輸入索引標籤,然後檢視復原組態區段。