概要

Google Cloudは2026年7月6日から10日の週にかけて、Cloud Runの新機能「Service Health」が一般提供(GA)になったことを発表した。この機能は、ビジネスクリティカルなアプリケーションの可用性を自動的に管理するもので、リージョン間のインスタンスヘルスチェックに基づき、障害が発生したリージョンからトラフィックを自動的に切り離すクロスリージョンフェイルオーバーを実現する。管理コンソール上のわずか2クリックで有効化できる手軽さも特徴で、これまで複雑な構成が必要だったマルチリージョンの高可用性(HA)構成を、大幅に簡素化できるとしている。

仕組みと設定方法

Service Healthは、グローバル外部Application Load Balancer、またはクロスリージョン内部Application Load Balancerと組み合わせて動作する。各リージョンのCloud RunサービスはリージョナルなサーバーレスNEG(Network Endpoint Group)経由でロードバランサーに接続されており、Service Healthはリージョンごとの集約された健全性ステータスを継続的に評価し、不健全と判断したリージョンへのルーティングを自動的に停止して、健全なリージョンへリクエストを再分配する。

健全性の判定にはインスタンス単位の「readiness probe(レディネスプローブ)」を利用する。開発者はサービスコード内にHTTP/1(Cloud Runのデフォルトであり、HTTP/2ではない)のエンドポイント、例えば/healthのようなパスを実装し、プローブ設定のパス名と一致させる必要がある。このエンドポイントへの応答結果をもとに、各インスタンス、ひいては各リージョンの健全性が評価される仕組みだ。

前提条件と制限事項

Service Healthを利用するには、各リージョンにサービスレベルまたはリビジョンレベルの最小インスタンスを最低1つ設定しておく必要があり、異なるリージョンにまたがる最低2つのサービスが前提となる。一方で、グローバル外部Application Load Balancerおよびクロスリージョン内部Application Load Balancerにおいて、サーバーレスNEGバックエンドが5つを超える構成には対応していない点や、IAP(Identity-Aware Proxy)の設定はCloud Run側から直接行う必要がある点、サービス削除時には不健全ステータスが報告されない点など、いくつかの制約もある。

推奨されるロールアウト手順

Google Cloudは、新しいリビジョンをデプロイする際にはカナリアリージョンを使って段階的にテストし、問題がないことを確認しながらトラフィック割合を徐々に引き上げていく手法を推奨している。各リージョンでこの手順を繰り返すことで、安全にロールアウトを進められるとしている。Service HealthはCloud Runのマルチリージョン運用における可用性向上の主要な手段として、今後のエンタープライズ用途での活用が見込まれる。