コンピューティング障害のリファレンス

このページでは、Fail Compute 障害タイプのテスト中に発生する事象と、障害挿入テストでテストを停止できない場合の対策について説明します。

Fail Compute フォルトの仕組み

Fail Compute 障害は、リソースタグを使用して VM をマークし、それらのタグをターゲットとするルールを含むファイアウォール ポリシーを使用して、すべての上り(内向き)トラフィックと下り(外向き)トラフィックをブロックします。この設定により、ターゲット リソースが停止しているように見えますが、リソースは損傷することなく、迅速に復元できます。

この障害のターゲットは次のいずれかになります。

テストの実行中に発生する処理

テストが状態を遷移するにつれて、関連するリソースは次のように変化します。

リソース

PREPARING

INJECTING

REVERTING

VM

なし

リソースタグをバインドする

リソースタグのバインドを解除する

MIG / RMIG

なし

自動修復と自動スケーリングをオフにする(有効になっている場合)

自動修復と自動スケーリングの設定を復元する

タグ

テスト用に一意の TagValue リソースを作成する

なし

Delete TagValue

ファイアウォール ポリシー

SYSTEM レベルの FirewallPolicy リソースを作成する

DENY ルールを入力し、ポリシーを関連する VPC にバインドする

VPC からバインドを解除して FirewallPolicy を削除する

緊急時の手動復旧

障害注入テストで実験を自動的に停止できないバックエンドの壊滅的な障害が発生した場合は、影響を受ける 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 インスタンス] ページに移動します。
  2. 分離障害の影響を受ける特定の VM インスタンスを選択します。
  3. インスタンスの詳細ページで、[タグ] を管理するセクションに移動します。
  4. Fault Injection Testing Fail Compute 障害に関連付けられている試験固有のタグ バインディングを特定します。
  5. VM からタグ バインディングを削除します。

タグが削除されると、関連付けられたファイアウォール ポリシーは VM をターゲットにしなくなり、接続が復元されます。

gcloud CLI を使用した手動復元

Google Cloud CLI を使用して、VM からテストタグ バインディングを手動で削除できます。次のコマンドで、TAG_VALUE_NAME, PROJECT_NUMBER, ZONEVM_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 をターゲットにしなくなり、接続が復元されます。