Fault Injection Testing で復元力テスト戦略を簡素化
Toby Owen
Group Product Manager, Google Cloud
※この投稿は米国時間 2026 年 8 月 27 日に、Google Cloud blog に投稿されたものの抄訳です。
データベースの障害やネットワーク パスの不調が発生しても、ミッション クリティカルなクラウド サービスはオンラインの状態を維持し続けなければなりません。しかし、現代の分散システムは複雑化しており、高可用性の確保はますます困難になっています。
障害発生時にも可用性と信頼性を維持できるよう、Fault Injection Testing のプレビュー版をリリースいたしました。Fault Injection Testing は、開発者やアーキテクトが障害テストを自動化し、サービス中断時にも予測可能な動作を確保できるように設計されています。
意図的に障害を環境に注入することで、実際のサービス停止が顧客に影響を与える前に、安全メカニズムを検証できます。
ネイティブな復元力テストが重要な理由
セルフホスト型のデータセンターとは異なり、クラウド アプリケーションでは、フェイルオーバー テストを容易にするために、基盤となるインフラストラクチャへの直接アクセスが制限されています。
アプリケーションが障害を乗り越えられることを証明するネイティブ ツールがなければ、信頼性戦略に重大なギャップが生じ、複数のリスクにさらされることになります。
-
信頼と評判の低下: 障害が頻繁に発生したり、パフォーマンスが低下したりすると、顧客の不満を招き、ブランド イメージに長期的なダメージを与えます。
-
コンプライアンスと規制によるペナルティ: 多くの業界、特に金融機関では、障害復旧機能を証明できないと、コンプライアンス違反、監査、罰金につながる可能性があります。
-
移行の遅延: ゾーン障害が発生しても重要なアプリケーションの安定性を維持できることを検証できない場合、大規模な移行プロジェクトは停滞してしまいがちです。
Fault Injection Testing の仕組み
Fault Injection Testing では、テスト テンプレートを作成してテストを実行できます。これらのテンプレートはブループリントとして機能し、注入する特定の障害と、テストの対象となるリソースを定義します。
この公開プレビュー版では、次の 2 つの主な障害シナリオをテストできます。
-
Cloud SQL のフェイルオーバー: この障害は、高可用性 Cloud SQL インスタンスの、プライマリ ゾーンからスタンバイ ゾーンへのフェイルオーバーをトリガーします。
-
アプリケーション トラフィックの劣化: レイヤ 7 ロードバランサを介して、レイテンシと HTTP エラーコードを選択的に追加できます。
Fault Injection Testing では、障害が注入される前に自動ドライランが実行されます。この読み取り専用のシミュレーションでは、権限がチェックされ、影響を受けるすべてのリソースの最新リストが提供されます。
スコープを確認したら、手動で注入を開始できます。テンプレートで定義した期間が経過すると、タイマーが切れて障害が元に戻ります。
テスト中に、アプリケーションが計画どおりに動作していることを確認できます。計画どおりに進まない場合は、停止と復元の機能を使用して、テストを直ちに停止し、リソースを通常の状態に復元できます。
プレビュー期間中は、ベスト プラクティスとして、本番環境以外で FIT を使用することをおすすめします。プレビュー版では、サービスが既存のテスト手法にどのように適合し、補完するのかを早期に確認できます。また、プロダクトの改善に役立つフィードバックを Google に提供することもできます。
企業向けに設計
KeyBank や Servier などのパートナーは、すでに Fault Injection Testing を使用してデプロイを検証しています。これらの組織はネイティブなフォールト インジェクションを活用することで、ゾーンの停止といった極めて過酷な障害シナリオをシミュレーションし、サービスの安定稼働を確かなものにしています。
Fault Injection Testing を使ってみる
Fault Injection Testing は、Google Cloud コンソール、gcloud CLI、REST API を介して利用できます。
-
プレビュー版へのアクセスをリクエストする: Google Cloud アカウント チームに連絡して、プロジェクトをプレビュー版に追加します。
-
API を有効にする: Google Cloud コンソールで「Fault Testing API」を検索し、有効にします。
-
ロールを割り当てる: チームに roles/faulttesting.operator ロールがあり、テストを構成して実行できることを確認します。
-
最初のドライランを実行する: 本番環境以外で Cloud SQL またはロードバランサ リソースのテンプレートを作成し、ドライランを実行して潜在的な影響を確認します。
実装の詳細については、Google のアカウント担当者にお問い合わせいただくか、Fault Injection Testing のユーザーガイドをご覧ください。
- Google Cloud、グループ プロダクト マネージャー、Toby Owen



