透過 Fault Injection Testing,您可以進行故障注入實驗,也就是在系統中導入故障,以便在故障導致實際的非預期失敗,進而影響客戶之前,測試系統的復原能力。透過錯誤注入測試,您可以將錯誤注入 Google Cloud 環境中的各種元件,確保應用程式以可預測的方式處理這些錯誤。
在 Fault Injection Testing 的初始版本中,錯誤通常等同於目標資源故障。如果您已在應用程式中設計容錯機制,這些失敗應會觸發應用程式,將流量重新導向至健康狀態良好的執行個體。
您應在注入錯誤前後觀察應用程式,確認應用程式是否如預期處理錯誤。
為什麼要使用 Fault Injection Testing?
透過 Fault Injection Testing,您可以在 Google Cloud 各種故障情境下,對應用程式的彈性進行實驗。這個範圍的主要部分是執行實驗,以估算區域和地區的故障情形,這類實驗難以或不可能完全由您自行執行。 Google Cloud 此外,故障注入測試也是實用的開發和改善工具,可讓您在實際工作環境中導入設計的復原機制前,先執行相關實驗。在問題浮出於實際工作環境前就先發現,可加快設計改善速度、避免代價高昂的停機時間和聲譽損失,並提升整體體驗。
如果沒有 Google Cloud原生錯誤注入產品,您就必須自行進行實驗。自行進行實驗會有問題,因為Google Cloud 是共用環境,而且在許多情況下,您可能無法直接存取基礎服務和基礎架構。這種情況可能導致實驗不充分、費力,最終可能無法有效達成目標,也就是適當實驗應用程式的復原能力。Fault Injection Testing 可協助您減少自動執行這些實驗的作業量、存取您無法存取的故障模式,並提高實驗作業的準確度。
對於受監管的客戶而言,定期進行實驗通常是維持符合產業管理機構規定的必要條件。在這些情況下,實驗通常會以災難復原測試的形式進行,證明區域或地區發生故障時,應用程式仍能持續有效運作。
如何使用 Fault Injection Testing
使用 Fault Injection Testing 前,請確認以下事項:
- 要進行實驗的環境已備妥部分備援機制。注入錯誤時,這個環境的應用程式可以繼續在備援基礎架構上執行。
- 資源的管理員或擁有者:請謹慎決定要授予哪些使用者權限,讓他們設定及執行 Fault Injection Testing 實驗。 Google Cloud 在 Google Cloud 環境中,對正在執行的基礎架構元件造成故障會導致中斷。因此,您只能將權限授予瞭解雲端環境架構,以及如何安全地實驗該架構復原能力的作業人員,讓他們設定實驗時不會造成非預期的中斷。
使用 Fault Injection Testing 時,需要設定實驗。如要設定新實驗,請先建立實驗範本,定義要注入的錯誤和目標資源。接著,您將從範本執行實驗。實驗是範本中定義的一組動作,會針對您在範本中選取的資源執行。