全3161文字
システム障害の原因はソフトウエアの不具合……。こう聞くと「またか」とがっかりする。不具合とは何だろう。プログラムのバグなのかランタイムエラーなのか、メモリーリークもありえるし不正アクセスによるものかもしれない。不具合の中身に踏み込まなくては、少なくともIT専門の記事としては突っ込みが足りないと言われるだろう。
2023年10月10日に発生した「全国銀行データ通信システム(全銀システム)障害」の不具合の中身がいまだ判然としない。システムを運営する全国銀行資金決済ネットワーク(全銀ネット)、開発ベンダーであるNTTデータの記者会見から、何が起きたかとそれを引き起こした原因はかなり分かってきた。ただ、発生から1カ月以上過ぎても、全銀ネットの言う「真因」は調査中のままだ。
これまでに分かった障害の原因を整理するとともに、いまだに残る3つの疑問とそれに対する推測を示したい。
64ビットへの対応不足で不具合
全銀システム障害のあらましはこうだ。全銀ネットと各金融機関をつなぐRC(中継コンピューター)に不備があり、三菱UFJ銀行やりそな銀行など10の金融機関で他行宛の振込処理ができなくなった。RCでは金融機関から届いた振込電文に対して「内国為替制度運営費」の設定をチェックする処理がある。そこで必要となるデータを格納するテーブルに異常があり、処理に失敗した。
RC上にある該当テーブルは「生成プログラム」で事前にディスク上に作成しておき、RCの起動時に共有メモリーに読み込む。この生成プログラムに問題があった。10月7日から9日にかけて行ったRCの更改作業に伴い、OSを従来の32ビットから64ビットに変更したのが原因の1つという。2023年11月6日の会見でNTTデータの鈴木正範取締役副社長は、「64ビットOSへの変更に当たり生成プログラムを64ビットに対応させなければならない箇所があったが、その部分に不具合があった」と述べた。
【疑問1】テーブルはどのような状態にあったのか
最初の疑問は、生成プログラムがつくったこのテーブルがどのような状態にあったかだ。2023年10月18日の全銀ネットの会見で辻松雄理事長は「インデックステーブルが破損」していたので、一部の金融機関コードが読み取れなかったと説明した。破損とはどういう状態を指しているのか。
「生成プログラムによるディスク内へのテーブル展開処理自体は正常終了しており、エラーは発生していない」(辻理事長)。つまり、作成処理は正常終了しながら、テーブルは破損していたわけだ。こうした状況を踏まえると、ここで言う破損とは、異常値がインデックステーブルに混入していたとみられる。インデックスデータが読めないので、金融機関コードを格納するテーブルをポイントできずに、アプリケーションがエラーになったと推測できる。
【疑問2】なぜテーブルは破損したのか
2つめの疑問は、OSを32ビットから64ビットに切り替えただけで、なぜテーブルが破損するのかだ。「ハードの物理メモリー不足によるものではない」(鈴木取締役副社長)というのが、全銀ネットおよびNTTデータのここまでの見解である。
OSのビット数のほかにも、RC17シリーズとRC23シリーズには大きく2つの違いがある。1つは、これまで各加盟銀行センターに置いていたRCを、全銀センターに移したこと。それに伴ってサーバーを仮想化したという。物理メモリー不足ではないとするが、仮想サーバーへのメモリー割り当てに問題はなかったのだろうか。
違いはもう1つある。NTTデータの資料によれば、RC17からRC23への移行に伴って「全銀センターの各種テーブル、定義情報の変更」を行ったとある。変更の中身は明らかにされていないが、RC17とRC23でテーブル定義が異なるのは確かだ。もしかしたら、RCの全銀センターへの移動に関連した変更かもしれない。結果的に、こうしたRC17との違いもテーブルの破損につながった可能性はある。
November 16, 2023 at 03:00AM
https://ift.tt/DJQNcHE
全銀システム障害に残る3つの謎を追う、生成AIには負けられない - ITpro
https://ift.tt/FAnThaK
Mesir News Info
Israel News info
Taiwan News Info
Vietnam News and Info
Japan News and Info Update
Bagikan Berita Ini
0 Response to "全銀システム障害に残る3つの謎を追う、生成AIには負けられない - ITpro"
Post a Comment