🏢 たとえ話で理解する GWLB

「空港のセキュリティゲート」で考えてみましょう。乗客(パケット)は必ずセキュリティチェック(検査アプライアンス)を通ってから搭乗口(アプリ)へ向かいます。

✈️ アナロジー 空港のセキュリティチェックシステム

✈️ 空港の世界

🧳
搭乗する乗客・荷物空港に入ってくるすべての人とモノ
🚧
セキュリティゲート(GWLB)すべての乗客を振り分けるチェックポイント
🔍
X線スキャナー(アプライアンス)荷物の中身を詳細に検査する機械
🛬
搭乗口(アプリサーバー)検査が終わった乗客だけが入れる場所
📒
インシデント記録簿(S3/CloudWatch)不審物・対処の記録を一括管理

☁️ AWS の世界

📦
ネットワークパケットインターネットから来るすべての通信データ
⚖️
Gateway Load Balancer(GWLB)トラフィックをアプライアンスへ均等に振り分ける
🛡️
ファイアウォール/IDS アプライアンスパケットの中身(ペイロード)を深く検査
🖥️
アプリケーションサーバー(EC2 等)安全と判断されたトラフィックだけが到達
📊
S3 / CloudWatch Logs / SIEMすべての検査結果・アクションを一元記録
📖 Gateway Load Balancer とは?

サードパーティのネットワーク仮想アプライアンスのデプロイと管理を簡素化するAWSのサービスです。

Gateway Load Balancer(GWLB)は、ファイアウォール・侵入検知/防止システム(IDS/IPS)・ディープパケットインスペクションシステムなどのネットワーク仮想アプライアンスを、既存のネットワーク構成を変えずに透過的に挿入できるAWSのロードバランサーです。

OSI モデルの レイヤー3(ネットワーク層)レイヤー4(トランスポート層) で動作し、パケットの宛先IPアドレスとポートに基づいてルーティングを行います。

⚖️
アプライアンスの
ロードバランシング

複数の仮想アプライアンスにトラフィックを均等分散。高可用性とスケーラビリティを自動で確保し、単一障害点を排除します。

💓
ヘルスチェック

アプライアンスの正常性を常時監視。異常を検出すると自動的に健全なアプライアンスへリダイレクトし、サービス継続性を維持します。

🔬
透過的な
ネットワークゲートウェイ

GENEVEプロトコルでカプセル化することで、元のパケット情報を完全に保持したままアプライアンスへ転送。アプリ側の設定変更は不要です。

🗂️ 動作レイヤー
Layer 3
ネットワーク層
宛先IPアドレスで判断
Layer 4
トランスポート層
ポート番号で判断
※ L7(アプリケーション層)の詳細検査はアプライアンス側が担当。GWLBはL3/L4でルーティングのみを行い、実際のDPIはアプライアンスが実施します。
🧩 3つのコアコンセプト

GWLBアーキテクチャは「GWLB本体」「GWLBエンドポイント」「検査アプライアンス」の3要素で成り立ちます。

⚖️

Gateway Load Balancer(GWLB)

セキュリティVPCに配置。複数のアプライアンスへトラフィックを均等分散しながら、元のパケット情報をそのまま保持(GENEVEカプセル化)して透過検査を実現する。

🔌

GWLBエンドポイント(GWLBE)

アプリケーションVPCに配置するインターフェース。ルートテーブルの向き先をGWLBEに設定するだけで、アプリ側の設定を変えずにトラフィックを検査経路へリダイレクト。

🛡️

サードパーティアプライアンス

Palo Alto、Fortinet、Check Point などのファイアウォール・IDS。パケット内容(レイヤー7)を解析し、許可・ブロック・ログを判定。GWLBがスケールを自動管理する。

🏗️ アーキテクチャ全体図

インターネットからアプリまでの経路にGWLBエンドポイントを挿入し、すべてのトラフィックをセキュリティVPCへ「迂回」させます。

🌐 インターネット
👤
インターネットユーザー
HTTPSリクエスト送信
⬇️
① IGW がパケットを受信
🔵 アプリケーション VPC
🚪
Internet Gateway
エントリポイント
🔌
GWLB エンドポイント
ルートテーブルで誘導
⬆️⬇️
② トラフィックをセキュリティ VPC へ迂回
(GENEVE カプセル化)
🟣 セキュリティ VPC(集中検査ハブ)
🛡️
ファイアウォール
アプライアンス #1
DPI・IDS・IPS
⚖️
Gateway
Load Balancer
均等振り分け
🛡️
ファイアウォール
アプライアンス #2
DPI・IDS・IPS
⬇️
③ 検査 OK のトラフィックのみアプリへ転送
/ 検査結果はログへ
🔵 アプリケーション VPC(続き)
🖥️
EC2 / コンテナ
安全なトラフィックのみ受信
🚫
ブロックされた
パケット
脅威検知→ドロップ
🟢 中央ログ収集
📋
S3 / CloudWatch /
SIEM
全アクションを集中管理
🔄 トラフィックフロー(5ステップ)

パケットが「受信」から「アプリ到達」または「ブロック」に至るまでの流れを追います。

1
🌐
IGW受信
インターネットからパケット到着。ルートテーブルがGWLBEへ誘導
2
🔌
GWLBE転送
GWLBエンドポイントがパケットをセキュリティVPCへ送出(GENEVEカプセル化)
3
🔍
DPI 検査
アプライアンスがL7まで解析。マルウェア・攻撃パターンを検知
4
📋
ログ送信
検査結果・判定アクション・フローメタデータをS3/CWLに即時書き込み
5
判定・転送
許可→アプリへ返送。ブロック→ドロップ。GWLBが元経路へ戻す
⚙️ GWLBの内部メカニクス

GWLBがどのように「透過的」かつ「スケーラブル」に動くかを詳しく見ます。

🧊 GENEVEカプセル化(透過プロキシ)

パケットをGENEVEプロトコルでラップし、元のIPヘッダー・ポート情報を保持したまま転送。アプライアンスはオリジナルのパケット内容を完全に見ることができ、送受信元の変更なし。

🎯 フローの一貫性(Stickiness)

同一TCPセッションの往路・復路のパケットは必ず同じアプライアンスインスタンスに送られる(5-tuple ハッシュ)。ステートフルなセッション管理が正しく維持される。

🔁 ヘルスチェックと自動切り替え

GWLBはアプライアンスの死活監視を常時実行。障害インスタンスを自動的に除外し、正常なインスタンスだけにトラフィックを向ける。検査の空白時間を最小化。

📈 水平スケールアウト

アプライアンスをAuto Scalingグループで管理することでトラフィック増大に自動対応。GWLBが新しいアプライアンスを即座に検出し、負荷分散に加える。管理者の手作業不要。

🔌 GWLBEの配置パターン

GWLBエンドポイント(GWLBE)の置き場所は「インバウンド検査」と「アウトバウンド検査」で異なります。

📥 インバウンド検査(外→内)

🌐 IGW
🔌 GWLBE
(IGWルートテーブル)
🛡️ GWLB検査
🖥️ EC2
GWLBEをIGWと同じVPCに置き、IGWルートテーブルの向き先をGWLBEに設定。外部からのすべてのトラフィックが検査を通過。

📤 アウトバウンド検査(内→外)

🖥️ EC2
🔌 GWLBE
(プライベートRT)
🛡️ GWLB検査
🌐 外部
プライベートサブネットのルートテーブルにGWLBEを追加。EC2からの外向き通信(データ漏洩・C2通信)も検査対象に含める。
📊 中央ログ収集のフロー

検査されたトラフィックのすべてのアクションが、一箇所に集まりクロスVPC分析が可能になります。

🛡️
アプライアンス
検査・判定後にログ生成(FlowLog、AlertLog)
📡
ログ転送
Syslog / CloudWatch Agent / Kinesis Data Firehose
🗄️
中央ログストア
S3バケット(セキュリティアカウント)に集中
🔎
分析・可視化
Amazon Athena / OpenSearch / SIEM ツール
📋 ログに含まれる主要フィールド
フィールド 内容 活用シーン
src-ip / dst-ip 送受信元IPアドレス 攻撃元IPの特定・ブロックリスト作成
action ALLOW / DENY / ALERT ポリシー効果の検証・コンプライアンス証跡
threat-name 検知した脅威の種類 インシデント対応・SIEM相関分析
bytes / packets フロー量データ データ漏洩の異常検知・容量計画
session-id セッション識別子 往路・復路の紐付けとフォレンジック
💼 主なユースケース

🏢 マルチVPC一括検査

  • 本番・開発・検証の各VPCを1つのセキュリティVPCで集中管理
  • Transit Gatewayとの組み合わせで大規模マルチアカウント対応
  • 検査ポリシーの一元管理でコンプライアンスを簡素化
  • アプリチームへのセキュリティ責任の分離

🔍 侵入検知・防止(IDS/IPS)

  • L7ペイロードの解析によるゼロデイ攻撃の検知
  • SQLインジェクション・XSSなどWebアプリ攻撃のリアルタイム防御
  • マルウェアシグネチャとの照合でC2通信を遮断
  • SSL/TLS復号検査による暗号化脅威の可視化

📊 コンプライアンス・監査

  • PCI DSS・SOC2・ISO27001対応の通信ログ完全保存
  • 誰が何時どのデータにアクセスしたかの追跡
  • 異常な大量データ転送(データ漏洩)の検知と通知
  • 定期レポートの自動生成(Athena + QuickSight)

🌍 ハイブリッド環境の保護

  • Direct Connect経由のオンプレミス↔AWS通信の検査
  • VPN接続トラフィックへの透過的なポリシー適用
  • クラウド移行期の既存セキュリティポリシー継続適用
  • 東西トラフィック(VPC間)の内部脅威監視
📐 他のセキュリティサービスとの違い
サービス 検査レイヤー アプライアンス統合 主な用途 GWLBとの関係
Gateway Load Balancer L3〜L7(DPI) ✅ サードパーティ統合 透過的全トラフィック検査
AWS WAF L7(HTTP/S) ❌ AWSマネージドのみ Webアプリ攻撃防御 GWLBと併用可。WAFはCloudFront/ALBに付加
Security Group / NACL L3〜L4のみ IPポートベースのフィルタ GWLBの前後に組み合わせる基本防御層
AWS Network Firewall L3〜L7 ❌ AWSマネージドのみ AWSネイティブのステートフルFW サードパーティ不要な場合のGWLB代替
Amazon GuardDuty ログ分析 脅威インテリジェンス・異常検知 GWLBログの分析先として補完
❓ よくある質問
QGWLBはトラフィックの内容を変えてしまいますか?
変えません。GWLBはGENEVEプロトコルでパケットを「外側からラップ」して転送するため、元のIPアドレス・ポート・ペイロードは一切変更されません。アプライアンスが検査するのも変更前のオリジナルパケットです。
Q検査アプライアンスが1台しかない場合はどうなりますか?
GWLBはヘルスチェックが失敗したアプライアンスを自動除外します。アプライアンスを複数台(別AZに配置)にすることが強く推奨されます。Auto Scalingと組み合わせると、障害時・高負荷時も自動で台数を調整できます。
Qログの収集に追加コストはかかりますか?
GWLB自体にはログ出力機能はなく、ログはアプライアンス側が生成します。アプライアンスからCloudWatch Logs・S3・Kinesis Data Firehoseへの転送コストが発生します。ただし収集したログはAthenaで低コスト分析が可能です。
QSSL/TLS暗号化された通信も検査できますか?
GWLBは復号を行いませんが、アプライアンス(Palo Alto、FortinetなどのSSL復号機能)がTLSを終端し平文で検査することで対応可能です。その場合、復号証明書の管理とプライバシーポリシーへの考慮が必要です。
QTransit Gatewayと組み合わせるとどうなりますか?
最も一般的な大規模構成です。Transit Gatewayがアタッチされた多数のVPCからのトラフィックをセキュリティVPC(GWLBを配置)へ集約します。これにより数十のVPCを1セットのアプライアンスで一括検査できます。

Created by SSuzuki1063

AWS SAP Learning Resources