AWSでSSH接続できない問題を解決した話

はじめに 先日、AWSで立てたEC2インスタンスにSSH接続できなくなる問題が発生しました。このトラブルの原因と解決方法を記録しておきます。同じ状況に陥った方の助けになれば幸いです。 問題の症状 EC2インスタンスにSSH接続を試みると、Connection timed out のエラーが表示される。 AWSコンソール上では、インスタンスは正常に動作中。 ブラウザからの接続は可能(インスタンス内のApacheは稼働中)。 トラブルシューティングの進め方 問題解決のため、まずはSSH接続ができない間もAWS System Managerの「セッションマネージャー」を利用しました。System Managerを活用することで、インスタンスの内部に直接ログインでき、次のような確認や操作が可能になりました: ファイアウォール(UFW)の状態確認 sudo ufw status Copy SSHサービスの状態確認 sudo systemctl status ssh Copy System Managerは、セキュリティグループやファイアウォールの設定ミスが原因でSSH接続ができなくてもインスタンス内部にアクセスできるため、非常に有用です。 原因と解決方法 調査の結果、以下の4つの原因が考えられました。 原因1: セキュリティグループのルール設定ミス 問題点 セキュリティグループでポート22(SSH)が許可されていなかった。 解決方法 AWSコンソールのセキュリティグループ設定に以下のルールを追加: タイプ: SSH プロトコル: TCP ポート範囲: 22 ソース: 自分のグローバルIPアドレス(例: 203.0.113.0/32) 原因2: UFW(Uncomplicated Firewall)がポート22を閉じていた 問題点 EC2インスタンス内のUFW(ローカルファイアウォール)でポート22が閉じられていた。 解決方法 以下のコマンドを実行してポート22を許可し、設定を反映しました。 sudo ufw allow 22 sudo ufw reload Copy 原因3: グローバルIPの変動 問題点 自分のグローバルIPアドレスが変更されたことで、セキュリティグループのルールが機能しなくなった。 解決方法 新しいグローバルIPを確認し、セキュリティグループのSSHルールを更新しました。 curl ifconfig.me Copy 原因4: インターネットゲートウェイの設定ミス 問題点 インターネットゲートウェイがVPCに正しくアタッチされていなかった。 解決方法 AWSコンソールのVPCダッシュボードで以下を確認しました: ...

Test Post

echo "Hello, World!" Copy

First Post

AWSでLAMP環境を構築したけれど… 最近、AWS上でLAMP環境を構築し、WordPressを立ち上げました。これ自体は、これまでの経験を活かして比較的スムーズに進めることができました。EC2のインスタンスを用意し、Apacheを設定し、MySQLとPHPを組み合わせて、ようやくWordPressのインストールにこぎつけました。 WordPressのダッシュボードを初めて開いたときには、達成感がありました。「これで理想のブログができる」と思ったのです。しかし、その後、運用をイメージし始めたとき、徐々に違和感が生じてきました。 WordPressで感じた違和感 WordPressは確かに便利で多機能です。しかし、カスタマイズしようと思うとプラグインの選定やセキュリティ対策に多くの時間を費やす必要があります。そして、定期的なアップデートの管理、MySQLのバックアップ、万が一のトラブル時の復旧作業…これらが少しずつ重くのしかかってきました。 ブログ運営は長期戦です。構築そのものに時間をかけすぎるのではなく、記事の執筆や情報発信にもっと時間を使いたい。そう思い始めると、WordPressは少し「重たい」と感じるようになりました。 静的サイトジェネレーターとの出会い そんな中で目にしたのが、静的サイトジェネレーターの存在です。特にHugoのシンプルさや高速性には興味を惹かれました。さらに、GitHub Pagesを利用すれば無料でホスティングでき、運用コストを大幅に削減できることに気づいたのです。 Hugoで生成される静的サイトは、セキュリティリスクも少なく、更新もGitの操作だけで完結します。「これなら、より気軽にブログを運営できるかもしれない」と思い、試しにローカル環境でHugoを導入してみました。 GitHub Pages + Hugoへの移行を決断 Hugoを使ってサイトを構築してみると、その軽さとスピード感に驚きました。Markdownで記事を書き、コマンド一つでサイトを生成。そして、そのファイルをGitHubにプッシュするだけで公開できる。このシンプルさに感動しました。 最初は「WordPressで構築したものを捨てるのはもったいない」と葛藤しました。しかし、将来を見据えたとき、運用の手軽さが何よりも重要だと判断し、GitHub Pages + Hugoに移行することを決断しました。 結論:ブログ運営における最適解とは? AWSでのLAMP環境構築やWordPressの設定は、確かに学びの多い経験でした。しかし、それ以上に「どんな形でブログを運営したいのか」を考える貴重な機会にもなりました。 今、私はHugoとGitHub Pagesでブログを運営しています。そのシンプルさと自由度の高さに満足しながら、これから記事を増やしていくつもりです。 もし、ブログの運営方法で悩んでいる方がいれば、「自分にとって最適な運用方法は何か?」をぜひ考えてみてください。決して、簡単にたどり着ける答えではありませんが、その過程で得られる学びは大きいものです。