こんにちは、東北ずん子です。
今日は Qiita で話題になっている記事『ADサーバーが消えた日』 を読んで、震えが止まらないずんだもんと一緒に、
-
なぜ IaC が必要なのか
-
なぜ GUI を信じてはいけないのか
を、「Human Zero Trust(人間ゼロトラスト)」という視点も交えながらお話していきますね。
「ADサーバーが消えた日」ってどんな話?
![]() |
![]() |
ずん子:あわわ……あの記事、深夜 3 時に本番環境の AD サーバーを 2 台とも「Delete」しちゃうなんてびっくりなのだ……。
ずんだもん:そうねぇ。完成度の高いリアリティのあるお話だったわね。
でもね、ずんだもん。あれは「寝不足」や「うっかりミス」だけが悪いわけじゃないのよ。
ずんだもん:えっ? だって、前夜にゲームして寝てなかったのは事故に関係ありそうなのだ。
ずん子:もちろん体調管理はとっても大事よ。でも本当に怖いのは、「人間が寝不足でも、ミスが起きない仕組みになっていなかった」ことなの。
今日はこの事故を、記事をベースに次の 5 つの視点から一緒にポエムしていきましょう。
-
「ゼロトラスト」= UI を信じない。CLI とログだけを信じる
-
IT 作業は「肉体労働」ではなく「頭脳労働」である
-
「短期メモリー」に頼らず、出力ログ(CSV/JSON/SYSLOG)を信じる
-
「個人スキル」を信用しない(Human Zero Trust)
-
IaC(Infrastructure as Code)の徹底
1. UI(画面)は平気で人を裏切る:ゼロトラストの真意
![]() |
![]() |
ずんだもん:記事だと、「スナップショットを消すつもり」で作業してたのに、間違って「サーバー本体をインベントリから削除」しちゃったって書いてあったのだ。画面のメニューが紛らわしかったらしいのだ。
ずん子:そこが大事なポイントね。
**「UI に表示されていることが正しいとは限らない」**──これがゼロトラストの第一歩よ。
NIST のゼロトラスト・アーキテクチャでは、
「決して信用せず、常に検証せよ(Never trust, always verify)」
という考え方が示されています。(NIST技術シリーズ出版物)
ずんだもん:でも、画面にボタンが出てたら押すのが普通じゃないのだ?
ずん子:GUI はね、人間のコンディションにすごく影響されるの。
眠い時は「Delete」という文字だけ見て、脳が勝手に「きっとスナップショットの削除に違いない」って補完してしまうのよ。
だから、こう考えたほうが安全よ。
🔒 GUI 操作は「見た目の印象」に左右されるので、デフォルトでは信用しない
じゃあ、どうするかというと……
ずんだもん:CLI なのだ?
ずん子:そう。CLI(コマンドライン)とログだけを信じるの。
テキストで明示されたコマンドなら、「似ているボタンを押し間違える」ことは起きにくいわ。
-
スナップショット削除 → 「スナップショット削除用のコマンド」
-
仮想マシン削除 → 「VM削除用のコマンド」
この 2 つを同じスクリプトに混ぜないように設計しておけば、うっかりクリックよりずっと安全になるわね。
2. 令和の IT 現場に、物理工事のスタイルを持ち込まない
![]() |
![]() |
ずんだもん:でもさ、記事の中だと、後ろにベテランの確認者さんがいたのだ。二人で画面見てたのに、なんで止められなかったのだ?
ずん子:ずんだもん、YouTubeで100年前の工事現場の映像を見たことあるかしら?
ずんだもん:えっと、作業してる人の横で、兵隊みたいな恰好の人が腕組んで突っ立って見てるアレなのだ?
ずん子:そう、そのイメージ。 令和の IT 現場なのに、「隣で偉い人が立って見ているだけ」で確認した気になっていないかしら? というお話なの。
同時操作で画面を眺めるのは、ITにおける「検証」じゃないのよ。 それはただの肉体労働的な「工事っぽい雰囲気づくり」や「儀式」でしかないの。
❌ 「人が横から見てるから安全」
✅ 「コードとログが安全性を保証しているから安全」
ずんだもん:ぐぬぬ……。じゃあ IT 技術者っぽいやり方って、どうするのだ?
ずん子:IT での「作業」は、本来ブレインワーク(頭脳労働)なの。
-
マウスをクリックするのが仕事じゃなくて
-
「どうすれば人間に頼らず安全に回せるか」を考えるのが仕事
目視確認ではなく、スクリプトを実行して、その結果を検証する。 それが IT 技術者の確認の仕方よ。
実は「画面共有でワイワイ確認」も IaC 的には NG なことがある
ずんだもん:でもさ、最近は画面共有しながら複数人で確認するのが普通じゃないのだ?
ずん子:うん、気持ちはわかるわ。
でもね、IaC の観点では「画面共有の同時操作」が逆効果になるケースも多いの。
- 作業者は
- 「見られてる」ことで気が散る
- 本来の集中力が落ちる
- 結果として スピードも落ちる
5 年前なら
「たくさんの人でがんばりましたよ」
っていう 雰囲気のアピール も通じたかもしれない。
でも今はね、
-
「何人でやったか」より
-
「どれだけ正確で、どれだけ速いか」
を冷静に見る賢いユーザー企業が、明らかに増えているの。
じゃあどうするのがいいの? ― 非同期 × 証跡主義という答え
![]() |
![]() |
ずん子:たとえば、こんな分業はどうかしら。
**作業者A**:スケジュールでスクリプトを自動実行する設定を行う(前日まで)
**確認者B**:スクリプト内容とスケジュールが要件どおりであることを確認する(前日)
**確認者C**:別視点でスクリプト内容とスケジュールを確認する(前日)
そして当日:
**作業者A**:スケジュールでスクリプトが自動実行されたことを確認し、動作ログと作業前後パラメータの差分を証跡として残す(当日)
**確認者B**:作業者Aが残した証跡が正しいことを確認する(当日)
**確認者C**:同じく証跡を確認し、問題がないことをチェックする(当日)
ずんだもん:おお……。
誰も同時に同じ画面を見てないのに、ちゃんと三重チェックされてるのだ。
ずん子:そう。これは 完全に非同期作業 になるの。
-
待ち時間が減る
-
無言の同時待機が消える
-
トータル時間は短くなる
-
そのぶん 作業の「密度」だけが上がる
経営者の視点でも、このやり方は強い
ずん子:さらに言うとね、これは 経営者目線でもものすごくコスパがいいの。
-
同じ成果物に対して
-
同時拘束する人数が減る
-
作業時間も短縮される
つまり、
✅ 人件費は下がる
✅ ミスは減る
✅ スピードは上がる
という、珍しく「技術・現場・経営」が全部一致する改善なのよ。
ずんだもん:なるほどなのだ……。 たしかに、これなら「全員が深夜待機」みたいなことをしなくていいのだ。画面の前に全員集合!はい点呼!するより、 コードとログの前に集合したほうが合理的 なのだ。
ずん子:そういうことね。しかも、やっていることは全部ログとパラメータ差分として残るから、「誰が」「いつ」「何を確認したか」まできれいにトレースできる。
令和の IT 現場は、もう 「工事現場ごっこ」から卒業する時代 なのよ。
ずんだもんは100年前のままでいたい?
3. 人間の「短期メモリー」は信用しない:ステータスとログだけを信じる
![]() |
![]() |
ずんだもん:記事だと、途中の「正常性確認のステップ」を読み飛ばしてたのに、誰も気づかなかったって書いてあったのだ。つまり作業者にとって「やったつもりだった」ということなのだな。
ずん子:そうね。ここで見えてくるのは、「人間の短期記憶を前提にした設計にしてしまっている」という問題なの。
深夜 3 時、寝不足、緊張、焦り──そんな状態で、
-
さっきこの確認をやったか?
-
どのサーバーを再起動した?
-
どのステップまで進んだ?
を、頭の中で完璧に覚えておくのは無理があるわ。
だからこそ、
🧾 「短期メモリーを必要とする作業」にしてはいけない
のよ。
ずんだもん:じゃあ、どうするのだ?
ずん子:すべて「外部記憶」にするの。
-
各ステップで必ずコマンドを実行して
-
その結果を CSV やログストリームに吐き出して
-
「そのファイルが存在していなければ次のステップに進めない」
というふうにすればいいの。
例:
step07_ad_health_check.csvが無いと次のジョブが動かないCSV 内の「エラー件数」が 0 でないと、完了とみなさない
ずんだもん:なるほど! これなら「やったつもり」は物理的に発生しないのだ!
ずん子:そう。 「人の短期メモリーより正しいものは、出力されたパラメータである」 これはぜひ覚えておいてね。
4. 「あの人はベテランだから」は、ゼロトラスト的にはアウト
![]() |
![]() |
ずんだもん:でも、作業してた A さんは 1 年目だけど、確認者の「私」さんは 5 年目のベテランだったのだ。それでも事故ったのだ。
ずん子:あの記事の「なぜなぜ分析」では、最終的に「Aさんを信用しすぎていた」「実績があるから大丈夫だと思っていた」というところに行き着いていたわね。
ここで大事なのは、
「個人スキルへの信頼」と「システムとしての安全」は、全く別物
ということよ。
-
大工さんや金属加工の職人さんのような物理スキルなら、長年の経験は大きな武器になるわ。
-
でも IT 操作は、UI も仕様もバージョンアップで変わるし、「慣れ」でどうにかする」タイプの仕事ではないの。
ずんだもん:確かに、OS の設定画面もツールの UI もすぐ変わるのだ……。
ずん子:だから、元記事でも言われてるように、こういうことだと思うの。
🧠 ゼロトラストとは、「個人スキルを信用しない」ということでもある(人間版)
-
「あの人は何年もやってるから大丈夫」ではなく
-
「誰がやっても同じ結果になるコードがあるから大丈夫」
この状態を目指すのが、IT運用としての成熟なのよ。
5. IaC を徹底すると、「人災」の余地がほぼ消える
![]() |
![]() |
ずんだもん:じゃあ、最終的にどうすればよかったのだ?
ずん子:答えはシンプルよ。 IaC(Infrastructure as Code)を徹底することね。
IaC のベストプラクティスでは、
-
インフラ構成や運用手順をすべてコード化する
-
Git で管理し、レビューと差分管理を行う
-
手作業での変更を極力なくす
といったことが繰り返し強調されています。(Spacelift)
元記事でもその後に実践されているけど、もし今回の環境が IaC で運用されていたらこうなっていたはずよ。
例)
-
本番GUIは禁止、そもそも本番用Webコンソールは読み取り専用とする
-
更新はスクリプト(またはパイプライン)だけで実行
-
スナップショット削除用のコードと、本体削除用のコードは役割も権限も分離
-
状態確認はすべて CLI で実行され、その結果がログ/CSVに保存される
-
どのステップも「ログがないと通らない」
ずんだもん:おおお……これなら、うっかりクリックする場所を間違えて AD を消す、なんてことはそもそも起こりえないのだ。
ずん子:そうね。 IaC は、単に「宣言的に書けて便利だよ」という話だけではなくて、
🔐 「人間の調子が悪くても、本番が壊れない」ためのセーフティネット
でもあるの。
6. まとめ:ITにおける「作業」は頭脳労働であって、肉体作業ではない
![]() |
![]() |
最後に、今日のお話をまとめておきましょうね。
-
UI(画面)は信用しない
- ゼロトラストの原則どおり、見た目ではなく CLI の出力とログで判断する
-
GUI 操作を“正”とするのは、肉体労働 & 劇場のマインド
-
IT 作業はブレインワーク
-
「どう自動化し、どう検証し、どう記録するか」を考えるのが仕事
-
-
短期メモリーを前提にした設計は NG
- 作業ステータスはコマンド出力と CSV に残し、「やったつもり」を物理的に不可能にする
-
「あの人はベテランだから」は禁句
- Human Zero Trust:個人スキルではなく、コードとプロセスを信頼の土台にする
-
IaC を徹底することで、人災の余地を小さくする
- 変更も復旧も、「アドリブ」ではなくコードで行う
ずんだもん:トータルすると、「IT業界における作業は頭脳作業であり、肉体作業ではない」って認識を持つことが、一番の対策ってことなのだ?
ずん子:そうね。それがちゃんと組織全体で共有できれば、AD サーバーが突然消えるような、ああいうヒヤッとする事故は、きっとぐっと減らせるはずよ。
-
✅ IaC を徹底しよう
-
✅ **GUI のマウス操作を正としない
-
✅ CLI とログだけを信じよう
-
✅ 短期記憶に頼らない運用をつくる(逐一ログ保存)
-
✅ 個人スキルに依存しない
-
✅ ITの「作業」は肉体労働ではなく頭脳労働だと認する
正月用餅つきの練習会場にて
ずんだもん:ずん子、ありがとうなのだ! ボクも明日の運用から、少しずつでも「コード」と「ログ」を信じるように変えていくのだ!
ずん子:うんうん、そうだね。……じゃあ、ずんだもん。
ず:な、なんなのだ?
ずん子:「もう一個だけずんだもち食べても大丈夫」って判断も、 ちゃんとゼロトラストで検証してからにしようか?
ず:えっ……? さっき食べたのは「最後のひとつ」だったはずなのだ……。
ずん子:ほんとに? お皿の上と、臼の中を見比べて、ちゃんと 証跡(ログ) は残ってるかしら?
ず:……ログは無いのだ。 でも体感的には、まだ食べられる余地があるのだ。
ずん子:はい、体感は信用しません。 体重計に出力されたパラメータだけが正義です。
ず:ぐぬぬ……。 ずんだもんの食欲は、ゼロトラスト非対応だったのだ……。😭
リンク
※本記事は Qiita 記事「ADサーバーが消えた日」をもとに、IaC と Zero Trust、および「人間ゼロトラスト(Human Zero Trust)」の観点からAIで自動生成したポエムです。
利用キャラクター
- ずんだもん:VOICEVOX:ずんだもん
本記事で使用しているキャラクター画像の著作権は、それぞれの権利者に帰属します。
非商用目的での利用に基づき掲載しています。


