RSS クラウド ブログ
フォロー
Cloud Runで高可用性・マルチリージョナルサービスを構築する方法
Cloud Next 2025 の講演「Cloud Run で高可用性マルチリージョンサービスを実行する」では、Google Cloud のサーバーレスプラットフォーム上で、障害に強いアプリケーションを構築する方法が紹介されました。Cloud Run は、需要に合わせて容量を調整する自動スケーリングにより、組み込みの耐障害性を提供します。また、データプレーンとコントロールプレーンが分離されており、管理操作が実行中のサービスに影響を与えないようになっています。リージョン内ではデフォルトで N+1 のゾーン冗長性が提供され、ゾーン障害からアプリケーションを分離します。コンテナプローブ、特に Livenessプローブは、正常でないインスタンスを特定して削除するために不可欠です。100% の可用性は達成不可能ですが、アプリケーションは高い耐障害性を持つようにすることができます。リージョンレベルの耐障害性を実現するには、グローバル外部アプリケーションロードバランサーと Serverless NEG を使用して、マルチリージョンデプロイメントを設計する必要があります。データ冗長性とレプリケーションは、マルチリージョンアーキテクチャにおける重要な課題であり、Cloud Spanner のようなサービスがソリューションを提供しています。間もなくリリースされる「Service Health」機能のプレビューでは、サービスが利用できなくなった場合にリージョン間で自動的にトラフィックをフェイルオーバーする機能が提供されます。現在プライベートプレビュー中のこの機能は、各 Cloud Run サービスで Readinessプローブと最小インスタンスを設定する必要があります。Readinessプローブはインスタンスの正常性をチェックし、Livenessプローブは正常でないインスタンスをシャットダウンします。Service Health は、インスタンスの集計された準備状況を使用してサービスの状態を判断し、必要に応じてトラフィックをリダイレクトします。デモでは、Service Health が障害発生時に正常なリージョンへのシームレスなトラフィック移行をどのように可能にするかが示されました。