1. はじめに
AWSネットワークのトラブルは、原因があちこちに分散していることが最大の難関です。
- SG(セキュリティグループ)?
- NACL?
- Route Table?
- Subnet?
- NAT? IGW? ENI?
気づけば、「どこで通信が落ちているのか探すだけで数時間…」という状況になりがちです。
本記事では、この“カオス”を 図解 による可視化 を使って攻略します。読み終える頃には、AWSネットワークの多くのトラブルを 5秒で切り分けられるようになるはずです。
また、職場で再利用できるように、相関図テンプレートも用意しています。ぜひご活用ください。
2. AWSネットワーク構成の基本要素
AWSネットワークのトラブルは、以下の5つを理解すると(多分)8割は解決します。
- VPC:家の敷地
- Subnet:部屋(EC2 の ENI が所属する場所)
- Route Table:部屋からどこへ行けるかの地図
- Security Group(SG):部屋の顔認証(stateful、Inbound/Outbound 両方)
- NACL:敷地の門番(stateless、Subnet 単位)
この記事では、これらを“流れ”として理解できるように図示します。
3. VPC全体構成の俯瞰図
4. 情報の流れで理解する:どこで落ちているのか?
AWSでは通信は次の順序で評価されます。
Route Table → NACL → SG(EC2 の ENI 基準) → OS Firewall → アプリ
このどこか1つでも設定を誤ると通信は失敗します。
Subnet はルート評価の主体ではなく「所属場所」である点に注意してください。
5. SG / NACL / RouteTable の相関を可視化
6. 典型トラブルと相関図による解決例
6.1 外部から EC2 に接続できない
考えられる原因:
- SG inbound が閉じている
- NACL inbound が DENY
- RouteTable が IGW に向いていない
- Public Subnet に紐づいた Route Table であることを確認
6.2 Private Subnet から外へ出られない
典型的な NATGW 設定ミスです。
- Private Subnet の RouteTable が NATGW に向いていない
- NATGW が Public Subnet に配置されていない
- NATGW がある Public Subnet の Route が IGW を向いていない
- NACL outbound が閉じている
- SG outbound が閉じている
6.3 ALB → EC2 の Target が Unhealthy
- SG の相互許可漏れ(EC2 側 SG inbound に ALB の SG を許可)
- NACL がヘルスチェックポートを拒否
- ALB の ENI → EC2 Subnet の NACL → SG の順に評価される
7. 図解の活用について
記事内の図解に使用している画像は、そのまま保存してドキュメント作成や社内共有などに自由にご活用いただいて問題ありません!
(そもそもPlantUMLを用いた図解のため)
8. デバッグの最速手順(実務向けチェックリスト)
最短でトラブルを切り分けるためのチェックリストです。
- Route Table が正しい宛先へ向いているか
- Subnet と RouteTable の関連付けは正しいか
- NACL ingress/egress が許可されているか
- SG inbound/outbound が適切に設定されているか
- ENI の関連付け(複数 ENI がある構成では特に注意)
- OS の Firewall(iptables / firewalld)
- アプリ側の Listen ポート
これらを順番に確認するだけで、ほとんどの問題は解決します。
9. まとめ
AWSネットワークのトラブルは複雑に見えますが、通信の流れを整理するだけで一気に理解しやすくなります。どのレイヤーで問題が起きているかが把握しやすくなり、切り分けスピードも大幅に向上します。
この記事が少しでも役に立ったと感じていただけたら、いいねやストックで応援していただけると嬉しいです!