全2563文字
PR

 2020年10月1日に東京証券取引所(以下、東証)のシステム障害が発生した。執筆時までに開示された情報は限定的なので、まだ推測の域を出ないところもある。だが、日本に非常に大きな影響を与える出来事だと思うので、今回のシステム障害に関して技術者の視点で考察しておきたい。

 まず、執筆時までに正式に発表された情報を要約すると以下の通りだ

* 2020年10月1日付日本経済新聞電子版「東証社長『市場運営者として責任痛感』 終日売買停止」 https://www.nikkei.com/article/DGXMZO64470900R01C20A0000000/

 障害が発生したのは、高速取引システム「アローヘッド(arrowhead)」内にある、株価などの情報を配信する「相場報道システム」である。

  • 最初に、ネットワークの共有ディスク装置1号機のメモリー故障が発生した。予定では2号機の運用に切り替わるはずだったが、うまく切り替わらなかった。
  • その影響で、情報配信ゲートウェイというサーバーの配信処理、および取引所側の監視処理に異常が発生した。
アローヘッドのシステム概要
アローヘッドのシステム概要
(出所:東京証券取引所)
[画像のクリックで拡大表示]

問題発生箇所は、まさにシステムの「アキレス腱」

 今回の問題は、丸1日取引が停止になるという大変残念な結果になった。慎重に設計されたシステムにおける最大の弱点である「アキレス腱(けん)」が切れてしまったようなもので、今後も同様の問題が起こる可能性は捨てきれない。

 事の始まりはディスク装置のメモリー故障だが、問題はそこではない。ハードウエアの故障はどんなシステムでも想定していることだからだ。問題は1号機の故障に伴い、2号機と呼ばれる装置に運用が切り替わらなかったことにある。

 「切り替わる」という表現から、恐らく今回は2台で構成されるActive-Standby(アクティブ/スタンバイ)構成のHA(High Availability)クラスターを組んでいたと思われる〔後述するActive-Active(アクティブ/アクティブ)構成の場合は、切り替わるではなく「切り離す」と表現する〕。

 Active-Standby構成のHAクラスターは、今回のようなミッションクリティカルな(障害や停止が許されない)システムにおいて、最後まで残っている「アキレス腱」のようなものだ。弱点であると同時に、失敗するとシステム全体の停止につながる。

 筆者はかねてこのActive-Standby構成のHAクラスターには否定的だ。その理由は、設計者の期待通りに動かない要素が多く、システム障害につながりやすいからである。

 ここからは、Active-Standby構成の問題点と、この問題を防ぐために何ができるかについて考えてみたい。