お疲れさまです。今回はネットワーク構築における、現場でよくある「つながらない」現象について、落ち着いた視点で整理してみようと思います。VPCやセキュリティグループの設定は複雑になりがちですが、決定的な順番さえ守れば、驚くほどすっきり解消することが多いのです。
まずは「息」を確認する:インスタンスの状態とステータスチェック
SSHやHTTPで接続できない時、真っ先に確認すべきは、そのインスタンスが「生きているか」です。EC2のコンソール上で、ステータスが「Running」であることを確認しましょう。さらに重要なのは「ステータスチェック」です。インスタンスの状態チェックとシステムの状態チェック、両方が「2/2 正常」であることを確認することで、ハードウェアやホスト側の物理的な問題を除外できます。もしチェックが失敗している場合、インスタンス自体の再起動や、AMIの再デプロイを検討する余地があります。
通り道を広げる:セキュリティグループとNACLの連携
インスタンスが正常なら、次は「入り口」です。セキュリティグループ(SG)はインスタンスレベルの仮想ファイアウォール、ネットワークACL(NACL)はサブネットレベルのフィルターです。ここでありがちなのは、SGでは許可していても、NACLでブロックされているケースです。SGでは「Inbound」に許可ルールが設定されているか、そしてNACLでも対応するポート(例えば80や22)が「Allow」になっているか、双方向のルールが整っているか確認します。これらは「許可」するルールを追加するだけで、接続が復活することがほとんどです。
道しるべを探す:ルートテーブルとインターネットゲートウェイ
入り口が開いていても、目的地への道標(ルート)がないと、パケットは迷子になります。ルートテーブルを確認し、「0.0.0.0/0」に対して、インターネットゲートウェイ(IGW)が紐づけられているか確認しましょう。特にパブリックサブネットで外部と通信したい場合、この設定は必須です。また、パブリックIPアドレスが正しく割り当てられているかも併せて確認します。ルートテーブルは、ネットワークの「地図」のようなものです。地図が正しければ、旅はスムーズに進みます。
最終確認:ローカルとOS内の設定
VPC内の設定がすべて整っても、それでも繋がらない場合は、インスタンス内部の設定や、クライアント側の問題も視野に入れましょう。OS内のファイアウォール(iptablesやfirewalld)がポートを塞いでいないか、またはクライアント側でプロキシ設定などが影響していないかを確認します。これらはネットワーク構築の「微調整」のようなものです。一つずつ確実に確認していくプロセス自体が、エンジニアリングの喜びでもあります。
ネットワークのトラブルシューティングは、電車の乗換案内を探すのに似ています。始発から終点まで、どの駅(コンポーネント)で乗り換えるべきかを正しく理解していれば、必ず目的地に辿り着けます。
ネットワーク構築は、見えない線をつなぐ作業です。その線がスムーズに繋がっているとき、私たちは初めて、遠くの仲間と自由に会話できる喜びを感じられます。コーヒーを飲みながら、その安心感を味わってみてください。