# 「サーバーが落ちた。こちらからは復旧できない」は、誤りだった：止まっていたのは、SSH の受信だけだった

> 午前 3 時 10 分からサーバーに接続できなくなり、私は「止まった」と判断した。実際は、プロセスは 7 日以上動き続け、定期実行 192 本も正常で、遮断されていたのは SSH の受信だけだった。

- URL: https://koshinstudio.com/notes/misdiagnosis-down/
- 公開: 2026-10-17
- 書いた人: Koshin（https://koshinstudio.com/about/）
- サイト: Koshin Studio

  English version (https://koshinstudio.com/en/notes/misdiagnosis-down/)

トレカダッシュ 開発の記録 ／ 2026年8月

  iOS アプリ「トレカダッシュ (https://koshinstudio.com/works/torecadash/)」のサーバーに、午前 3 時 10 分から、つながらなくなりました。2026 年 8 月 28 日の朝のことです。私は、「サーバーが落ちた。こちらからは、復旧できない」と、記録に書きました。

  この見立ては、誤りでした。10 時 15 分に復旧して、はじめて分かりました。この記事は、なぜ誤ったか、そして、そのときの作業が、何を生んだかの記録です。

  この記事は、2026 年 8 月 28 日の作業の記録から書いています。

## 私が見たもの、と、私の結論

- サーバーの、22 番（SSH）、80 番、443 番のポートが、全部、閉じていた。

- 経路を調べると（traceroute）、シンガポールの通信会社の基幹の回線までは届くが、その先で止まる。

- サーバーの提供元（Hetzner）の、状況のページには、その地域の障害の掲示は、無かった。

  これらから、私は、「サーバーが止まった。こちらからは、復旧できない（提供元のコンソールでの再起動が要る）」と結論しました。

## 実際は：サーバーは、ずっと動いていた

  10 時 15 分に、つながるようになって、確かめると、こうでした。

    確かめたこと | 結果

      サーバーのプロセス | ずっと動いていた（連続稼働 7 日 10 時間）

      完了したジョブ | 4,100 件

      定期実行 192 本 | 正常に走り続けていた

      遮断されていたもの | SSH の受信だけ

  サーバーは、止まっていませんでした。外からの接続（SSH）だけが、遮断されていたのです。アプリの裏側の処理は、何も止まっていませんでした。

## もう 1 つの誤り：「溜まった修復」は、私が作っていた

  その間、私は、「毎時のはずの修復が、41 件も溜まっている」ことにも、気づいていました。これも、サーバーのせいだと、思っていました。

  実際は、私が、ドライラン（書き込まない下見）を受け付けないエンドポイントを、点検のつもりで叩いたことで、生まれたものでした。点検のつもりが、本番の処理を、41 件も、動かしていたのです。

## 代わりの道：必要な処理だけを、別の場所へ配備した

  サーバーに入れなくなったので、必要な点検と修復だけを、Cloud Functions 側へ、個別に配備して、作業を進めました（firebase deploy --only functions:名前）。定期実行には、一切、触れていません。サーバーの復旧後も、この HTTP のエンドポイントは残るので、点検に、そのまま使えます。

  復旧した後の注意も、記録しました。まず、サーバーに、その日の変更を送ること。その日は、定期実行を 8 本足したので、配備の直後に、追い実行されます。どれも、手でドライランから実行まで済ませてあったので、走っても、実害はありません。

## 分かったこと

> 「つながらない」は、「止まっている」ではない。

- 1 つの角度から、断定しない。ポートが閉じていても、プロセスは動いていることがあります。

- 別の信号を見る。通知が届いているか、データが更新されているか、アプリ側の状態。サーバーの中に入れなくても、外から見えるものがあります。

- 「復旧できない」と書く前に、「どこまで分かっているか」を書く。私が分かっていたのは、「SSH がつながらない」だけでした。

- 点検のつもりで、本番を動かさない。ドライランを受け付けない入口は、下見ができません。

- 入れないときの、別の道を持っておく。個別に配備できる場所が、役に立ちました。

  この話に出てくるもの

- トレカダッシュ (https://koshinstudio.com/works/torecadash/) — トレカの抽選・予約・先着の情報を集める iPhone アプリ

- Cloud Functions から月 4,300 円のサーバーへ移した (https://koshinstudio.com/notes/vps-migration/) — サーバーの話

- 自分で作った仕組みが、自分を傷つけた 4 つの記録 (https://koshinstudio.com/notes/self-inflicted/) — 点検が本番に影響した別の話

- 配備のたびに、日次の処理が丸ごと走り直していた (https://koshinstudio.com/notes/rerun-on-deploy/) — 配備の注意
