この記事は本番環境などでやらかしちゃった人 Advent Calendar 2025 8日目の記事です。
当時の私の立場
- 新卒入社2年目
- とある企業のネットワーク・サーバー保守受託
Xデーに何があったか
時刻は昼ごろ。私は通信トラブルに関する調査を行なっていました。
ある外部のネットワークから、私たちが管理しているネットワークを通じてインターネットアクセスを行う構成になっているが、その通信ができないという話でした。
その外部ネットワークでは、最近プロキシサーバのリプレイスをしたという話なので、それが直接の原因だとは推測できていましたが、調査依頼が来たのでとりあえず調べることに。
とはいえ、チーム内で改めて設定値を確認したところでは不自然なものはなく、あとできることとしてはログ調査ぐらいで、その調査に新卒2年目の(相対的)暇人である私が抜擢されていました。
インターネットアクセスがうまくいかないという話なので、一番関係ありそうなロードバランサーに目をつけます。なんでロードバランサーなんだという話はあるかもしれないですが、その機器は統合ファイアーウォールやプロキシも兼ねており、インターネットの出入り口に近いものでした。
私は、各ネットワーク機器のIDとパスワードがまとめられているドキュメント(取扱注意!)をおもむろに開きます。目的とするロードバランサーの項目を見つけることができました。コンソール画面に接続するIPアドレスもご丁寧に補足欄に追記されています。とても簡単で嬉しいですね()
早速ブラウザのアドレスバーにIPアドレスをコピペしてコンソール画面に接続を試みます。
ログイン画面が出てきました。IDとパスワードを打ち込むと難なくログインに成功です。
見慣れない画面が表示されました。実はこのとき、私はロードバランサーの管理画面に初めてログインしたのです。
ただ、他のネットワーク機器には何度もログインしてログの確認や、設定変更、その他諸々の操作を行なってきているので、初めて見た画面にも臆せず謎の自信に満ち溢れていました。「どうせ一緒でしょ」と。
さらに言うと、CLIでそれらの操作を行なってきているので、GUIで表示されるWebコンソールなんてさらに簡単の極み。ボタンぽちぽちホイホイです。
しかしその時の私は、そのGUIに〇されるとは思いもしなかったのです。
話は戻りまして、無事にログインできました。その後、皆様は何をするでしょう。
はい、そうです。画面リロードですよね(?)
このリロードには特に意味はありません。あえて言うなら作業に取り掛かる前の深呼吸。CLI的に言うならlsコマンド叩くようなものです。人によってはpwdかもしれません。
私は、リロードボタンを探しました。ここで重要なのはブラウザ搭載のリロードではダメなのです。
全体リフレッシュがかかってしまい、表示に時間がかかりがちなのと、運が悪いと謎挙動により再ログインを要求されてしまう場合があります。そうなってしまった時には、整えようとした呼吸が非常に乱れてしまいます。
理想的なリフレッシュはログの再取得のような、画面の一部に適用されるものです。そして、私は理想のリフレッシュボタンを画面上で見つけました。
即座にクリックし、精神を落ち着かせます。水中から這い上がって呼吸し、再度潜るような気分です。
いざ、調査開始!
そこから嘘のような展開が発生します。
私は意気揚々と画面に向かい、特に理由もなく空白スペースをクリックしようとしました。これはほぼ無意識化での意味のないクリック。強いていえば、ウィンドウのフォーカスを取るためとかもありますが、今回はすでにフォーカスしているので意味がありません。この行動の説明が難しいです。ただ、皆さんもやっていると信じています、意味のないクリック。
そのクリックをした瞬間、いや、それを行う直前ぐらいに、急によくわからないダイアログが表示されます。そして、私のマウスポインターはそのダイアログの決定ボタンらしき要素の上にいることを辛うじて認識することができました。
それに驚いた私は、無意味クリックの緊急停止を全力で試みました。
ただ、悲しいかな。上司にわがままを言って買ってもらったLogicoolの良いマウスだったため、それはとてもクリックしやすいものでした。
ぽちー
即座にダイアログが閉じられます。何のボタンを押したのかわからないまま、時間が停止したように感じました。
ただ、表示が一瞬過ぎてほぼ読めなかったダイアログの文章で、あるキーワードだけは脳に焼きついています。
『再起動』
信じられない気持ちで、先ほどのリフレッシュボタンにマウスをホバーさせます。
ツールチップが表示され、そこにはこう書かれていました。
『再起動する』
急速に心の暗雲が立ちこみ、自分が何をしたのかを徐々に察しはじめました。そして理解しました、今日は試練の日かと。神よ、頼む、我を救いたまえ。
一縷の望みにかけてブラウザのリロードボタンをクリックします。実はすべて何も問題は起きていないんだと自分に言い聞かせながら、数分前の意気揚々とした心持ちを取り戻すことを渇望して数秒待ちます。
ただ、何秒待ってもリロードが完了しません。待っても待っても完了しません。
あ、これは今まさに再起動ingだ。
Webコンソールに接続できないのは機器が再起動してるからですね。はい、犯人は私です。
そのとき部屋の中がにわかにざわつき始めました。
他の人が運用モニターを見ています。運用モニターはクソデカモニターで、マイケルジョーダンの背よりも高く、横綱を5人並べた時よりも幅が広いです。
私の席からでも何が起きているのかがよくわかります。
そのモニター上ではインターネット接続部分が赤く光っています。これは、明確にインターネットとの不通を示しています。はい、犯人は私です。
この時、客先の社員と関係者の〇万人がインターネットを利用できない状態になってました。
その後どうなったか
やらかしたことの割には、それほど痛い目にあいませんでした。
- ちょうどお昼休憩時間で業務をしていない社員がほとんどだった
- イントラネットは使えてた
- 冗長構成になっており、不通時間が数分で済んだ
ということもあり、稀に見る奇跡が重なって問い合わせ件数は0でした。
客先の担当者にもごめんなさいしましたが、問い合わせがないので(問い合わせを何よりも嫌う)、「そんなことがあったの?ま、次から気を付けてくれよ!ガハハ!」というお言葉で済みました。
むしろ、フェイルオーバーがきちんと動くことを確認できて安心したぜ、というノリでした。
これはお客様とのやりとりの話で、そのあとの社内での怒られは割愛。
学び
ここから学ぶべきことはたくさんあると思います。
例えば、CLIを使おうぜとか、初めて触る機器だからもっと慎重にやろうぜとか、そもそもログは外部に保持して見ようぜとか(当時知らなかっただけでsyslog設定はたぶんやっていた)
ただ、もっとわかりやすい再起動ボタンだと良かったのにと思いました。
また、まるで「いつでも押していいですよ」と言わんばかりに再起動ボタンが目立つところにありました。
自分のミスを棚に上げて他責思考っぽくなって嫌ですが、ネットワーク機器の再起動は影響が大きいため、アイコンではなくラベル付きのボタンにして、押しにくいところに配置するぐらいがいいと思いました。
とはいえ、今回の場合は警告ダイアログを表示してくれているのと、ネットワーク機器の管理画面でもあるので、結果的に操作者が気をつけろという話に尽きると思います。
私は今、Web開発エンジニアに転身しており、この時の反省を踏まえて、副作用の大きい操作の動線は気を付けるように意識しています。例えば、サブメニューに隠して迂闊にクリックしないようにするなど。
知らなかったのですが、これはUX的には段階的開示や意図的な壁と呼ばれているものらしいです。
一般ユーザーに、気を付けて操作しろ!とお願いするのは難しいので、こういったテクニックを使って悲劇を起こさないようにしたいですね。
