本文へスキップ
Articles

2026-08-22 公開 / サーバー・インフラ

予備を持つのをやめた。壊れた同期を直さず、方式ごと畳んだ判断

本番の内容を予備側へ定期的に送る仕組みを持っていました。ある時、その送り先が構成変更で無くなったあとも、送る側だけが動き続けて失敗し続けていたと気づきました。直すことはできました。直さずに、予備を持つこと自体をやめました。個人で運用するうえで、この判断が正しかったと思っている理由を書きます。

気づいた状態

構成を見直したとき、予備として使っていた側を役目ごと変更しました。そのときに「そこへ送る」処理のほうを止め忘れていました。

結果として、定期実行は毎回動き、毎回接続に失敗し、毎回失敗として記録されていました。この状態が、気づくまでの間ずっと続いていました。

失敗していたこと自体は、記録を見れば分かります。ただ、その記録を見に行く動機がありませんでした。予備は普段使わないものなので、健全かどうかを確かめる機会が来ないのです。使うのは本番が壊れたときだけで、そのときに初めて「送られていなかった」と分かります。

予備の仕組みは、失敗しても誰も困りません。だから失敗に気づく力が最も弱い場所です。「いざというときのために持っているもの」は、いざというときまで壊れていることが分からない、という構造を持っています。

2つの選択肢

案1: 送り先を作り直して、同期を復活させる

素直な直し方です。予備をもう一度用意して、送り先を設定し直せば、元の構成に戻ります。

案2: 予備を持つのをやめる

こちらを採りました。理由を順に書きます。

やめた理由

1. 予備の健全性を確認し続けるコストが、予備の価値を上回っていた

予備は、持っているだけでは意味がありません。いつでも使える状態であることを確認し続けて、初めて価値が出ます。そして今回まさに、その確認をしていませんでした。

確認を仕組みとして入れることはできます。ただその確認自体もまた、壊れても誰も困らない仕組みです。確認を確認する仕組みが要る、という話になりかけました。個人の運用でこの階層を積むのは無理があります。

2. 復旧の手順書があれば、時間はかかるが必ず戻せる

機体を失った場合、新しく作り直して復旧させる手順は用意してあります。この手順を使えば、時間はかかりますが、確実に元へ戻ります。

予備を持つことで買えるのは、この時間の短縮だけです。そしてその時間を短縮する価値が、個人のサイトでどれだけあるかを考えました。答えは「短縮できたほうが嬉しいが、そのために確認の階層を積むほどではない」でした。

3. 半端な予備は、判断を鈍らせる

これが決め手でした。「予備がある」と思っていると、壊れたときに予備へ切り替えようとします。実際には予備が古い、あるいは壊れているとしても、まずそちらを試します。

そのぶん復旧が遅れます。予備が無いと最初から分かっていれば、迷わず手順書に沿って作り直しにかかれます。あやふやな予備は、無い場合より遅くなりうるということです。

やめるときにやったこと

単に止めるだけでは、また同じことが起きます。次を守りました。

2つ目と3つ目は、やめる判断を「やめた」と記録しないと、やり忘れと区別がつかないという点で同じです。止まっている仕組みは、意図して止めたのか放置なのか、外から見て分かりません。

「増やす」より「持たないと決める」ほうが難しい

この件でいちばん時間がかかったのは、技術的な作業ではなく持たないと決めることでした。

何かを増やす判断は正当化しやすいです。「安全のため」「万一に備えて」と言えば、それ以上の説明はあまり求められません。減らす判断のほうが、説明の負担が重いのです。「なぜ予備を持たないのか」には答える必要があります。

ただ、増やしたものには維持と確認の義務が付いてきます。そして個人の運用では、この義務を果たせる総量に上限があります。上限を超えると、増やしたもの全部が「あるつもりで機能していない」状態に向かいます。今回の失敗した同期は、まさにその状態でした。

だから今は、何かを足すときに「これを健全だと確認し続けられるか」を先に考えるようにしています。答えが「たぶん忘れる」なら、それは足すべきではなく、足さないことを明記すべきものです。

持ち帰れること

結果として構成はひとつ簡単になりました。簡単になったぶん、残ったものを確認する余力ができています。持てる数には上限があって、その上限は思っているより低い、というのがこの件の結論でした。