設定排除期

本頁說明 Fault Injection Testing 中的排除視窗,以及如何使用這些視窗,在重要業務營運期間保護應用程式和服務。

排除時段可讓您進一步控管韌性測試時間表。排除期是指您定義的一段時間範圍,在這段時間內,系統會禁止啟動新的錯誤插入實驗。這項功能可協助您在重大事件期間保護應用程式和服務,例如:

  • 流量高峰時段或大量銷售活動
  • 重大系統遷移或升級
  • 重大維護期間

排除期生效時,Fault Injection Testing 會封鎖在定義範圍內啟動新實驗的所有嘗試。排除期生效前已執行的實驗,仍可繼續進行直到完成。

排除期的運作方式

範圍和指定目標

設定排除期時,請選取特定 Cloud 區域。啟用後,排除期會禁止在指定區域啟動新實驗,無論使用哪種實驗範本都一樣。

啟用和持續時間

建立排除期時,您會定義排除期的參數,但不會立即啟用。您必須明確啟動視窗,才能啟用這項功能。

排除期結束後,實驗就會恢復運作,方法有兩種:

  • 自動到期:每個排除時間範圍都會設定持續時間。啟用後,視窗會在經過這段時間後自動停用。系統會計算結束時間 (開始時間 + 持續時間),並在目前時間超過結束時間後,停止封鎖新實驗。
  • 手動停止:您可以手動停止目前排除期,不必等到排定的時間結束。如果重要期間比預期更早結束,且您想立即恢復測試,這項功能就非常實用。

在 Google Cloud 控制台中管理排除時段

繼續操作前,您必須具備 roles/faulttesting.operator 角色。

建立及設定排除期

  1. 在 Google Cloud 控制台中,前往「Fault Injection Testing Exclusion windows」(故障注入測試排除視窗) 頁面。
  2. 按一下「建立排除時間範圍」
  3. 指定「雲端區域」、「時間長度」,並視需要輸入「說明」
  4. 點選「建立」

手動控管排除期

您可以直接在 Google Cloud 控制台中,手動觸發任何已設定排除期的「開始」和「停止」動作。

自動啟用排除期

舉例來說,您可能想配合排定的維護期間或週期性活動。如要自動啟用排除期,請按照下列步驟操作:

  1. 建立排除時間範圍後,請複製 UI 中顯示的 StartExclusionWindow RPC 的 HTTPS 網址
  2. 使用 Cloud Scheduler 等排程服務設定工作,在您選擇的時間將要求傳送至這個網址。

使用 Google Cloud CLI 管理排除視窗

您可以使用 gcloud alpha fault-testing exclusion-windows 指令管理排除視窗資源。

建立排除期

如要建立排除時間範圍,請使用 create 指令。指定視窗 ID、目標區域和時間長度:

gcloud alpha fault-testing exclusion-windows create EXCLUSION_WINDOW_ID \
    --location=REGION \
    --duration=DURATION \
    [--description="DESCRIPTION"]

更改下列內容:

  • EXCLUSION_WINDOW_ID:視窗的專屬 ID (例如 black-friday-freeze)。
  • REGION:這個時間範圍適用的 Google Cloud 區域 (例如 us-central1)。
  • DURATION:有效時間,以秒為單位指定 (例如 86400s 代表 24 小時)。
  • DESCRIPTION:(選用) 視窗用途的說明。

範例:

gcloud alpha fault-testing exclusion-windows create black-friday-freeze \
    --location=us-east1 \
    --duration=259200s \
    --description="Exclusion window for Black Friday to Cyber Monday sales period"

刪除排除期

如要刪除排除時段定義,請使用 delete 指令:

gcloud alpha fault-testing exclusion-windows delete EXCLUSION_WINDOW_ID \
    --location=REGION

開始排除期

如要啟用已設定的排除時段,請使用 start 指令:

gcloud alpha fault-testing exclusion-windows start EXCLUSION_WINDOW_ID \
    --location=REGION

停止排除期

如要提早手動停用有效的排除期,請使用 stop 指令:

gcloud alpha fault-testing exclusion-windows stop EXCLUSION_WINDOW_ID \
    --location=REGION

最佳做法

建立排除時間範圍時,請注意下列事項:

  • 規劃實驗重疊。請在重要業務期開始前,稍微提前啟動排除期。由於系統允許實驗完成,因此提早開始排除期可確保所有故障都在重要時期開始前清除。
  • 使用描述性 ID。使用清楚且有意義的 ID (例如 black-friday-freezesystem-migration-us-east1) 識別視窗的用途和範圍。
  • 配合活動類型調整時間長度。將時間範圍長度設為重大事件的預期長度。如果是大型節慶特賣活動,建議設定多天 (例如 259200s 3 天)。
  • 善用自動化功能。使用 Cloud Scheduler 自動啟用週期性事件或計畫性維護的排除時間範圍,減少手動作業和遺漏風險。
  • 維持彈性。請注意,如果重要時期比預期更早結束,您可以使用 stop 指令提早結束視窗,立即恢復韌性測試。