💡2025/10/11追記 この記事で紹介しているサーバ停止の原因は、後に以下の記事で解説した Remote-SSHの接続エラー が根本原因でした。 EC2でRemote-SSHが頻繁に切れる原因と対処法【VSCode接続エラー解説】


ある日、いつも通りブログを編集していたところ、EC2上で運用しているWebサーバにまったくアクセスできなくなりました。
ブラウザからもSSHからも応答がなく、「あれ、死んだ?」と焦ったのを覚えています。

結論としては、EC2の再起動で解決しました。 ただ、当時は原因がわからず「なぜ止まったのか?」という疑問がずっと残りました。

EC2が落ちた原因はRemote-SSHの設定だった

この記事をリライトしている2025年9月、10月時点で、ようやく原因が分かりました。 VSCodeのRemote-SSH拡張機能が過剰に接続を維持しようとしてEC2側のリソースを圧迫していたのです。

冒頭にリンクを貼り付けた記事でも対策を記載していますが、 Remote-SSH を軽量化およびインスタンスタイプ変更をしてから、同様の落ち方は一度も起きていません。
この経験を通じて、原因不明のトラブルでも「現象を残しておくこと」「再現条件を疑うこと」の重要さを実感しました。

SIerの現場で同じことが起きたら、「原因を調べろ」「対策を立てろ」と詰められて正直つらいですが、 自分のプロジェクトだと、それが純粋に“楽しい学び”になるので幸せですね。

個人開発でも運用・保守は必要

今回は単純な再起動で解決しましたが、今後の運用や保守について考える良いきっかけになりました。 これを機に、現在の運用状況を整理しておきます。

このサイトの現在の保守状況は以下の通りです。

  • EC2にApatchをインストールしてwebサーバとして運用中。いわゆるLAMP構成のMを使っていない状態。
  • EBSのスナップショットは取得しておらず、基本的なバックアップはGitHubで管理
  • 記事データは、EBS上にMarkdownとして保存

個人的には、スナップショットによるEBSバックアップまでは現時点では不要と考えています。 スナップショットはS3に格納されることから料金自体はおそらく非常に安いですが、0円に越したことがないので。

GitHubでのバージョン管理だけで十分だと感じています。

EC2運用の今後の課題:開発環境と本番環境を分ける

ただし、そろそろ開発環境と本番環境を分けるべきフェーズに入ってきているとも感じています。 なぜなら、記事数も20本40本を超え、画面の大幅リニューアルを行いたいと考えているタイミングでもあるためです。

将来的には、EC2のままではなく、ECSやEKSのようなコンテナベースの構成を採用して、
技術的な学習と耐障害性の両立を目指したいと思っています。

まあ、とはいえwebサイトでコンテナーベスはやりすぎだしお金もかなりかかるので、 将来アプリを販売・運営する段階になったら、 その構成を使って勉強しつつできたらいいなとも思っています。

再起動は課金される?実際の費用感

ちなみにですが、EC2の再起動自体には追加料金は発生しません。 そして、現在は無料枠の期間はすでに切れていて、月3,000円前後で運用しています。 2025年10月以降は、インスタンスタイプを変更したこともあり、5,000近くになるのかなと思っています、、、 詳細は以下の記事でまとめています。

AWS EC2でブログ運営する時の費用を徹底解説|レンタルサーバとの比較

まとめ:動かして終わりじゃない、運用して初めてわかること

初めてサーバが落ちた時は、かなり焦りました。 まあ、まだまだアクセス数も少ないので、それほど影響はないだろうと思いましたが、SEO的には良くないはずですので。 ただ、思い返すと、6ヶ月以上も無停止で動き続けてくれていたので、むしろよく頑張ってくれたと思います。

あと、個人開発でも、「作って終わり」ではなく「運用して育てる」という視点を持つことが大切ですね。