運算資源故障參考資料

本頁說明在實驗期間發生「Fail Compute」錯誤類型時會發生什麼情況,以及在錯誤插入測試無法停止實驗時應採取的措施。

Fail Compute 故障的運作方式

Fail Compute 故障會使用資源標記標記 VM,並使用防火牆政策搭配以這些標記為目標的規則,封鎖所有輸入和輸出流量。這項設定會讓目標資源顯示為中斷服務,同時確保資源不受損,且能快速復原。

這項故障的目標可能是下列項目:

實驗執行期間會發生的情況

實驗會經歷不同的狀態,而相關資源也會隨之變更。

資源

PREPARING

INJECTING

REVERTING

VM

無

繫結資源標記

取消繫結資源標記

MIG / RMIG

無

關閉自動修復和自動調度資源功能 (如果已啟用)

還原自動修復和自動調度資源設定

標記

為實驗建立專屬的 TagValue 資源

無

刪除標籤值

防火牆政策

建立系統層級的 FirewallPolicy 資源

填入「拒絕」規則,並將政策繫結至相關虛擬私有雲

從虛擬私有雲取消繫結並刪除 FirewallPolicy

緊急手動復原

如果發生災難性的後端故障,導致 Fault Injection Testing 無法自動停止實驗,您可以手動移除繫結至受影響 VM 的資源標記,藉此手動還原 VM 資源的連線。以這些標記為目標的系統防火牆政策將不再適用,VM 實際上會與隔離錯誤分離。

所需權限

您需要下列 IAM 權限:

  • 查看 VM 執行個體的必要條件:
    • compute.instances.get
    • compute.instances.list
  • 查看及移除標記繫結的必要權限:
    • resourcemanager.tagValueBindings.list
    • resourcemanager.tagValueBindings.delete

使用 Google Cloud 控制台 UI 手動復原

如要使用 Google Cloud 控制台執行復原作業,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
  2. 選取受隔離故障影響的特定 VM 執行個體。
  3. 在執行個體詳細資料頁面中,前往管理「標記」的部分。
  4. 找出與「Fault Injection Testing Fail Compute」錯誤相關的實驗專屬標記繫結。
  5. 從 VM 移除標記繫結。

移除標記後,相關聯的防火牆政策就不會再以 VM 為目標,連線也會恢復。

使用 gcloud CLI 手動復原

您可以使用 Google Cloud CLI,手動從 VM 移除實驗標記繫結。在下列指令中,將 TAG_VALUE_NAME, PROJECT_NUMBER, ZONE 和 VM_NAME 換成您環境的特定值。

首先,請列出 VM 的目前標記繫結,以擷取實驗專屬的標記值名稱:

gcloud resource-manager tag bindings list --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

使用上一個指令的輸出內容,判斷刪除步驟所需的 TAG_VALUE_NAME:

gcloud resource-manager tag bindings delete --tag-value=TAG_VALUE_NAME --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME

移除標記後,相關聯的防火牆政策就不會再以 VM 為目標,連線也會恢復。