10日に発生した銀行間送金システム「全国銀行データ通信システム(全銀システム)」の障害は2日にわたり続き、12日朝までに復旧したが、影響を受けた取引は約506万件にも上った。同システムと各金融機関のシステムを接続するリレーコンピュータ(中継コンピュータ)の更新作業中に不具合が生じたことが原因だが、各銀行ごとにリレーコンピュータは2系統(東京の全銀システム接続分と大阪の同システム接続分)あり、障害時に備えて相互に補完し合う設計になっていたものの、今回は2系統のリレーコンピュータで同時に更新作業を行っていたことがわかり、「あり得ない」との指摘が相次いでいる。さらに、リレーコンピュータのプログラムで不具合が発生した後、プログラムを更新前の状態に戻すのではなく、プログラムの修正を行ったことで、復旧までに時間を要する結果となったのでないかとも指摘されている。果たして作業手順、そして復旧手順は適切だったのか。専門家の見解も交え検証してみたい。
全国銀行資金決済ネットワーク(全銀ネット)が運営する同システムは、1000以上の金融機関が接続し、企業や個人間の送金に使われる基盤。7~9日の3連休中に14の金融機関で同システムと各金融機関のシステムを接続するリレーコンピュータの更新作業を実施していたが、10の金融機関で銀行間手数料をチェックする機能に不具合が発生。その結果、10の金融機関から他行宛ての振り込み、および、これらの金融機関への他行からの振り込みができなくなった。
障害発生の原因は前述のとおりリレーコンピュータ更新作業での不具合だが、大手ベンダSEはいう。
「リレーコンピュータを2系統設けることで、例えば東京の全銀システムとの接続系統で障害が発生した場合は大阪のシステムに接続し、業務を停止しないで済む。一方がもう一方のバックアップシステムとなるよう設計されていたわけだが、2つの系統を同時に更新作業して、もし同時にコケれば、このバックアップは成立しなくなる。なので、通常は時間をずらして一系統ずつ更新作業を行うはずだが、そのあたりのことを熟知しているはずのNTTデータが、なぜそのような作業手順を踏んだのかが疑問」
ITジャーナリストの山口健太氏はいう。
「たしかにシステムを二重化することで障害発生時でも処理を続行できるという意味では、同時に更新するのは不可解に思えるかもしれません。ただ、全銀システムの二重化はハードウェア障害や自然災害に備えたもので、その場合は2つの系統をなるべく同じ状態に維持しておくのが一般的です。ソフトウェアの障害はあらかじめテストで排除することで、同時に更新しても問題はないと判断したのでしょう」
復旧手順
また、復旧手順にも疑問の声があがっている。リレーコンピュータのプログラムで不具合が生じた後、いったん更新前の状態に戻すのではなく、プログラムの修正作業を行ったことで障害が長引いたのではないかという見方が出ているのだ。
「更新前の状態に戻し、いったんそこで作業を中止して後日改めてリトライすることになると、次の連休まで待たなければならなくなる可能性もある。今回のリレーコンピュータの更新作業は、何回にも段階を分けて2029年までにすべてを完了させる大がかりなスケジュールだということなので、後ろのスケジュールに遅れが生じることを懸念したのかもしれない。不具合が出た際にその場でプログラムの修正作業に入るケースは普通にあるので、イレギュラーな対応だったというわけではない。更新作業は7~9日の3連休を使って行われ、現場としてはプログラム修正しても10日朝の稼働までには間に合うという算段だったのだろうし、正しく修正したと思われたプログラムがいざ本番を迎えると正常に作動しなかったのかもしれない」(大手ベンダSE)
山口氏はいう。
「元のバージョンに切り戻すタイミングとしては、10日朝の不具合発覚時と10日夜間の改修失敗時の少なくとも2回あったはずですが、いずれも改修の続行が最もリスクが低いとの判断を下しています。こういった場合、現場レベルでは問題の切り分けと対策が確立していたとしても、トップ判断で切り戻しを決断してもおかしくない状況といえます。結果的にはうまくいったものの、失敗時の想定が不十分だったために危ない橋を渡ることになった印象を受けます。報告書などで説明を求められることは必至でしょう」
全銀ネットの対応に課題も
今回の障害をめぐっては、全銀ネット側の対応にも疑問が出ている。障害が発生した10日、全銀ネットは「バックアップ手段を用いて、受付済の取引については、本日中の着金を予定している」と発表。その後、これを取り消し、「現在、バックアップ手段を用いて、振込取引の処理を実施している」と訂正。「バックアップによって、本日受け付けたものの作業を進めているが、量が多くて本日中に対応しきれるかの見通しが立たなくなった。そのため正確な表記に改めた」と釈明したが、結果的に復旧は12日にずれ込んだ。
「全銀ネットは国内の銀行が加盟する業界団体、全国銀行協会の下部組織みたいなもので、要は寄り合い所帯。システムに精通する人材も多いとは思えず、事実上NTTデータに丸投げ状態だったとみられる。リレーコンピュータの更新作業にあたっては、NTTデータは各銀行のシステム部門と調整する必要があり、『かなり面倒なプロジェクト』であることは想像できるが、これだけ大掛かりなプロジェクトともなれば、NTTデータと全銀ネット、関係する各銀行の担当者はプロマネレベルの責任者を交えて、各作業の手順やスケジュール、コンティンジェンシープランについて入念な事前レビューをしているはず。にもかかわらず、なぜ2日も止まる障害が起きたのかは気になるところ。
みずほ銀行の再三にわたる大規模システム障害の教訓を生かし、大手金融機関では何度も作業のやり直しが発生することを前提としてバッファを持たせた全体スケジュールを組むようにしており、全体のスケジュール策定が適切だったのかも検証が必要だろう。現時点でも真因が不明ということだが、全銀ネット側にプロジェクトを統括して推進していく能力があるのかは疑問で、今後のスケジュールが大幅に遅れる懸念もあるのでは」(大手ベンダSE)
影響がおよんだ10の金融機関は、三菱UFJ銀行、りそな銀行、埼玉りそな銀行、関西みらい銀行、山口銀行、北九州銀行、三菱UFJ信託銀行、日本カストディ銀行、もみじ銀行、商工組合中央金庫。
(文=Business Journal編集部、協力=山口健太/ITジャーナリスト)