「落ちない」金融クラウドの作り方── 99.99%を実現する設計の裏側
インフラ

「落ちない」金融クラウドの作り方── 99.99%を実現する設計の裏側

M. チェン

金融システムに求められる可用性は、一般的なWebサービスとは桁が異なります。年間ダウンタイムわずか52分──これが99.99%(フォーナイン)の意味です。東京証券取引所のシステム障害が社会的なインパクトを持つことからも分かるように、金融インフラの停止は許されません。

当研究所が設計支援した国内メガバンク向けクラウド基盤では、3つのリージョンにまたがるアクティブ-アクティブ構成を採用しました。従来のアクティブ-スタンバイ方式では、フェイルオーバー時に数分のダウンタイムが発生しますが、アクティブ-アクティブでは常時全リージョンがトラフィックを処理するため、障害時の切り替え遅延を最小化できます。

データ整合性の確保には、CRDTベースの結果整合性モデルを一部導入しました。強整合性が求められるトランザクション処理にはRaftベースの合意プロトコルを使用し、参照系クエリには結果整合で十分な設計としています。これにより、リージョン間レイテンシの影響を最小限に抑えました。

障害検知と自動復旧のパイプラインも重要です。ヘルスチェックの粒度を「リージョン単位」ではなく「サービスメッシュのエンドポイント単位」まで細分化し、部分障害にも対応できるようにしました。Kubernetes上のIstioサービスメッシュにカスタムのCircuit Breakerポリシーを組み込み、異常検知から復旧までの平均時間を8秒以下に短縮しています。

本番運用で得られた最大の教訓は、「テストされていない復旧手順は存在しないのと同じ」ということです。月次で実施するカオスエンジニアリング演習が、チームの障害対応力を維持する鍵となっています。

記事一覧に戻る