Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
知らないサーバ(修正版)
Search
ryuichi1208
July 01, 2019
Technology
40
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
知らないサーバ(修正版)
ryuichi1208
July 01, 2019
More Decks by ryuichi1208
See All by ryuichi1208
そのasync、止まってない? ”鉄板”イベントループ ブロッキング処理検出術
ryuichi1208
1
2.2k
AIでサービス運用はどう変わるのか
ryuichi1208
0
200
入門 再発防止策
ryuichi1208
17
7.7k
障害対応からの学びと体制づくり
ryuichi1208
0
7
金曜日デプロイ、するかしないか.pdf
ryuichi1208
1
91
会話で作る信頼性
ryuichi1208
0
200
シグナル(Unix)と仲良くなる
ryuichi1208
1
200
LiteLLM Proxyの紹介
ryuichi1208
1
25
AI前提のサービス運用について再考する
ryuichi1208
6
1.5k
Other Decks in Technology
See All in Technology
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
180
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
110
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3k
Kiro Meetup #8 Kiro アップデート (2026/3/21〜2026/9/24)
katzueno
1
170
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
280
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
350
Genieを崇めよ
kameitomohiro
0
170
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
140
品質と信頼性を地続きにする
grimoh
2
970
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
150
Harness Engineering on Rails
joelq
0
420
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
290
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Visualization
eitanlees
153
17k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
560
Become a Pro
speakerdeck
PRO
31
6.3k
Utilizing Notion as your number one productivity tool
mfonobong
4
600
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
580
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
We Have a Design System, Now What?
morganepeng
55
8.3k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
知らないサーバー
過去あったちょっと怖い話
当時のバックグラウンド • とあるWebサービスのインフラエンジニアをやっていた時の話 • サービス自体は20年以上続いている歴史的なサービス • ジョインした時点でインフラの前任者は退職済み • プライベートクラウド上のVMの運用者 •
VMより下はプラットフォームチームという別のところが管理 • 100近いVMをAnsibleで構築/管理
とある日
サーバいっぱいあって楽しい〜 障害対応楽しい〜
新プラットフォームを作ったので移設してくださ い! プラットフォーム チームの方
新プラットフォームを作ったので移設してくださ い! わかりました! プラットフォーム チームの方
• 新プラットフォームへのマイグレーション作業が発生した • 管理しているVMの一覧はAnsibleにあったのでそれをリストアップして対応 • 1年くらいかけて全部の移設が完了した • CentOS5/6とかもあったので当時最新のCentOS7へ載せ替えしたりマネージド サービスに移行したり 移設
全部移行完了しました! ありがとうございます!!
めでたしめでたし
1週間ぐらい後
そっちのチーム管理のサーバーがまだ古いと ころで動いてるので移設をお願いします
そっちのチーム管理のサーバーがまだ古いと ころで動いてるので移設をお願いします 先週全部終わっています!
そっちのチーム管理のサーバーがまだ古いと ころで動いてるので移設をお願いします 先週全部終わっています! track001っていうサーバーがあるみたいで...
そのサーバーってうちの管理ですかね...?
そのサーバーってうちの管理ですかね...? 管理者はAさん(退職済み)になってますね
そのサーバーってうちの管理ですかね...? 管理者はAさん(退職済み)になってますね 調べてみます...!!
調べてみると • Ansibleのサーバー一覧にはなかった • サーバー名でGitHubを検索しても出てこなかった • それっぽいリポジトリもGitHubになかった • Slackで調べても何も出てこなかった •
とりあえずsshしたら接続ができたので色々見てみることに
調べてみると • uptime -> 2000日 • http/80をListenしている何らかのプロセスはいそうだった • 負荷はほぼなかったので使われていない気配は感じた •
入社して2~3年くらい経って1回も障害も問い合わせもないサーバなので潰しちゃえ ば良いかって思っていた
誰も使ってないだろうし消そう
誰も使ってないだろうし消そう /var/logとかでもみてみるか
誰も使ってないだろうし消そう /var/logとかでもみてみるか /var/log/apacheにアクセスログが結構な流 量で流れているだと...!!!!!!
誰か使ってそう...
さらに調査 • アクセス先のリクエストパスをみると監視っぽいものではなかった • とりあえずUAを出すようにしてみたら最近のブラウザっぽいものだった • Apacheの設定を追っていくとPerlで書かれたアプリケーションにリクエストを流して いた • Ansibleのコードもドキュメントもないけど実際に使われている(かもしれない)サー
バーが存在した
知らないサーバー
知らないサーバーがいました...
知らないサーバーがいました... 移設するか消すかの判断をお願いします
知らないサーバーがいました... 移設するか消すかの判断をお願いします 確認します!
さらに調査 • 何に使われているのかわからないのでアプリケーションを読む ◦ psコマンド打ってlsofしてアプリケーションのソースを特定 ◦ URL Redirectorでアクセスカウントするアプリケーション ◦ 管理画面も存在することがコードを読んでいてわかった
さらに調査 • 誰が使っているかを調べる ◦ Slackでhereで探してみたが誰も知らない ◦ 管理画面はapacheでLANのアクセスに絞られていたので IPからチームを特定 ◦ Slackを普段使わない営業の方がメインで使っていることが判明
◦ 話たら使っているしないと困る
移設しよう...
課題 • 構築方法が不明のサーバー • OSはCentOS5でEOL済み • 開発フローが不明のアプリケーション • ミドルウェアは何が入ってるのかわからない
整備 • CentOS7にする ◦ apache 1系がそのままだとビルドできなかったので apacheのソースを修正してビルド • 構築方法は不明だったが比較的シンプルなWeb Appだったのでlsとかpsとか見つ
つ設定ファイルを読んで再現させることに成功 • アプリはGitHubへ持っていく • CircleCIでデプロイ可能な状態にする ◦ DBのdumpとかがローカルにあってサイズが ...
完了!
ではなかった
調査 • いわゆるモノリス的なサーバでリバプロ/アプリ/MySQLが動いていた • 動いてるサーバでnetstatをすると7003番portでWebアプリがコネクションを貼って いた • 旧プラットフォームのマネージドGearmanが必要だった ◦ 管理画面の別の機能として存在したらしくコードリーディングで読み切れていなかった
... ◦ 同一のVMにGearmanを動かすようにして完了することができた
学び
学び • IaCは偉大 • スクリプト言語で書かれていたのが幸運だった • 手動構築で速いのはその時だけ
あなたのネットワークにも知らないサー バーいるかもしれませんよ
ご清聴ありがとうございました!