Fault Injection Testing の概要

Fault Injection Testing を使用すると、フォールト インジェクションのテストを実施できます。これは、お客様に影響を与える予期しない実際の障害が発生する前に、システムに障害を発生させて復元力をテストする方法です。Fault Injection Testing を使用すると、環境内のさまざまなコンポーネントに障害を発生させ、アプリケーションが予測可能な方法で障害を処理することを確認できます。 Google Cloud

Fault Injection Testing の最初のリリースでは、障害は通常、ターゲット リソースの障害と同等です。アプリケーションにフォールト トレランスを組み込んでいる場合、これらの障害により、アプリケーションはトラフィックを正常なインスタンスにリダイレクトします。

障害を発生させる前、発生中、発生後にアプリケーションを観察して、アプリケーションが想定どおりに障害を処理したことを確認する必要があります。

Fault Injection Testing を使用する理由

Fault Injection Testing を使用すると、障害シナリオの全範囲にわたって、アプリケーションの復元力に関するテストを で Google Cloud 実行できます。この範囲の主な部分は、ゾーンとリージョンの障害を近似するテストを実行することです。これは、単独で完全に実行することが困難または不可能な場合があるためです。 Google Cloud また、Fault Injection Testing は、本番環境に導入する前に、設計された復元メカニズムでテストを実行できるため、開発と改善に役立つツールとしても機能します。本番環境で問題が発生する前に問題を検出することで、設計の改善を迅速に行い、コストのかかるダウンタイムや評判の低下を回避し、全体的なエクスペリエンスを向上させることができます。

-ネイティブのフォールト インジェクション プロダクトがない場合、独自のテストを行う必要があります。 Google Cloud独自のテストを行うことは問題があります。 Google Cloud は共有環境であり、多くの場合、基盤となるサービスやインフラストラクチャに直接 アクセスできない可能性があります。このシナリオでは、アプリケーションの復元力を適切にテストするという目標を達成できない、不十分で手間のかかるテストになる可能性があります。 Fault Injection Testing を使用すると、これらのテストを自動化する手間を軽減し、通常はアクセスできない障害モードにアクセスして、テストの忠実度を高めることができます。

規制対象のお客様の場合、業界の規制機関に準拠するためには、定期的なテストの実施が必要となることがよくあります。このような場合、テストは障害復旧テストの形式で行われ、ゾーンまたはリージョンの障害によってアプリケーションが効果的に動作しなくなることはありません。

Fault Injection Testing の使用方法

Fault Injection Testing を使用する前に、次のことを確認してください。

  • テスト対象の環境には冗長性があります。障害が発生した場合でも、この環境のアプリケーションは冗長インフラストラクチャで引き続き実行できます。
  • リソースの管理者またはオーナーの場合: Fault Injection Testing のテストの設定と実行の権限を付与するユーザーを慎重に検討してください。 Google Cloud 環境内の実行中のインフラストラクチャ コンポーネントで障害が発生すると、中断が発生します。 Google Cloud したがって、クラウド環境のアーキテクチャと、そのアーキテクチャの復元力を安全にテストする方法を理解しているオペレーターにのみ権限を付与し、意図しない中断が発生しないようにテストを構成する必要があります。

Fault Injection Testing を使用するには、テストを設定します。新しいテストを設定するには、まずテスト テンプレートを作成します。このテンプレートでは、発生させる障害とターゲット リソースを定義します。次に、テンプレートからテストを実行します。テストは、テンプレートで選択したリソースに対して実行される、テンプレートで定義された一連のアクションです。