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

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

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

銀行エンジニアリング Lab 05:Operations Lab(障害 → インシデント → 調査 → 復旧)

結果不明の送金という障害を起こし、Operations Centerで見つけ、追跡し、インシデントとして記録し、照会で復旧するまでを一通り体験します。

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

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

Prerequisite: BANKING SYSTEM

LEARNING GOALS

このページで学ぶこと

  • キューからの初動
  • 追跡画面の読み方
  • インシデントの記録と復旧の確認

PLAIN LANGUAGE

まず、ここだけつかむ

1

結果不明の送金を Operations Center で見つけ、追跡し、インシデントとして記録します。

2

照会で状態を事実に合わせて復旧し、キューから消えることを確かめます。

3

原因と対応を記録して解決し、管理責任者がクローズします。

DIFFICULT PARTS, STEP BY STEP

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

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

01

初動

やさしく言うと

問題を見つけた直後の最初の行動です。

なぜ必要?

誤った初動が被害を広げるためです。

Minibankでは

Runbookの「再送しない」から始める。

02

復旧の確認

やさしく言うと

直ったことを客観的に確かめることです。

なぜ必要?

直ったつもりの見落としを防ぐためです。

Minibankでは

キュー・照合差異・決済バッチの件数が0に戻る。

03

事後記録

やさしく言うと

原因と対応を残すことです。

なぜ必要?

組織として学ぶためです。

Minibankでは

インシデントの root_cause と resolution。

準備

seed で、ひかり架空銀行宛の結果不明の送金1件と、それに関連付いたインシデント1件が作られています。

open 'http://localhost:54336/local/login?as=operator&next=/admin/ops-center'

演習

演習操作観察すること
1. 見つけるSYSTEM STATUS と Exception キューを見るPayments が RED、結果不明が HIGH で先頭
2. たどる「原因を追跡」状態の履歴、決済システム側は ACCEPTED、資金確保の記帳、関連インシデント
3. 記録するインシデントを調査中にし、メモを残すタイムラインに STATUS・NOTE が追記される
4. 復旧する担当画面(支払詳細)で照会SETTLED になり、キューと照合差異から消える
5. 解決する原因と対応を入力して解決 → manager でクローズ原因なしでは解決できない。operator はクローズできない

振り返り

  • 最初の5分で何を確認し、何をしてはいけなかったか
  • インシデントの記録だけを読んだ人が、何が起きてどう直したか分かるか

CHECK YOUR UNDERSTANDING

3問で理解チェック

答えを頭の中で考えてから、各項目を開いて確認してください。

Q1Labで復旧に使う操作は?
答え

支払詳細での照会です。

Q2インシデントをクローズできるのは?
答え

管理責任者です。

Q3照会後、Exceptionキューの項目はどうなりますか?
答え

状態がSETTLEDになり、自動的に消えます。

ここまで読めましたか?

完全に暗記する必要はありません。大切な考え方を説明できそうなら押してください。

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/be-incident-recoveryインシデント管理
  • CURRENT IMPLEMENTATIONsrc/app/admin/(protected)/ops-center/page.tsxOperationsCenterPage()Operations Center画面
  • CURRENT IMPLEMENTATIONscripts/banking/v12-operations.test.mjs例外・照合差異・承認キュー、追跡、インシデント、営業日外の停止のDBテスト