みずほ銀行ぎんこうシステム障害しょうがいまな

みずほ銀行ぎんこうシステム障害しょうがい調査ちょうさ報告ほうこくしょ公開こうかいされたのがニュースになって、Twitterなどで色々いろいろひとがコメントをしているのをた。140文字もじしかけない空間くうかん他人たにん失敗談しっぱいだんあしりをするのは簡単かんたんだが、そこからは一時いちじ爽快そうかいかん以外いがいなにるものがないので、ぼくはそういうのはカッコわるいとおもっている。

そこで、ちゃんとんでみたらまった他人事たにんごとでない部分ぶぶん沢山たくさんあるし、非常ひじょう面白おもしろ勉強べんきょうになったので、ブログにまとめてみる。

技術ぎじゅつてきはなし

銀行ぎんこうのシステムがどのようになっているのか、全然ぜんぜんイメージがいていなかったので、それがまず勉強べんきょうになった(p.29)。

トラフィックのソースにおうじて用意よういされた色々いろいろなシステムから基幹きかんシステム「MINORI」の取引とりひきメインバスにトラフィックがながれ、そこから各種かくしゅシステムへとリクエストがおくられていく。このあたりService Oriented Architectureらしい。開発かいはつ当時とうじとしては(いまも?)モダンなアーキテクチャだし、結合けつごう出来できていて、全体ぜんたいとしてはとう設計せっけいえる。

入力にゅうりょくのゲートウェイには処理しょり区画くかくという名前なまえがついていて、それぞれさんじゅう多重たじゅうされたうえで30の処理しょり区画くかくようするにKubernetesでうpodみたいなものか)にかれている。感心かんしんしたのは、処理しょり区画くかくにはサーキットブレーカーがついていて、ここを経由けいゆして流入りゅうにゅうするトラフィックのエラーりつたかまると、サーキットブレーカーが自動的じどうてき処理しょり区画くかく閉塞へいそくして負荷ふかげる仕組しくみになっているのだそうだ。こういうのはわりとモダンなかんがかただ。

障害しょうがい経緯けいい

障害しょうがい発生はっせいいたるドミノだおしの技術ぎじゅつてき側面そくめんからの経緯けいいは、かりみしかなく、まった他人事たにんごととはおもえない。

  • 障害しょうがい発生はっせい前日ぜんじつ当日とうじつ問題もんだいこすシステムのひとつからモニタリングに警告けいこくがるが、見逃みのがされる(p.50)。想像そうぞうだが、これだけだい規模きぼなシステムのことだから、恒常こうじょうてき色々いろいろ警告けいこくがっていて、全部ぜんぶをちゃんとていくのは無理むり状態じょうたいになっていたのではないだろうか。ぼくも、Launchableのシステムで「この警告けいこく大体だいたいはなっておくとなおるから無視むししよう」というのはある。
  • 障害しょうがい発生はっせいしてシステムのドミノだおしがはじまると、一時いちじあいだに6400もの警告けいこくがって人間にんげん処理しょり能力のうりょくえてモニタリングの意味いみうしなわれる(p.74)。このいちにちでは90000けんのアラートががったらしい。だい規模きぼシステムモニタリングの典型てんけいてき問題もんだいなかひとはこれをどうやって解決かいけつしているのか。
  • 折角せっかくサーキットブレーカーが機能きのうしはじめてトラフィックが遮断しゃだんされはじめたのに、手動しゅどうでブレーカーがはいらないようにオーバーライドして劇的げきてき状況じょうきょう悪化あっかさせてしまう(p.51)。アラートがんできたら閾値をあげてアラートがないようにする、ぼくもやったことある…!! ちょっとだけ閾値をげたられるんじゃないかとついおもってしまうんだよね。

こうしジャンケンてきえば、日曜日にちようび対応たいおう体制たいせい手薄てうすなかでの障害しょうがい対応たいおう手順てじゅん(p.76)としては無理むりめてサービスを稼働かどうさせたままで早期そうき障害しょうがい復旧ふっきゅうねらうよりは、安全あんぜんがわたおしてサービスや障害しょうがい部位ぶいはなして災害さいがいふせほうかっただろうなとおもうが、ATMをめるというのはやはりおおきな決断けつだんなのだろう。現場げんばのOpsとしてはたいしたことのない障害しょうがいだからうまくすればれるはず…と楽観らっかんてきになってしまう気持きもちはかる。

組織そしきはなし

情報じょうほう伝達でんたつ

システム障害しょうがいけてみずほの内部ないぶでのその情報じょうほうがどのように伝達でんたつされていったのかというのが面白おもしろい(p.56)。

  • 9:50am 障害しょうがい発生はっせい
  • 10am ATMからつながる電話でんわけるATMコールセンターがパンクして90%の電話でんわつながらなくなる
  • 10:15am Opsから障害しょうがい発生はっせい一報いっぽうがメールされる
  • 11am-12am 危機きき管理かんり司令塔しれいとう様々さまざまなルートから情報じょうほうはいって障害しょうがい規模きぼおおきいことが把握はあくされる
  • 2pm 関係かんけいかく部門ぶもん部長ぶちょうかい招集しょうしゅうされる
  • 2:30pm 部長ぶちょうかい対応たいおう方針ほうしん決定けっていされてこれ以後いご場当ばあたりでない組織そしきだった対応たいおうはじまる
  • 5pm 非常ひじょう対策たいさくプロジェクトチームがはつ会合かいごう

報告ほうこくしょむと、実質じっしつてき対応たいおう方針ほうしん決定けってい部長ぶちょうかいまったようにえるが、そうすると非常ひじょう対策たいさくプロジェクトチームというのがなになのかよくわからない。事前じぜん準備じゅんびされた危機きき対策たいさくマニュアルてきにはこっちが非常時ひじょうじ意思いし決定けってい機関きかんっぽいのだが(p.82)、そうだとするとそれが5pmからというのはあまりにおそすぎる。なにこってどう対処たいしょしているのかを経営けいえいじん報告ほうこくするのようにもえるので(p.57)、そうだとしたら事後じご報告ほうこくのためのだから5pmでもなん不思議ふしぎもない。

自分じぶん体験たいけん

ぼく以前いぜん0-day攻撃こうげき週末しゅうまつ対処たいしょしなくてはいけなくなったことがある。技術ぎじゅつひと攻撃こうげき方法ほうほう把握はあくして修正しゅうせい開発かいはつしてテストして出荷しゅっかしないといけないし、営業えいぎょうはおきゃくさんに連絡れんらくをしないといけないし、広報こうほうそとけになにをどう発信はっしんするかになるし、社長しゃちょうなにこっているか把握はあくしたい…というかんじで、色々いろいろひと色々いろいろ情報じょうほうをリアルタイムに必要ひつようとするのがこういう火事場かじば特徴とくちょうだ。

ぼくはこの経験けいけんから、メールはこういうリアルタイムで変化へんかする情報じょうほうおおくのことなるステークホルダーにつたえるのはいていないとまなんだ。ステークホルダーが多様たようすぎてかならおびたんたすきながしになるし、それぞれのメールが自己じこ完結かんけつするようにするとながくなりすぎるし、差分さぶんにするとあたらしく参加さんかしてくるひとには意味いみ不明ふめいになる。

プッシュ方式ほうしきのメールが駄目だめなら、必要ひつようおうじてくわしいひとおしえてもらうプル方式ほうしきではどうかというと、それも駄目だめだ。火事場かじばでは情報じょうほう少数しょうすうひとあつまるので、みんながおなじんからなにかをききだそうとすることになってしまって、情報じょうほう伝達でんたつだけでれてしまい、肝心かんじん障害しょうがい対応たいおう出来できない。また、伝言でんごんゲームでこまかい内容ないよう変質へんしつしてしまったりする。

じゃあなにがいいかというと、Google Docをリアルタイムに編集へんしゅうしていく、またはWikiのページを使つかってリアルタイムに情報じょうほう更新こうしんしていくのがかった。あえてふる記録きろくのこさずに上書うわがきしていくことで、構造こうぞうだってつね最新さいしん情報じょうほうだけがられるようになってとてもかった。そして、みつ連携れんけいしてはたら人達ひとたちあいだではチャットがい。

もっとも、これはすうひゃくにん規模きぼ会社かいしゃはなしなので、みずほ銀行ぎんこうおおきさになるとこれでうまくいくのかもよくわからない。火事場かじばでは自発じはつてき分業ぶんぎょうおこなわれるが、おおきい会社かいしゃ必要ひつよう高度こうど役割やくわり分担ぶんたん自発じはつてき組織そしきされるかというとむずかしそうだ。

報告ほうこく書中しょちゅうには色々いろいろひとたがいに電話でんわけたりメールでわせをして、おたがいにつかまえられない様子ようす描写びょうしゃされる。日曜日にちようびだから電話でんわじゃないとつかまえられないのかもしれないが、チャットとかGoogle Doc / Wiki てきなコミュニケーション・システムは存在そんざいしてのだろうか。会議かいぎはしたらいいが、会議かいぎだけが情報じょうほう伝達でんたつ手段しゅだんでは駄目だめだとおもう。

原因げんいん究明きゅうめい vs 影響えいきょう究明きゅうめい

障害しょうがい発生はっせいから実質じっしつてき対策たいさく決定けっていおこなわれるまでの4あいだ時間じかんやまれる。

これについてはするど視点してんがあって、Opsは障害しょうがい原因げんいん究明きゅうめい復旧ふっきゅう全力ぜんりょくそそいでいたのだが、ビジネスがわ必要ひつようなのはこの障害しょうがい影響えいきょう範囲はんいがどのくらいであるかというほうだ(p.79)。障害しょうがい規模きぼからないと、復旧ふっきゅうつべきなのかあきらめて被害ひがい最小限さいしょうげんおさえるべきなのか、判断はんだん出来できない。Opsは顧客こきゃくへの影響えいきょうしめ指標しひょうあつめるのがおくれた。これはにつまされた。

たしかにぼく職場しょくばでも、インシデント対応たいおうちゅう技術ぎじゅつスタッフが中心ちゅうしんになってサービスを復元ふくげんすることちかられてしまいがちだが、それだと会社かいしゃほかひとちから有効ゆうこう使つかうことが出来できない。被害ひがい範囲はんいかれば、べつ部門ぶもん人達ひとたちにも色々いろいろこと出来できるようになる。

この視点してん今後こんご大事だいじにしようとおもった。

障害しょうがい情報じょうほうけてのかく部門ぶもん対応たいおう

全容ぜんようからない、さきえない、現在進行形げんざいしんこうけいのシステム障害しょうがいけて、みずのかく部門ぶもんがどのように対応たいおうしたかというはなし興味深きょうみぶかい。とく前出ぜんしゅつ情報じょうほう共有きょうゆうのタイムラインとくらべながらると、決断けつだん行動こうどういたった現場げんばひと自主じしゅせいかり、あじわいぶかい。

ATMセンター

ATMからの電話でんわけるATMセンター。カードをわれてしまったおきゃくさんからパンクする電話でんわかってているのに、手順てじゅんしょどお遠隔えんかくでATMからカードをさせる操作そうさをするだけでATMをめなかったので、おなじATMをつぎひと使つかおうとするとまたカードがわれるという、しずみゆくふねなかでバケツでみずすようなむなしい作業さぎょうをする。想像そうぞうだが、自発じはつてきなにかをやれるような立場たちばつよ部門ぶもんではなかったのだろう。おきゃくさんのいかりを直接ちょくせつびる立場たちばだっただろうし、悲惨ひさん一語いちご事後じごのPTSDケアが必要ひつようなんじゃないだろうか。

リテールバンキング

個人こじんけの商売しょうばい指揮しきするリテールバンキングの部門ぶもん。ここは部長ぶちょうかい報告ほうこくけて店舗てんぽ職員しょくいん出勤しゅっきんをとりあえず指示しじするも、あつまったひとなにをすべきかの対応たいおうさくつたえたのは5:30pm。ATMセンターよりは権限けんげんがありそうなのでこの主体性しゅたいせいのなさは残念ざんねん多分たぶん司令塔しれいとう意思いし決定けっていっていたのだろう。足並あしなみをそろえようとしたらそういうことになるからね。

きゃくさんへの影響えいきょう全体ぜんたいてきかんがえるという視点してん一番いちばんもっていそうだけど。

コールセンター

ここも障害しょうがい発生はっせいぐに電話でんわがパンク。でも、ATMセンターとちがって、ここは12:30の段階だんかいで、だから情報じょうほうがないうちに、カードや通帳つうちょうあとでちゃんと返却へんきゃくするからおきゃくさんはとにかくかえってもらうという対応たいおう自主じしゅてきはじめる。これは素晴すばらしい。ATMセンターとのひかる。もっとも、この対応たいおう電話でんわつながったひとにしか出来できないので、90%の電話でんわつながらない状態じょうたいでは待受まちうけメッセージなどにこれをれる必要ひつようがあるとおもうのだが、そこまではいたらなかった模様もよう

ウェブバンキング

ウェブバンキングも反応はんのうにぶく、障害しょうがい発生はっせいから3あいだになってようやく障害しょうがい通知つうちをトップページにして、当該とうがい機能きのうめたのはさらにその一時いちじあいだ。これはかなりおさむい。自分じぶんたちのところでモニタリングとかしていなかったっぽいので、自社じしゃ開発かいはつのサービスを運用うんようする技術ぎじゅつスタッフがいるというより企画きかく経営けいえいひとしかいない部門ぶもんで、運用うんようべつ部門ぶもんまかせだったんだろう。

広報こうほう

SNS経由けいゆで11amには障害しょうがい発生はっせい認識にんしきして、多分たぶんその規模きぼかんかんじていたんじゃないか。だい企業きぎょうでは社内しゃないコミュニケーションより社外しゃがいコミュニケーションのほうはやいという典型てんけいてきれい悲惨ひさんなのは、障害しょうがい発生はっせい告知こくちして、影響えいきょうけたおきゃくさんへのメッセージをせようとするのだが、その文面ぶんめんつくるはずの部門ぶもん応答おうとうせず、折角せっかく問題もんだいはや認識にんしきしたのに障害しょうがい告知こくちせられたのが1pmぎで、おきゃくさんの誘導ゆうどうメッセージを配信はいしんできたのが4pm。広報こうほうってやっぱりどこでも立場たちばよわいんだ…。でも、こういう状況じょうきょう無視むしされたら自発じはつてき勝手かって文面ぶんめんつくって勝手かって公開こうかいできないものなのだろうか。ながいことしいたげられているとそういう自発じはつせいうばわれてしまうのだろうな。

店舗てんぽ

46もの店舗てんぽ現場げんば判断はんだん職員しょくいん招集しょうしゅうされ、162の店舗てんぽ自発じはつてきにATMを停止ていし(p.86)。ぜん480拠点きょてんとあるからこれは結構けっこう割合わりあいだ。さら一部いちぶ店舗てんぽでは、往生おうじょうする顧客こきゃく椅子いすもの用意よういしたり店舗てんぽがいATMを巡回じゅんかいするなどのみがされたそうだ。店舗てんぽレベルではそれなりの自主じしゅ裁量さいりょうがある様子ようす。これは表彰ひょうしょうされるべき。

経営けいえいじん

なんと頭取とうどり最初さいしょ障害しょうがい発生はっせいるのは1:30pmにニュースで(p.88)。ふく頭取とうどりるのは1:40pmに部下ぶかからの電話でんわで(p.39)。まあおえらいさんがリアルタイムで状況じょうきょうったってなにやくつわけじゃないので現場げんばひととしては後回あとまわしになりがちなのはかるが、如何いかしたひとにおかざりだとおもわれているかを雄弁ゆうべん物語ものがたさびしいエピソード。ぼく頭取とうどりだったらずかしさでそとあるけなくなりそうだ。

自主じしゅせい

現場げんば自主じしゅてきなにかしなかったのをあげつらうこと出来できるし、調査ちょうさ報告ほうこくしょにもそういうトーンもあるが、おおきな会社かいしゃでは足並あしなみをそろえてやらないとそれぞれの部署ぶしょ自主じしゅせいのもとにバラバラなことをやったらそれはそれでまけ側面そくめんもあるだろう。

ATMセンターとコールセンターの対応たいおうちがうのがいいれい。ATMのわき電話でんわをとって電話でんわしたらカードをしてもらえ、携帯けいたいでコールセンターを調しらべて電話でんわしたらかえれとわれるわけだ。どっちがただしいの?ってなる。

もしくは、リテールバンキングが店舗てんぽにある指示しじしたのに、その一時いちじあいだ部長ぶちょうかいべつ方針ほうしんまったりとかなっていたらさらにドミノだおしが拡大かくだいするでしょ。

むしろ非常ひじょう対策たいさくプロジェクトチームの招集しょうしゅうをまたずに部長ぶちょうかい実質じっしつてき方針ほうしん決定けっていしたあたり、現場げんば事前じぜん策定さくていされた危機きき管理かんり体制たいせいよりうまくやったのではないかというさえする。また店舗てんぽみはとてもかった。

デザインの失敗しっぱい

非常時ひじょうじ失敗しっぱいというのは結局けっきょく平時へいじそなえの不足ふそくである。ぼくはこれをデザインの失敗しっぱいびたい。プロダクトの、もしくは組織そしきの。

ATMカードをってしまう仕様しよう

MINORIへのゲートウェイがんでバックエンドにアクセス出来できなくなったときにATMがカードと通帳つうちょうってしまう仕様しよう製品せいひんデザインの失敗しっぱいというはない。

一応いちおう調査ちょうさ報告ほうこくしょには、どうしてこういう挙動きょどうえらばれたかという説明せつめいがあって、すなわち、おきゃくのデータの整合せいごうせいこわれているうたがいがあるので追加ついか取引とりひきされるのをふせぐため。でも、ほん障害しょうがい以前いぜんすう年間ねんかんだい規模きぼなカード障害しょうがい発生はっせいしている(p.69)ので、この仕様しようだい規模きぼ障害しょうがいわさるとどういう悲惨ひさん事態じたいまねくかはよくかっているはず。

これは残念ざんねんぎる。実際じっさい今回こんかい障害しょうがいけての対策たいさくいち番手ばんてはこの挙動きょどう変更へんこうすることになっている。さん度目どめ正直しょうじき

たてふか防御ぼうぎょ失敗しっぱい

ATMカードをうデザインの失敗しっぱいたてふか防御ぼうぎょ失敗しっぱいでもある。ATMバックエンドがんだらATMはどのようにうべきか。依存いぞんするサービスがんだら自分じぶんのサービスはどううべきか、これはエンジニアリングの設計せっけい大事だいじ要素ようそだ。火事かじこってもひろがらないようにする仕組しくみ。

サーキットブレーカーがたてふか防御ぼうぎょ失敗しっぱいのもういちれいだ。一部いちぶころしてかす。せっかくそういう機能きのうがついていながら、手動しゅどうでブレーカーをめて全体ぜんたいやしてしまったのはとても残念ざんねんだ。

育児いくじてきソフトウェア開発かいはつ

ぼくは「育児いくじてきソフトウェア開発かいはつ」というテーマであちこちで発表はっぴょうしている。サービスを見立みたてて、それを開発かいはつするチームをおや見立みたてて、子供こどもそだてるプロセスはおやそだつプロセスでもあって、おや関係かんけい簡単かんたんにははなせないものですよ、というはなし

この調査ちょうさ報告ほうこくしょでも、MINORIが開発かいはつフェーズから運用うんようフェーズに移行いこうするなかで、開発かいはつ体制たいせい縮小しゅくしょうされて、システムにくわしい人達ひとたち異動いどうされたり退職たいしょくしたりした結果けっか技術ぎじゅつしゃ蓄積ちくせきされた知識ちしきって、それが障害しょうがい発生はっせい原因げんいん究明きゅうめいおくれをまねいた、というはなしてくる(p.125)。

育児いくじてきなソフトウェア開発かいはつてき観点かんてんからいえば、サービスは永遠えいえん運用うんようであるので開発かいはつチームを解体かいたいしていはいけないというかんがえになるので、このてんおもいだ。

現実げんじつ

危機きき管理かんりやシステム開発かいはつ運用うんよう必要ひつようなリソースが投下とうかされない理由りゆう背景はいけいとして、個人こじんけの リテールバンキングは収益しゅうえきせいひく部門ぶもんだから、と調査ちょうさ報告ほうこくしょにはさらっといてある(p.115)。

なるほど、たしかに企業きぎょうとしては利益りえきのない部門ぶもん投資とうしはしづらいのが現実げんじつだ。となると、リテールバンキングはうまくっても利益りえきないし、炎上えんじょうすると銀行ぎんこう信用しんようきずつける、かといってめるわけにもいかないというお荷物にもつ以外いがい何者なにものでもない存在そんざいということになろう。

この問題もんだいはメガバンクに共通きょうつう問題もんだいだから、ちか未来みらいみっつのメガバンクのリテール部門ぶもんがスピンオフされて合併がっぺいしてうらひとつのシステムをみっつのブランドでる…みたいな体制たいせいになったりして。

まとめ

なかひと本当ほんとう大変たいへんだったとおもうので、まずご苦労くろうさまといいたい。こういう調査ちょうさ報告ほうこくしょをちゃんとつくって公開こうかいしてくれてありがとう。とてもまなびがおおかった。

あなたがたのなかつみのないものが、まずこのおんないしげつけるがよい
— ヨハネによる福音ふくいんしょ

comments powered by Disqus