使用回滾觸發器在警報洩露時回滾您的 CloudFormation 堆棧 - AWS CloudFormation

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

使用回滾觸發器在警報洩露時回滾您的 CloudFormation 堆棧

使用回滾觸發程序,您可以在堆棧創建和更新期間 AWS CloudFormation 監視應用程序的狀態,並在應用程序違反您指定的警報的閾值時回滾該操作。針對您建立的每個復原觸發器,您可以指定 CloudFormation 應監視的 CloudWatch 警示。 CloudFormation 在堆疊建立或更新作業期間,以及部署所有資源之後的指定時間,監控指定的警示。如果有任何警示在堆疊作業或監視期間進入ALARM狀態,請 CloudFormation 復原整個堆疊作業。

您可以設定監控時間,從預設的 0 分鐘到最長 180 分鐘。在此期間,會在堆疊建立或更新作業部署所有必要資源之後, CloudFormation 監視所有復原觸發程序。如果有任何警示在堆疊作業或此監視期間進入ALARM狀態,請 CloudFormation 復原整個堆疊作業。然後,對於更新作業,如果監視期間到期而沒有任何警示即將陳ALARM述,則會照常 CloudFormation 繼續處置舊資源。如果您設定監視時間,但未指定任何回復觸發程序,則 CloudFormation 仍會等待指定的時間段,然後再清理舊資源以進行更新作業。您可以使用此監控期間來執行任何手動堆疊驗證,以及視需要手動取消堆疊建立或更新。如果您將監視時間設定為 0 分鐘, CloudFormation 仍會在堆疊建立和更新作業期間監視復原觸發程序,並在警示進入ALARM狀態時復原作業。接著,對於未發生警示的更新操作,將會在操作完成後立即開始處置舊資源。

默認情況下, CloudFormation 只有在警報進入狀態而不是ALARMINSUFFICIENT_DATA狀態時回滾堆棧操作。若要在警示進入INSUFFICIENT_DATA狀態時還 CloudFormation原堆疊作業,請編輯 CloudWatch 警示以將遺失的資料視為breaching。如需詳細資訊,請參Amazon CloudWatch 使用者指南中的設定 CloudWatch 警示如何處理遺失的資料

CloudFormation 在更新作業期間回復堆疊時,不會監視回復觸發程序。

您最多可以新增 5 個復原觸發條件。若要新增回滾觸發器,請指定 CloudWatch 警示的 Amazon 資源名稱 (ARN)。目前,AWS::CloudWatch::AlarmAWS::CloudWatch::CompositeAlarm 類型可用作復原觸發條件。如需 CloudWatch 警示的詳細資訊,請參閱 Amazon 使用 CloudWatch 者指南中的使用 CloudWatch警示

如果指定的 CloudWatch 警示遺失,則整個堆疊作業會失敗並回復。

請注意,存取 CloudWatch 需要認證。這些認證必須具有存取 AWS 資源的權限,例如 CloudWatch 擷取有關資源的指標資料。如需詳細資訊,請參閱 Amazon CloudWatch 使用者指南 CloudWatch的身份驗證和存取控制

在堆棧創建或更新期間添加回滾觸發器

若要將復原觸發程序新增至堆疊建立或更新
  1. 建立更新堆疊時,在 [設定堆疊選項] 頁面的 [進階選項] 下,展開 [還原組態] 區段。

  2. 請輸入介於 0180 分鐘的監控時間。預設值為 0

  3. 指定ARN要用作復原觸發器的警示或複合警示,然後選取新增 CloudWatch 警示ARN。 CloudWatch

    例如,以下是用ARN於 CloudWatch 警報或複合警報,arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyAlarmName

  4. 選取 Next (下一步) 並檢閱堆疊詳細資訊。

  5. 檢閱堆疊建立設定和堆疊的估算成本後,請選擇 Create stack (建立堆疊) 來啟動您的堆疊。

將倒回觸發程序新增至變更集

若要將倒回觸發程序新增至變更集,請選取堆疊樣板來建立變更集,然後在「還原組態」段落中指定 CloudWatch 警示。

  1. 建立或更新變更集期間,在 Configure stack options (設定堆疊選項) 頁面的 Advanced options (進階選項) 下方,展開 Rollback configuration (復原組態) 區段。

  2. 請輸入介於 0180 分鐘的監控時間。預設值為 0

  3. 指定ARN要用作復原觸發器的警示或複合警示,然後選取新增 CloudWatch 警示ARN。 CloudWatch

    例如,以下是用ARN於 CloudWatch 警報或複合警報,arn:aws:cloudwatch:us-east-1:123456789012:alarm:MyAlarmName

  4. 選取 Next (下一步) 並檢閱堆疊詳細資訊。

  5. 檢閱堆疊建立設定和堆疊的估算成本後,請選擇 Create change set (建立變更集)。

  6. 請檢閱 Create change set (建立變更集) 模組並選取 Create change set (建立變更集)。

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

檢視堆疊的復原觸發程式

若要檢視堆疊的復原觸發條件,請參閱 Rollback configuration (復原組態) 區段。

  1. Stacks (堆疊) 頁面上,從左側清單選取您希望檢視的堆疊。

  2. Stack info (堆疊資訊) 索引標籤上,展開 Rollback configuration (復原組態) 區段。

結果:如果已指定復原觸發條件,則復原觸發條件會顯示在 Rollback configuration (復原組態) 區段。

檢視變更集的倒回觸發程式

若要檢視變更集的復原觸發條件,請參閱復原組態區段。

  1. Stacks (堆疊) 頁面上,從左側清單選取您希望檢視的堆疊。

  2. 選取 Change sets (變更集) 索引標籤,然後選取要檢視的變更集。

  3. 選取 Input (輸入) 索引標籤,然後檢視 Rollback configuration (復原組態) 區段。

結果:如果已指定復原觸發條件,則復原觸發條件會顯示在 Rollback configuration (復原組態) 區段。