銀行エンジニアリング 16:Operations Center — 問題を見つけ、原因をたどる
銀行の運用は、正常に動いていることの確認より「どこで何が止まっているか」をすばやく見つけることが中心です。MiniBank v12のOperations Centerで、状態・キュー・追跡・監査ログのつながりを学びます。
v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。
Prerequisite: BANKING SYSTEMLEARNING GOALS
このページで学ぶこと
- SYSTEM STATUSとキューの読み方
- 例外・照合差異・AML・承認の4つのキュー
- 1件の問題から原因と影響をたどる手順
PLAIN LANGUAGE
まず、ここだけつかむ
Operations Centerは、対応が必要な項目を重要度順に並べ、担当画面・追跡・手順書につなぐ作業場です。
キューは各業務のデータから毎回計算され、運用画面が状態を持ち直すことはありません。
1件の問題から、履歴・記帳・関連する口座・監査ログまでたどれます。
DIFFICULT PARTS, STEP BY STEP
難しいポイントを、順番にほどく
専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。
Exception Queue
通常の流れから外れた項目の一覧です。
例外を漏れなく処理するためです。
結果不明の送金、決済の一部失敗、整合性の検出など。
Read Model
他のデータから組み立てる読み取り専用の見方です。
状態の二重管理を避けるためです。
opscenter.items() と system_status()。
Trace
1件の対象から原因と影響をたどることです。
症状から真因へ最短でたどり着くためです。
opscenter.trace()。
Level 1 基礎:ダッシュボードではなく「作業場」
数字を並べるだけの画面では、何をすればよいかが分かりません。Operations Centerは、対応が必要な項目を重要度順に並べ、それぞれに「担当画面」「原因を追跡」「手順書(Runbook)」を付けています。
- 01見つける(SYSTEM STATUS・キュー)
- 02たどる(Trace:履歴・記帳・関連する口座・監査ログ)
- 03直す(各業務の担当画面)
- 04記録する(インシデント)
Level 2 銀行業務:4つのキュー
| キュー | 入る項目(例) | 誰が直すか |
|---|---|---|
| Exception(例外) | 結果不明の送金、決済バッチの一部失敗、不成立、整合性チェックの検出、融資の延滞・デフォルト候補 | 決済・台帳・融資の担当 |
| Reconciliation(照合差異) | GLと補助元帳の差異、決済システムとの状態差異、未解消の仮受金、融資契約と仕訳の差異、融資の利息計上の遅れ、預金価格の計算と仕訳の差異 | 経理・照合の担当 |
| AML | 未対応アラート、調査中・二次確認待ち・上申中のケース | AML担当 |
| Approval(第三者確認待ち) | 法人支払の承認、残高修復の確認、v7調査の独立確認、法人予定支払ケース、AMLの二次確認、融資の決裁・実行・分類の確認、預金価格の版の承認 | 依頼者とは別の担当者 |
Level 3 システム:MiniBankでの実装
- キューは opscenter.items() が、各業務のテーブルから毎回計算する。Operations Center側に状態のコピーを持たないので、業務画面で直せばキューからも消える
- SYSTEM STATUS は Core Banking・Payments・Ledger・Accounting・Reconciliation・AML・EOD/Incident の7領域を GREEN / AMBER / RED と理由で表示する
- opscenter.trace() は、支払・Business Event・仕訳・口座・AMLケース・アラートを起点に、状態の履歴、決済システム側の記録、記帳、同じ口座の支払とアラート、関連インシデント、監査ログを返す
- 各キュー項目の手順書は src/domain/platform/operations.ts の RUNBOOKS にある
異常時:結果不明の送金が見つかった
| 段階 | Operations Centerでの動き |
|---|---|
| 症状 | Payments が RED、Exception キューに「他行送金の結果不明」(HIGH) |
| 調査 | 「原因を追跡」で、状態が SENT → TIMEOUT → RESULT_UNKNOWN と進んだこと、決済システム側では ACCEPTED であることを確認 |
| 原因 | 受取銀行(架空)が応答を返さない |
| 対応 | Runbookに従い再送せず、支払詳細で照会。SETTLED になりキューから消える |
| 記録 | 件数が多い・長引く場合はインシデントを起票し、支払を関連付ける |
Level 4 アーキテクチャ:Read Modelとしての運用画面
運用画面が自分で状態を持つと、業務データとずれた「二重の真実」が生まれます。MiniBankは運用画面を、各業務(System of Record)から組み立てる読み取り専用のモデル(Read Model)にし、書き込みはインシデントの記録だけにしています。
どこを確認すればよいか
- 管理画面「Operations Center」:SYSTEM STATUS・キュー・インシデント・Audit Trail
- 原因の追跡(/admin/ops-center/trace)
CHECK YOUR UNDERSTANDING
3問で理解チェック
答えを頭の中で考えてから、各項目を開いて確認してください。
Q1キューの項目を消すにはどうしますか?
担当画面で原因を直します。キューは自動的に再計算されます。
Q2Approvalキューに入るのはどんな作業ですか?
依頼者とは別の担当者による承認・確認が必要な作業です。
Q3SYSTEM STATUS の領域はいくつありますか?
7つです。
完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。
SOURCE TRAIL
根拠と関連教材
CURRENT IMPLEMENTATIONは確認したrepository内の実装です。HISTORICAL IMPLEMENTATIONは導入・修正の履歴で、後続migrationによる再定義があり得ます。RELATED LESSONは教材への案内で、実装の一次Sourceではありません。ASSUMPTIONは仮定、UNKNOWNは未確認を表します。
確認基点: d02eae8914f39cbf06bfe422dc39c71886f82b3e / 2026-09-11。稼働環境への適用確認: UNKNOWN。パス実在の自動検査と、記述した技術的事実の確認は別です。
Implementation Status: IMPLEMENTED IN MINIBANK(この教材が扱うコードの範囲)
- RELATED LESSON/docs/operational-readiness運用できる設計
- RELATED LESSON/docs/audit監査証跡
- CURRENT IMPLEMENTATION
supabase/migrations/20260930170000_v20_freeze_hardening.sqlopscenter.items各業務から毎回計算するキュー(v12の本体に、v14で融資、v15で預金価格、v17で復旧、v18でリスクの承認待ち、v19でグループの照合待ち・相互勘定の差、v20でモデルの版の承認待ちを追加) - HISTORICAL IMPLEMENTATION
supabase/migrations/20260924140000_v12_operations_center.sqlv12で導入したキューの定義(現在の定義は v15 が引き継ぎ) - HISTORICAL IMPLEMENTATION
supabase/migrations/20260930100000_v14_lending.sqlv14で融資のキューを追加した定義(現在の定義は v15 が引き継ぎ) - HISTORICAL IMPLEMENTATION
supabase/migrations/20260930110000_v15_pricing.sqlv15で預金価格のキューを追加した定義(現在の定義は v17 が引き継ぎ) - HISTORICAL IMPLEMENTATION
supabase/migrations/20260930130000_v17_reliability.sqlv17で復旧(書込停止)のキューを追加した定義(現在の定義は v20 が引き継ぎ) - CURRENT IMPLEMENTATION
supabase/migrations/20260930130000_v17_reliability.sqlopscenter.system_status領域ごとの状態(v17で復旧の領域を追加) - CURRENT IMPLEMENTATION
supabase/migrations/20260924140000_v12_operations_center.sqlopscenter.trace / opscenter.audit_for対象から原因・影響・監査ログまでの追跡 - CURRENT IMPLEMENTATION
src/domain/platform/operations.tsRUNBOOKSキュー項目ごとの手順書