【NLBの役割(セキュリティ設計)】
目次
🔍 1. 結論
💎 一言でいうと NLB(Network Load Balancer)は、レイヤー4(TCP/UDP)で動作する超高性能なロードバランサーです。セキュリティ設計においては、「送信元クライアントのIPアドレスをバックエンドまでそのまま透過する機能」 と、「AWS PrivateLink (VPCエンドポイントサービス) の入り口となる機能」 が重要です。
- WAFはアタッチできない(ALBとの決定的な違い)。
- バックエンドのEC2のセキュリティグループで「クライアントの生IP」による制限が可能。
📈 2. SAAで出やすいポイント
- クライアントIPの保持: ALBの場合、バックエンドに届く通信の送信元IPはALBのIPになり、元のIPはHTTPヘッダ(X-Forwarded-For)に入ります。しかしNLBの場合、送信元のIPアドレスがパケットレベルでそのまま保持されるため、EC2のセキュリティグループで直接クライアントIPによるアクセス制限が可能です。
- 固定IP(Static IP): 各AZに1つの固定パブリックIP(Elastic IP)を割り当てることができます。企業のファイアウォールで「特定の固定IPのみ許可」といった厳格な要件がある場合に必須となります。
- AWS PrivateLinkとの統合: 自分のVPCで作ったサービスを、別のVPCや別企業のAWSアカウントに「プライベート網経由で」提供したい場合、サービス側に NLB を置く必要があります(VPCエンドポイントサービス)。
🗝 3. キーワードでの判断
| 問題文のキーワード | 疑う構成 |
|---|---|
| 📍 「バックエンドのEC2でクライアントの生IPでフィルタリングしたい」 | NLB (Network Load Balancer) |
| 🎯 「ファイアウォールのホワイトリスト用に固定IPが必要」 | NLB + Elastic IP |
| 🤝 「別VPCにインターネットを経由せず自社サービスを提供したい」 | NLB + AWS PrivateLink |
| ⚡ 「数百万リクエスト/秒」「TCP/UDPトラフィック」 | NLB |
⚠️ 4. ひっかけポイント
🚫 よくある誤答パターン – 「NLBにAWS WAFをアタッチしてSQLインジェクションを防ぐ」 → NLBはHTTP(L7)の中身を読めないためWAFは使えません。WAFが必要ならALBを選びます。 – 「ALBに固定のElastic IPを割り当てる」 → ALBは動的にIPが変わるため、直接EIPを付与できません(Global Acceleratorを併用するなどの工夫が必要)。IP固定ならNLBが正解。
💡 5. 覚え方
🧠 暗記ショートカット – NLB = 「透明な土管」。 – 中身(HTTP)は見ないし加工もしない。だから超高速だし、土管を覗けば向こう側(クライアントのIP)が直接見える。 – さらに外装を固定(固定IP)できる。
📚 6. 関連サービス
| アイコン | サービス名 | NLBとの関連・違い |
|---|---|---|
| ⚖️ | ALB | L7のロードバランサー。WAF連携やパスベースのルーティングが必要な場合はこちら |
| 🌐 | AWS PrivateLink | NLBをバックエンドに持つことで、他VPCからプライベートアクセスを可能にする |
| 🚪 | Security Group | NLB背後のEC2では、NLBのIPではなく「クライアントのIP」を評価できる |
🗒️ 7. Obsidian管理メモ
- 見返すタイミング: ALBとNLBの比較、PrivateLinkの学習時
- 関連ノート候補:
AWS_セキュア設計_ALB,AWS_SAA_PrivateLink
8. HTMLファイル名:
AWS_セキュア設計_NLB.html