学習・技術検証用デモ — 本システムは実際の銀行サービスではありません。

公開情報をもとに構築した教育目的のシステムです。実在する個人情報・口座情報・機密情報・認証情報等を入力しないでください。

ミニ銀行ACADEMY SYSTEM LEARNING
教材メニュー
学習進捗0 / 134
あと134項目
INTERMEDIATE · 中級COURSE 09 · BANKING ENGINEERING

銀行エンジニアリング 16:Operations Center — 問題を見つけ、原因をたどる

銀行の運用は、正常に動いていることの確認より「どこで何が止まっているか」をすばやく見つけることが中心です。MiniBank v12のOperations Centerで、状態・キュー・追跡・監査ログのつながりを学びます。

20 / 55
BANKING ENGINEERING · 銀行エンジニアリング

v8以降に実装した台帳・記帳エンジンなどを実際に動かし、正常時と異常時の両方から銀行システムの構造を学ぶ。

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • SYSTEM STATUSとキューの読み方
  • 例外・照合差異・AML・承認の4つのキュー
  • 1件の問題から原因と影響をたどる手順

PLAIN LANGUAGE

まず、ここだけつかむ

1

Operations Centerは、対応が必要な項目を重要度順に並べ、担当画面・追跡・手順書につなぐ作業場です。

2

キューは各業務のデータから毎回計算され、運用画面が状態を持ち直すことはありません。

3

1件の問題から、履歴・記帳・関連する口座・監査ログまでたどれます。

DIFFICULT PARTS, STEP BY STEP

難しいポイントを、順番にほどく

専門用語を覚えることより、「なぜ必要か」「このシステムのどこで使うか」を理解することが目標です。

01

Exception Queue

やさしく言うと

通常の流れから外れた項目の一覧です。

なぜ必要?

例外を漏れなく処理するためです。

Minibankでは

結果不明の送金、決済の一部失敗、整合性の検出など。

02

Read Model

やさしく言うと

他のデータから組み立てる読み取り専用の見方です。

なぜ必要?

状態の二重管理を避けるためです。

Minibankでは

opscenter.items() と system_status()。

03

Trace

やさしく言うと

1件の対象から原因と影響をたどることです。

なぜ必要?

症状から真因へ最短でたどり着くためです。

Minibankでは

opscenter.trace()。

Level 1 基礎:ダッシュボードではなく「作業場」

数字を並べるだけの画面では、何をすればよいかが分かりません。Operations Centerは、対応が必要な項目を重要度順に並べ、それぞれに「担当画面」「原因を追跡」「手順書(Runbook)」を付けています。

  1. 01見つける(SYSTEM STATUS・キュー)
  2. 02たどる(Trace:履歴・記帳・関連する口座・監査ログ)
  3. 03直す(各業務の担当画面)
  4. 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 IMPLEMENTATIONsupabase/migrations/20260930170000_v20_freeze_hardening.sqlopscenter.items各業務から毎回計算するキュー(v12の本体に、v14で融資、v15で預金価格、v17で復旧、v18でリスクの承認待ち、v19でグループの照合待ち・相互勘定の差、v20でモデルの版の承認待ちを追加)
  • HISTORICAL IMPLEMENTATIONsupabase/migrations/20260924140000_v12_operations_center.sqlv12で導入したキューの定義(現在の定義は v15 が引き継ぎ)
  • HISTORICAL IMPLEMENTATIONsupabase/migrations/20260930100000_v14_lending.sqlv14で融資のキューを追加した定義(現在の定義は v15 が引き継ぎ)
  • HISTORICAL IMPLEMENTATIONsupabase/migrations/20260930110000_v15_pricing.sqlv15で預金価格のキューを追加した定義(現在の定義は v17 が引き継ぎ)
  • HISTORICAL IMPLEMENTATIONsupabase/migrations/20260930130000_v17_reliability.sqlv17で復旧(書込停止)のキューを追加した定義(現在の定義は v20 が引き継ぎ)
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260930130000_v17_reliability.sqlopscenter.system_status領域ごとの状態(v17で復旧の領域を追加)
  • CURRENT IMPLEMENTATIONsupabase/migrations/20260924140000_v12_operations_center.sqlopscenter.trace / opscenter.audit_for対象から原因・影響・監査ログまでの追跡
  • CURRENT IMPLEMENTATIONsrc/domain/platform/operations.tsRUNBOOKSキュー項目ごとの手順書