目次

Gateway Load Balancer (GWLB) 完全ガイド v2.0

L3 透過プロキシ・セキュリティアプライアンス・GENEVE プロトコル


概要

Gateway Load Balancer(GWLB) は、サードパーティセキュリティアプライアンス(ファイアウォール・IDS/IPS・DPI)を VPC トラフィックに透過的に挿入する L3 ロードバランサー です。GENEVE プロトコル(ポート 6081)を使い、トラフィックをアプライアンスに送信・検査・返却させ、アプリケーション変更なしに全トラフィック検査を実現します。AWS Marketplace のセキュリティベンダーと統合し、2025-2026 年には AI ベース脅威検知・Zero Trust 統合が加速しています。

初心者向けメモ

GWLB は「トラフィックを透過的にセキュリティ機器に通す」ロードバランサーです。ALB/NLB はアプリケーション向けですが、GWLB はネットワーク層で動作し、Palo Alto・Checkpoint・Fortinet などのファイアウォールを「シースルー」で挿入できます。スケーリング・冗長化も自動的に実現できます。


GWLB が解決する課題

課題 Network Firewall GWLB + Third-party VPC Lattice
管理方式 AWS マネージド Marketplace 製品 AWS マネージド
設定の柔軟性 AWS コンソール ベンダーツール AWS コンソール
高度な検査機能 基本的な IDS/IPS DPI・ゼロトラスト等 ポリシーベース制御
既存ポリシー移行 新規作成 既存ポリシーそのまま N/A
スケーリング 自動 GWLB が管理 自動
複数ベンダー混在 ✅ 可能
East-West 検査 ✅ Native
AI 脅威検知(2025+) ✅ ベンダー機能
Zero Trust 統合 ✅ IAM + GENEVE ✅ IAM ネイティブ
コスト 低~中 中~高 低~中

主な特徴

特徴 説明 v2.0 キーポイント
L3 透過処理 IP ヘッダ保持・GENEVE カプセル化 アプライアンスが元ルーティング可能
GENEVE Protocol RFC 8926(Network Function Gateway) 汎用・多ベンダー対応・標準化
Flow Stickiness 5-tuple / 3-tuple / 2-tuple 同じアプライアンスで処理継続
GWLB Endpoint VPC Endpoint(Service Provider 型) Private Link ベース
Marketplace Integration Palo Alto / Fortinet / Check Point / Trend Micro / Zscaler 多数サポート拡大中
Target Group EC2 インスタンス(アプライアンス) Auto Scaling 対応・Health Check
Cross-Zone AZ 間の自動分散 高可用性・冗長化
Health Check TCP / HTTP / HTTPS / UDP 不健全アプライアンス自動除外
AI 脅威検知(2025+) 機械学習ベース異常検知 ベンダー実装による
Zero Trust 連携 IAM + GENEVE Zscaler 統合など

アーキテクチャ

図1:GWLB トラフィックフロー(Ingress + Egress)

graph TB
    Internet["Internet<br/>インターネット"]
    IGW["Internet Gateway"]
    
    AppSubnet["Application Subnet<br/>10.0.1.0/24<br/>Route Table:<br/>0.0.0.0/0 → GWLB Endpoint"]
    
    GWLBEndpoint["GWLB Endpoint<br/>VPC Endpoint<br/>Service Consumer VPC"]
    
    InspectionVPC["Inspection VPC<br/>セキュリティ検査用"]
    GWLB["Gateway Load Balancer<br/>ポート 6081 GENEVE"]
    
    Appliance1["Palo Alto / Fortinet<br/>/ Zscaler<br/>Appliance Instance 1"]
    Appliance2["Palo Alto / Fortinet<br/>/ Zscaler<br/>Appliance Instance 2"]
    
    Internet -.->|HTTP/HTTPS<br/>Incoming| IGW
    IGW -->|Route via GWLB Endpoint| GWLBEndpoint
    
    GWLBEndpoint -->|GENEVE<br/>6081<br/>Payload Tunnel| GWLB
    
    GWLB -->|Load Balance<br/>5-tuple Sticky| Appliance1
    GWLB -->|Load Balance<br/>5-tuple Sticky| Appliance2
    
    Appliance1 -.->|Decapsulate<br/>Inspect<br/>Encapsulate<br/>ML Analysis| GWLB
    Appliance2 -.->|Decapsulate<br/>Inspect<br/>Encapsulate<br/>ML Analysis| GWLB
    
    GWLB -->|GENEVE Return| GWLBEndpoint
    GWLBEndpoint -->|Routed Back| AppSubnet

    style GWLB fill:#ff9999
    style Appliance1 fill:#99ff99
    style Appliance2 fill:#99ff99
    style GWLBEndpoint fill:#99ccff

図2:East-West 検査パターン & Zero Trust

graph LR
    subgraph VPC1["VPC A<br/>App Servers"]
        EC2A["App Server A<br/>Service A"]
    end
    
    subgraph VPC2["VPC B<br/>Database"]
        EC2B["Database Server<br/>Service B"]
    end
    
    subgraph InspectionVPC["Inspection VPC<br/>Security + Zero Trust"]
        GWLB["GWLB"]
        Appliance["Firewall + AI<br/>IDS/IPS + DPI<br/>Zero Trust Enforcement"]
    end
    
    EC2A -->|Inter-VPC Traffic<br/>Route via GWLB| GWLB
    GWLB --> Appliance
    Appliance -->|IAM 認証 Check<br/>Threat Inspection<br/>GENEVE 6081| EC2B
    
    EC2B -.->|Return Traffic<br/>via GWLB| EC2A

    style GWLB fill:#ff9999
    style Appliance fill:#99ff99
    style EC2A fill:#99ccff
    style EC2B fill:#99ccff

コアコンポーネント

1. Gateway Load Balancer

定義:L3 ロードバランサー
動作:
  - IP トラフィック全 Port 監視
  - 5-tuple でフロー保持
  - GENEVE カプセル化で送信
  - 元のヘッダ情報保持
  
特性:
  - Health Check 連動
  - Cross-Zone 対応
  - Auto Scaling 対応
  - 400 Gbps 対応予定(2026+)

2. GWLB Endpoint(VPC Endpoint Service)

定義:Service Consumer VPC でのエントリーポイント
実体:VPC Endpoint(Service Provider 型)
役割:
  - Route Table を経由してトラフィック受信
  - GENEVE 形式で GWLB に転送
  - 検査済みトラフィックを返却

配置:
  - Application Subnet と異なるサブネット
  - Route Table で次ホップに指定
  - 複数 AZ に配置(高可用性)

3. Target Group(アプライアンス)

タイプ:EC2 Instance(セキュリティアプライアンス)
例:
  - Palo Alto Networks VM-Series
  - Fortinet FortiGate-VM
  - Check Point Cloudguard
  - Trend Micro Deep Security
  - Zscaler Virtual Service Edge(2025+)

構成:
  - Network Interface(Primary + Secondary)
  - IP 設定(GENEVE デカプセル化対応)
  - Inbound Route(元パケット送信用)
  
スケーリング:
  - Auto Scaling Group 統合
  - 負荷ベース自動スケール

4. GENEVE Protocol(Generic Network Virtualization Encapsulation)

標準:RFC 8926
ポート:6081/UDP
ヘッダ:
  - Outer IP(GWLB ← → Appliance)
  - Inner IP(元のパケット)
  - TLV Options(メタデータ)
  - AI Score / Threat Indicator(2025+ 拡張予定)

カプセル化:
  元パケット:
    SRC: 203.0.113.1
    DST: 10.0.1.100
    
  GENEVE トンネル:
    Outer SRC: GWLB NIC IP
    Outer DST: Appliance NIC IP
    Inner:元パケット(intact)
    TLV: Threat Score(AI 検知結果・2025+)

5. Flow Stickiness(フロー保持)

デフォルト:5-tuple(SRC IP, SRC Port, DST IP, DST Port, Protocol)
オプション:
  - 3-tuple(SRC IP, DST IP, Protocol)
  - 2-tuple(SRC IP, DST IP)

用途:
  - 同じアプライアンスで検査継続
  - 接続状態の保持
  - セッション情報の一貫性
  - ステートフルファイアウォールの状態管理

6. Security Group & NACL(GENEVE 対応)

GWLB Endpoint 向け:
  - Inbound:UDP 6081 from GWLB IP range
  - Outbound:すべて許可

Appliance Instance 向け:
  - Inbound:UDP 6081 from GWLB
  - Inbound:Management Traffic(SSH 22 / HTTPS 443)
  - Outbound:すべて許可(元パケット送信)

主要ユースケース(12+)

  1. VPC Ingress 検査:インターネット経由トラフィック全検査(ファイアウォール)
  2. East-West セグメンテーション:VPC 間通信の IDS/IPS 検査
  3. 多層防御:Network Firewall + GWLB アプライアンスの組み合わせ
  4. 既存セキュリティポリシー移行:オンプレ Palo Alto・Checkpoint をクラウドに持ち込み
  5. マルチ VPC 統合検査:複数 VPC トラフィック一箇所で集約検査
  6. DPI(Deep Packet Inspection):アプリケーション層の検査・ブロック
  7. 脅威インテリジェンス統合:外部 TI フィード連携
  8. ハイブリッドセキュリティ:オンプレ + AWS トラフィック統一検査
  9. Compliance・監査要件:全トラフィック記録・分析(HIPAA・PCI-DSS)
  10. API Gateway セキュリティ:API トラフィック DPI 検査
  11. マルウェア検査・サンドボックス:疑わしいファイル隔離検査(2025+)
  12. SSL/TLS インスペクション:暗号化トラフィック復号検査
  13. AI ベース脅威検知:機械学習による異常検知(2025-2026)
  14. Zero Trust ネットワークセキュリティ:IAM + Threat Prevention 統合

設定・操作の具体例

AWS CLI 例1:GWLB 作成

aws elbv2 create-load-balancer \
  --name "security-inspection-gwlb" \
  --subnets subnet-12345678 subnet-87654321 \
  --type gateway \
  --scheme internal \
  --tags Key=Environment,Value=Production Key=Owner,Value=Security

AWS CLI 例2:Target Group 作成

aws elbv2 create-target-group \
  --name "palo-alto-targets" \
  --protocol GENEVE \
  --port 6081 \
  --vpc-id vpc-12345678 \
  --target-type instance \
  --health-check-enabled \
  --health-check-protocol HTTP \
  --health-check-path "/api/health" \
  --health-check-interval-seconds 30 \
  --health-check-timeout-seconds 10 \
  --healthy-threshold-count 2 \
  --unhealthy-threshold-count 3

AWS CLI 例3:GWLB Endpoint Service 公開

aws ec2 create-vpc-endpoint-service-configuration \
  --gateway-load-balancer-arns \
    "arn:aws:elasticloadbalancing:region:account:loadbalancer/gwlb/security-inspection-gwlb/1234567890abcdef" \
  --acceptance-required

AWS CLI 例4:Service Consumer VPC での Endpoint 作成

aws ec2 create-vpc-endpoint \
  --vpc-id vpc-consumer-12345678 \
  --service-name com.amazonaws.vpce.region.vpce-svc-1234567890abcdef0 \
  --vpc-endpoint-type GatewayLoadBalancer \
  --subnet-ids subnet-consumer-1 subnet-consumer-2

CloudFormation 例

Resources:
  SecurityGWLB:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      Name: security-gwlb
      Subnets:
        - subnet-12345678
        - subnet-87654321
      Type: Gateway
      Scheme: Internal
      
  PaloAltoTargetGroup:
    Type: AWS::ElasticLoadBalancingV2::TargetGroup
    Properties:
      Name: palo-alto-targets
      Protocol: GENEVE
      Port: 6081
      VpcId: vpc-12345678
      TargetType: instance
      HealthCheckEnabled: true
      HealthCheckProtocol: HTTP
      HealthCheckPath: /api/health
      HealthCheckIntervalSeconds: 30
      
  GWLBListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    Properties:
      LoadBalancerArn: !Ref SecurityGWLB
      DefaultActions:
        - Type: forward
          TargetGroupArn: !Ref PaloAltoTargetGroup
      Protocol: GENEVE
      Port: 6081

  GWLBEndpointService:
    Type: AWS::EC2::VPCEndpointService
    Properties:
      GatewayLoadBalancerArns:
        - !Ref SecurityGWLB
      AcceptanceRequired: true

  AppVPCEndpoint:
    Type: AWS::EC2::VPCEndpoint
    Properties:
      VpcId: !Ref AppVpc
      ServiceName: !Sub "com.amazonaws.vpce.${AWS::Region}.${SecurityGWLB}"
      VpcEndpointType: GatewayLoadBalancer
      SubnetIds:
        - subnet-app-1
        - subnet-app-2

Terraform 例

resource "aws_lb" "security_gwlb" {
  name               = "security-inspection-gwlb"
  load_balancer_type = "gateway"
  subnets            = [aws_subnet.security_a.id, aws_subnet.security_b.id]
  internal           = true
}

resource "aws_lb_target_group" "palo_alto" {
  name        = "palo-alto-targets"
  protocol    = "GENEVE"
  port        = 6081
  vpc_id      = aws_vpc.inspection.id
  target_type = "instance"
  
  health_check {
    enabled             = true
    healthy_threshold   = 2
    unhealthy_threshold = 3
    timeout             = 10
    interval            = 30
    path                = "/api/health"
    protocol            = "HTTP"
    port                = "80"
  }
}

resource "aws_lb_listener" "security" {
  load_balancer_arn = aws_lb.security_gwlb.arn
  protocol          = "GENEVE"
  port              = 6081
  
  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.palo_alto.arn
  }
}

resource "aws_lb_target_group_attachment" "appliance_1" {
  target_group_arn = aws_lb_target_group.palo_alto.arn
  target_id        = aws_instance.appliance_1.id
  port             = 6081
}

resource "aws_vpc_endpoint_service" "gwlb_service" {
  acceptance_required        = true
  gateway_load_balancer_arns = [aws_lb.security_gwlb.arn]
}

resource "aws_vpc_endpoint" "app_gwlbe" {
  vpc_id              = aws_vpc.app.id
  service_name        = aws_vpc_endpoint_service.gwlb_service.service_name
  vpc_endpoint_type   = "GatewayLoadBalancer"
  subnet_ids          = [aws_subnet.app_1.id, aws_subnet.app_2.id]
  policy              = data.aws_iam_policy_document.gwlbe.json
}

Python Example(Boto3):Health Check & Auto Scaling

import boto3

elbv2 = boto3.client('elbv2')
asg = boto3.client('autoscaling')

def configure_appliance_autoscaling():
    # Target Group 情報取得
    tg = elbv2.describe_target_groups(
        Names=['palo-alto-targets']
    )['TargetGroups'][0]
    
    tg_arn = tg['TargetGroupArn']
    
    # Auto Scaling Group 作成
    asg.create_auto_scaling_group(
        AutoScalingGroupName='palo-alto-asg',
        LaunchConfigurationName='palo-alto-config',
        MinSize=2,
        MaxSize=10,
        DesiredCapacity=2,
        AvailabilityZones=['ap-northeast-1a', 'ap-northeast-1c'],
        TargetGroupARNs=[tg_arn],
        HealthCheckType='ELB',
        HealthCheckGracePeriod=300
    )
    
    # Scaling Policy(CPU ベース)
    asg.put_scaling_policy(
        AdjustmentType='ChangeInCapacity',
        AutoScalingGroupName='palo-alto-asg',
        EstimatedWarmupSeconds=300,
        MetricAggregationType='Average',
        PolicyName='scale-up',
        StepAdjustments=[
            {
                'MetricIntervalLowerBound': 0,
                'ScalingAdjustment': 1
            }
        ]
    )
    
    print("Auto Scaling configured for GWLB appliances")

類似サービス比較表

項目 GWLB + Appliance Network Firewall WAF / Shield ALB + WAF VPC Lattice
トラフィック対象 L3/L4 全ポート L3/L4 ステートフル HTTP/HTTPS HTTP/HTTPS L7 ポリシーベース
DPI 機能 ✅(ベンダー) △ 基本的
既存ポリシー移行
East-West 検査
複数ベンダー N/A N/A
マネージド △(GWLB は ✅)
スケーリング ✅(GWLB 管理) ✅(自動)
複雑さ 高(ベンダー設定)
コスト 中~高 低~中 低~中
AI 脅威検知(2025+) ✅ ベンダー依存

ベストプラクティス

✅ すべき施策

  1. 冗長アプライアンス:最低 2 つの異なる AZ にデプロイ
  2. Health Check 設定:不健全なアプライアンス自動除外
  3. Flow Stickiness 確認:同一フローの一貫性保証(5-tuple)
  4. ルートテーブル分離:App Subnet / GWLB Endpoint を異なるサブネットに配置
  5. CloudWatch Logs:トラフィック・ヘルス監視
  6. Marketplace ベンダー選定:AWS 統合済みの製品(Palo Alto・Fortinet等)
  7. ベンダードキュメント確認:GENEVE 対応・IP 設定確認
  8. 段階的デプロイ:本番前に PoC / Staging で検証
  9. Auto Scaling 設定:ベース負荷対応・スパイク対応
  10. AI 脅威検知活用:ベンダーの機械学習機能有効化(2025+)

❌ 避けるべき施策

  1. シングルアプライアンス:ダウン時に全トラフィック停止
  2. Health Check なし:障害アプライアンスへのトラフィック送信
  3. Flow Stickiness 無視:異なるアプライアンスで状態不一致
  4. GENEVE チューニング不足:MTU ミスマッチで遅延増加
  5. ベンダーサポート軽視:導入後の設定問題に対応困難
  6. Auto Scaling なし:負荷時にパフォーマンス低下
  7. Management Network 軽視:Appliance SSH/HTTPS アクセス不可

トラブルシューティング表

症状 原因 対処
トラフィック不通 GWLB Endpoint 未作成・Route 不正 Route Table・Endpoint 確認
Health Check 失敗 アプライアンス未起動・Port 未応答 アプライアンス起動・IP/Port 確認
遅延増加 MTU ミスマッチ・GENEVE オーバーヘッド MTU 調整(1500 → 1450)
アプライアンス CPU 100% トラフィック集中・DPI オーバーロード Scaling Policy 調整・リソース追加
流出トラフィック検査漏れ Return Path が GWLB 経由でない ルートテーブル確認・Endpoint 確認
GENEVE デカプセル化失敗 アプライアンス GENEVE 非対応・設定ミス Appliance GENEVE サポート確認
Endpoint Service 受け入れ保留 Acceptance Required 設定で手動承認待ち Service Consumer から Accept リクエスト

2025-2026 最新動向

  • 400 Gbps アプライアンス対応:超大規模ネットワーク向け
  • AI/ML ベース脅威検知:機械学習による異常検知・自動ブロック
  • Zero Trust インテグレーション:GWLB + VPC Lattice IAM 認証統合
  • IPv6 Dual-Stack:全リージョン対応拡大
  • Zscaler Zero Trust Gateway:AWS との統合(2025 実装中)
  • Regional Firewall 拡張:新興市場でのロケーション拡張
  • GENEVE Extension:AI Score・Threat Indicator TLV オプション
  • CloudGuard 自動スケール:Check Point との統合強化

Advanced GENEVE & Protocol 深掘り

GENEVE Encapsulation 詳細

RFC 8926 仕様:
  [IP Header]
    Outer SRC: GWLB NIC IP
    Outer DST: Appliance NIC IP
    Protocol: UDP(17)
    
  [UDP Header]
    SRC Port: ランダム
    DST Port: 6081(IANA Reserved)
    
  [GENEVE Header]
    VNI: Virtual Network Identifier(24-bit)
    Flags: O/C/R/Reserved
    Proto Type: 0x0800(IPv4)/ 0x86DD(IPv6)
    
  [TLV Options]  ← 2025+ AI Score / Threat Indicator
    Type: 1-65535 (custom extension)
    Length: TLV 長
    Value: Metadata(AI Threat Score, DPI Classification)
    
  [Original Packet]
    SRC IP: 203.0.113.1(元の送信元)
    DST IP: 10.0.1.100(元の宛先)
    Intact(修正なし)

パケット構造図:
  ┌─────────────┐
  │  Outer IP   │ (GWLB → Appliance)
  ├─────────────┤
  │  UDP 6081   │
  ├─────────────┤
  │  GENEVE Hdr │ VNI / Flags / Protocol
  ├─────────────┤
  │ TLV Options │ (2025: AI Threat, DPI tags)
  ├─────────────┤
  │ Inner IP    │ (元パケット)
  ├─────────────┤
  │ TCP/UDP     │
  ├─────────────┤
  │ Payload     │
  └─────────────┘

オーバーヘッド計算:
  元パケット: 1500 bytes(Payload)
  GENEVE追加: 50 bytes(Outer IP + UDP + GENEVE)
  新MTU: 1550 bytes → Default MTU 1500 超過
  → MTU調整推奨: 1450(ネットワーク層) or 9001(Jumbo Frame)

TLV(Type-Length-Value)拡張(2025+)

2025-2026年新機能: GENEVE TLV による メタデータ伝達

タイプ 1: AI Threat Score
  ┌──┬──┬─────────┐
  │1 │1 │ Score   │
  │  │B │ (0-100) │
  └──┴──┴─────────┘
  
  例: Score=75(マルウェア検知確度 75%)
  検査用途:
    - IDS/IPS: Score > 80 → ブロック
    - SIEM: Score > 50 → Alert

タイプ 2: DPI Classification
  ┌──┬──┬─────────────────┐
  │2 │4 │ App ID / Port   │
  │  │B │ (Protocol分類)  │
  └──┴──┴─────────────────┘
  
  例: SSH (Port 22) / VNC (Port 5900) / custom_app
  用途: ポリシーベース制御

タイプ 3: Firewall Rule Match
  ┌──┬──┬──────────┐
  │3 │2 │ Rule ID  │
  │  │B │ (matched)│
  └──┴──┴──────────┘
  
  例: Rule ID=1042(Security Zone Policy #1042 match)
  用途: Policy エンフォースメント追跡

実装例(Palo Alto VM-Series 2025+):
  system → advanced → enable-geneve-tlv-extension
  
  threat → advanced → ml-threat-score-action
    if score > 80:
      action = drop_reset
    elif score > 50:
      action = log_alert

East-West Inspection Pattern(VPC間検査)

Transit Gateway + GWLB 統合

アーキテクチャ(複数VPC間トラフィック集約検査):

VPC-A (App)
  ├ Subnet A1: EC2 Web Servers
  │ Route Table: 10.1.0.0/16 → Transit Gateway
  │
  ├ Route to TGW: 0.0.0.0/0 → TGW via GWLB Endpoint
  └ TGW Attachment

VPC-B (Database)
  ├ Subnet B1: RDS / ElastiCache
  │ Route Table: 10.0.0.0/16 → Transit Gateway
  │
  ├ Route to TGW: 0.0.0.0/0 → TGW via GWLB Endpoint
  └ TGW Attachment

VPC-Inspection (Security)
  ├ Subnet Sec1: GWLB Endpoint(Service Consumer)
  │
  ├ Subnet Sec2: GWLB(Service Provider)
  │ GWLB ← Target Group
  │   ├ Palo Alto VM 1
  │   ├ Palo Alto VM 2
  │   └ Palo Alto VM 3(Auto Scaling)
  │
  └ NAT Gateway / Egress(Return Path用)

トラフィック フロー:
  EC2 (VPC-A, 10.0.1.10) → RDS (VPC-B, 10.1.1.100)
    ↓ Route: 10.1.0.0/16 via TGW
  Transit Gateway
    ↓ TGW Route Policy: 全トラフィック → GWLB Endpoint へ
  GWLB Endpoint (VPC-Inspection)
    ↓ GENEVE 6081
  GWLB (Service Provider)
    ↓ Load Balance 5-tuple
  Palo Alto Appliance
    ↓ Decapsulate / Inspect
    ✓ Firewall Rule OK: Allow
    ↓ Re-encapsulate GENEVE
  GWLB → Return to Endpoint
    ↓
  GWLB Endpoint → Back to TGW
    ↓
  RDS (VPC-B, 10.1.1.100) ← 検査済みパケット

Return Path Handling:
  RDS Response (10.1.1.100 → 10.0.1.10)
    ↓ Route Table: 10.0.0.0/16 via TGW
  TGW → GWLB Endpoint(同じパス)
    ↓ Inspection
  ✓ OK → TGW → VPC-A EC2

Centralized Inspection VPC デザイン

シナリオ: 100+ VPC を 1 つの Inspection VPC で一元管理

スケーリング構成:
  Inspection VPC:
    - GWLB(複数 AZ 配置)
    - Target Group: Appliance 10-50個(Auto Scaling)
    - Endpoint Service(複数 Consumer VPC に公開)
    - 受け入れ手数料 IAM: ロール / タグ / Account ID チェック

Consumer VPC(100個):
  各 VPC Subnet Route Table:
    0.0.0.0/0 → GWLB Endpoint(1 個あれば十分)
    同じ Endpoint Service を共有

マルチテナント管理:
  Customer A VPCs → GWLB Endpoint Service A(公開)
  Customer B VPCs → GWLB Endpoint Service B(公開)
  内部VPCs → GWLB Endpoint Service Internal
  
  IAM Policy:
    Customer A: Accept service_a only
    Customer B: Accept service_b only

Cost最適化:
  従来: 各 VPC に Appliance デプロイ(100個) = $1M/月
  Centralized: 20個 Appliance + GWLB = $200K/月
  削減: 80%

Zero Trust Architecture with GWLB

IAM + GWLB + Zscaler 統合(2025+)

Zero Trust Principle:
  - Identity-first(ユーザー / デバイス認証)
  - Micro-segmentation(VPC / Subnet単位)
  - Traffic Inspection(全トラフィック検査)
  - Context-aware Policy(環境・リスク判定)

アーキテクチャ:

ユーザー / デバイス
  ↓ IAM Identity Center / MFA
  ↓
AWS IAM Role(EC2実行)
  ↓
VPC Internal Traffic
  ↓
GWLB Endpoint(Transparent Proxy)
  ↓
Zscaler Cloud Service Edge(2025+)
  ├ Device Trust: Zscaler Agent確認
  ├ User Identity: IAM Role + SAML assertion
  ├ Location: Geo-IP / Network segment
  ├ Risk Score: Threat Intelligence
  └ Policy Engine: 条件式マッチング
  
  例:
    IF (IAM Role == "DataAnalyst" AND Risk Score < 30)
      THEN: Allow S3 Access
    ELSE: Alert / Block

実装(Terraform):
  # GWLB with Zscaler integration
  resource "aws_lb" "gwlb_zero_trust" {
    type = "gateway"
    tags = {
      ZscalerService = "Zero-Trust-Gateway"
    }
  }
  
  # Zscaler Agent EC2 Launch Template
  resource "aws_launch_template" "zscaler_appliance" {
    user_data = base64encode(templatefile(
      "${path.module}/zscaler-init.sh",
      { iam_role = aws_iam_role.appliance.arn }
    ))
  }

Benefits:
  - Identity-driven firewall(ユーザー単位の制御)
  - Lateral Movement 防止(East-West 検査)
  - Cloud-native Zero Trust(On-Prem VPN 不要)

Appliance 別統合パターン

Palo Alto Networks VM-Series

特徴: 業界標準、最も AWS 統合が進んでいる

GWLB連携:
  - GENEVE Decapsulation native対応(6.1+)
  - Health Check API: /api/v1/health-check
  - Auto Scaling: CloudWatch Metrics(Session/Throughput)

設定(AWS Firewall Manager 連携):
  aws fwm register-appliance \
    --appliance-type paloaltonetworks \
    --subnet-id subnet-12345 \
    --vpc-id vpc-abcde

DPI + AI脅威検知:
  - Threat Prevention: IDS/IPS + DPI
  - WildFire(Cloud-based Malware Analysis)
  - AI-based Threat Detection(2025+)

コスト: VM インスタンス料 + PA ライセンス(年額 $3K-10K)

Fortinet FortiGate-VM

特徴: 軽量・高速、価格競争力

GWLB連携:
  - GENEVE 標準対応
  - FortiGate Auto-Scaling(EC2 ASG)
  - FortiManager による集中管理

Health Check設定:
  FortiGate:
    config system auto-update
    set port 80
    set path "/api/status"
    end

ファイアウォール機能:
  - Layer 7検査(DPI)
  - Application-based Filtering
  - Web Filtering(URL Reputation)
  - Intrusion Prevention(IPS)

コスト: VM インスタンス料 + FortiCare(ライセンス)

Check Point CloudGuard

特徴: エンタープライズ向け、高度なセキュリティ

GWLB連携:
  - Check Point Security Gateway for Cloud
  - GENEVE 対応(8.1+)
  - Unified Policy Management

Cloud Network Security:
  - Advanced DPI
  - Anti-Bot / Anti-Malware
  - Threat Intelligence
  - ML-based Threat Detection

Check Point スマートコンソール:
  複数 CloudGuard を一元管理
  ポリシー配布(GWLB自動)

Compliance:
  - PCI-DSS Certified
  - SOC 2 Type II
  - GDPR readiness

Trend Micro Deep Security

特徴: 仮想マシン保護に特化

GWLB との統合:
  - Trend Micro Vision One(管理画面)
  - GENEVE 対応予定(2025年)
  - Workload Security + Network Security

マルウェア検知:
  - Machine Learning(既知 / 未知脅威検知)
  - Sandbox Detonation(疑わしいファイル隔離)
  - インテリジェンスフィード(リアルタイム更新)

エージェント型検査:
  従来: VM 内にエージェント
  GWLB型: エージェント + GWLB Appliance(ハイブリッド)

コスト: 仮想化環境での脅威検知(低価格帯)

Zscaler Zero Trust Cloud(2025+)

新世代: Zero Trust Network Access

GWLB連携:
  - Zscaler Virtual Service Edge(VPC内 Appliance)
  - GENEVE カプセル化対応
  - Identity-aware Firewall(IAM連携)

ユースケース:
  - SaaS アプリケーション へのセキュアアクセス
  - Cloud Workload Protection(East-West)
  - Insider Threat Detection(異常検知)

スケーリング:
  顧客数(API呼び出し): Zscaler側で自動スケール
  Appliance数(GWLB側): AWS Auto Scaling
  双方向スケール → 費用効率最適化

コスト: SaaS型(従量課金)+ GWLB 処理費

AI脅威検知・自動ブロック(2025-2026)

GENEVE TLV で AI Score 伝達

ワークフロー:

1. パケット到着 → Appliance に GENEVE 転送

2. AI Threat Analysis(Appliance側)
   - マルウェア特徴検知(Signature Database)
   - 異常検知(Statistical Anomaly)
   - 振る舞い分析(Behavioral Analysis)
   
   例: Port Scan検知
     3秒間に 20個の異なるポートへアクセス
     → Threat Score = 85(疑わしい)

3. GENEVE Response with TLV
   Outer IP: Appliance → GWLB
   TLV Option[1]: AI Threat Score = 85
   Inner Packet: intact(修正なし)

4. GWLB → Consumer VPC
   Packet Accept with Metadata

5. Application層での活用
   EC2 Agent が TLV を読み取る
   Threat Score > 80 → Connection reset
   Threat Score 50-80 → Syslog alert
   
実装例(EC2側アプリケーション):
  import socket
  
  # GENEVE TLV パース
  def parse_geneve_tlv(packet):
    threat_score = extract_tlv_value(packet, type=1)
    return threat_score
  
  threat = parse_geneve_tlv(incoming_packet)
  if threat > 80:
    sock.close()  # 接続終了
    log_threat(threat, packet)

Sandbox Detonation(自動隔離分析)

要件:
  - 未知マルウェア検知・自動隔離
  - ファイル分析(クラウド Sandbox)
  - 評判スコア更新

プロセス:

1. GWLB Appliance が 疑わしいファイル検知
   ファイルハッシュ: SHA256 = abc123...
   ファイルサイズ: 2.5 MB
   拡張子: .exe
   
2. Threat Intelligence 照合
   Known Malware DB: Not found
   Reputation Score: Unknown
   → Sandbox 送信対象

3. Cloud Sandbox で Detonation
   隔離 VM で実行
   システムコール・レジストリ変更・ネットワーク通信を監視
   
   結果:
     - C2 通信: 185.220.101.45:443 (Tor gateway)
     - 既知マルウェア ファミリ: Emotet variant
     - Verdict: Malicious (100% 確度)

4. スコア更新 → GWLB TLV で フロー伝達
   TLV[1]: Threat Score = 99
   → Consumer VPC で 即座に Block

5. Intelligence Feed Update
   全 GWLB Appliance に新ハッシュ配信(1分以内)
   → 同じファイルは即座に検知・ブロック

2025実装:
  Trend Micro / Palo Alto が ネイティブ対応予定

Multi-Region GWLB設計(大規模エンタープライズ向け)

複数リージョン Inspection VPC

構成:
  Tokyo Region (ap-northeast-1)
    ├ Inspection VPC
    │ ├ GWLB(3 AZ)
    │ ├ Appliance Fleet(10-30個)
    │ └ Endpoint Service: prod-inspection-tokyo
    │
    └ Customer VPCs(20個)
       ├ Route 0.0.0.0/0 → GWLB Endpoint
       └ Encrypt to Tokyo Inspection

  Singapore Region (ap-southeast-1)
    ├ Inspection VPC
    │ ├ GWLB(3 AZ)
    │ ├ Appliance Fleet(10-30個)
    │ └ Endpoint Service: prod-inspection-singapore
    │
    └ Customer VPCs(15個)
       ├ Route 0.0.0.0/0 → GWLB Endpoint
       └ Encrypt to Singapore Inspection

  Traffic Routing Logic(地域最適化):
    Tokyo VPC → Tokyo Inspection(低遅延)
    Singapore VPC → Singapore Inspection(低遅延)
    Cross-Region: AWS Transit Gateway + DX 経由

Cost 最適化:
  1 リージョン当たり: $150K/月(Appliance + GWLB)
  2 リージョン: $300K/月
  → 統合管理者 1 人(年額 $100K)
  ROI: 各拠点 Application Appliance 削減(10個 × $30K = $300K/year削減)

Zero Trust Policy Enforcement(リージョン間)

シナリオ: Tokyo App ↔ Singapore Database の通信制御

Policy:
  Source: Tokyo EC2(IAM Role: App-Server)
  Destination: Singapore RDS(Tag: Database)
  Protocol: HTTPS 3306
  Condition: Time = 09:00-17:00 JST(営業時間)
  Action: Allow

実装(Terraform + GWLB):
  # Policy テンプレート
  variable "business_hours_policy" {
    default = {
      source_tag = "App-Server"
      dest_tag = "Database"
      time_range = "09:00-17:00"
      regions = ["ap-northeast-1", "ap-southeast-1"]
    }
  }
  
  # GWLB Endpoint Service Policy(JSON)
  resource "aws_ec2_vpc_endpoint_service_policy" "multi_region" {
    policy = jsonencode({
      Version = "2012-10-17"
      Statement = [
        {
          Effect = "Allow"
          Principal = { AWS = "*" }
          Action = "ec2:UseVpcEndpoint"
          Condition = {
            StringEquals = {
              "aws:RequestedRegion" = ["ap-northeast-1", "ap-southeast-1"]
            }
          }
        }
      ]
    })
  }

追加ユースケース 5 個

ユースケース 1: PCI-DSS Compliance Full Inspection

要件: 100% トラフィック検査・ログ記録(金融機関)

構成:
  VPC A (Payment Systems):
    ├ Subnet (PCI Zone): Credit Card Processors
    └ Route 0.0.0.0/0 → GWLB Endpoint(必須)
  
  VPC B (Admin / Non-PCI):
    ├ Subnet (管理): 社員 SSH アクセス
    └ Route 0.0.0.0/0 → Internet Gateway(検査不要)

  Inspection VPC:
    ├ GWLB + Palo Alto 3個(Min 2個冗長)
    ├ CloudWatch Logs → S3(監査)
    ├ DPI: クレジットカード番号検知
    │ (Regular Expression: \d{13,19})
    └ Action: Alert + Log(ブロック不可、違法性チェック)

Compliance チェック:
  - PCI-DSS 1.1: Firewall 全トラフィック ✓
  - PCI-DSS 1.2: Segmentation(PCI Zone) ✓
  - PCI-DSS 10.7: Audit Trail(S3 Logs) ✓

効果:
  監査対応: 自動化(ログ取得)
  コンプライアンス コスト: -40%(自動化)

ユースケース 2: マルウェア検査 + Sandbox Detonation

要件: ファイルダウンロード全検査(ウイルス対策)

ユースケース:
  ユーザー: Dropbox / Google Drive から ファイル DL
  シナリオ: .exe ファイルダウンロード試行

処理フロー:

1. GWLB Appliance が HTTP ダウンロード 検知
   ファイル: malware.exe
   MIME: application/octet-stream
   Size: 5.2 MB

2. DPI で ファイル抽出
   ハッシュ値計算: SHA256 = d41d8cd98f00b204e9800998ecf8427e
   Known Malware DB 照合: Not found

3. Sandbox 送信(Trend Micro / Palo Alto WildFire)
   Sandbox VM で 隔離実行
   → 異常挙動検知(System32 改変・C2 通信)
   → Verdict: Ransomware(99% 確度)

4. GWLB で 通信ブロック
   ファイル削除 / ユーザーアラート
   SIEM に 脅威インテリジェンス送信

5. 他 GWLB Appliance への 自動更新
   ハッシュ値ブロック リスト更新
   → 同じファイルは即座に検知

効果:
  ゼロデイマルウェア 検知率: 85%
  False Positive: < 1%
  コスト: Appliance費用で相殺(従来のエンドポイント AV ライセンス不要)

ユースケース 3: API Gateway セキュリティ(DPI + Bot Detection)

要件: API トラフィック検査・Bot 攻撃防止

構成:
  NLB (API Front-end)
    ↓
  GWLB Endpoint(Inspection)
    ↓
  GWLB + Fortinet FortiGate
    ├ DPI: GraphQL / REST API 検査
    ├ Bot Detection: 異常なリクエストパターン検知
    ├ Rate Limiting: 異常な request frequency
    └ Threat Prevention
    ↓
  Application VPC (API Servers)

DPI Examples:
  - SQL Injection: `SELECT * FROM users WHERE id=1 OR 1=1`
    → Block (SQL Injection signature match)
    
  - GraphQL DoS: Deeply nested query
    `{ user { friends { friends { ... } } } }`(深さ > 10)
    → Block / Rate Limit

Bot Detection:
  - User-Agent spoofing: `curl / wget` detected
  - No JavaScript: Bot が JS 実行不可
  - Timing anomaly: 1秒間に 1000 requests(ヒューマンではない)

効果:
  API Attack 検知率: 95%
  Legitimate User 影響: < 0.1%(False Positive削減)
  DDoS 軽減: -70%(Bot フロー早期ブロック)

ユースケース 4: Hybrid Cloud Security(オンプレ + AWS)

要件: On-Prem から AWS へのハイブリッド通信 検査

トポロジ:
  On-Premises DC
    ├ Data Center Network
    │ ├ Corporate LAN
    │ └ DMZ
    │
    ├ AWS Direct Connect
    │ 
    └ VPC Gateway Endpoint(VPC間接続)

  AWS Cloud
    ├ Inspection VPC
    │ ├ GWLB + Appliance(Palo Alto / Checkpoint)
    │ ├ On-Prem との DX 接続
    │ └ Endpoint Service
    │
    └ Multiple Customer VPCs
       ├ App VPC
       ├ DB VPC
       └ 各 VPC: Route 0.0.0.0/0 → GWLB Endpoint

オンプレ側ルータ設定:
  On-Prem Network
    route 10.0.0.0/16 via VGW(AWS VPN Gateway)
    BGP ASN 65000
    neighbor 192.168.1.2 remote-as 65001(AWS side)

AWS側 GWLB Policy:
  Source: On-Prem Network(BGP で学習した CIDR)
  Destination: All AWS VPCs
  Inspection: Full DPI(既存ポリシー適用)

効果:
  ハイブリッド可視性: 100%(全フロー検査)
  セキュリティ運用: 統一(GWLB で一元管理)
  オンプレ投資保護: 既存セキュリティアプライアンス再利用

ユースケース 5: AI Agent ワークロード検査(2025-2026)

要件: Large Language Model(LLM)推論の悪用防止

シナリオ:
  - LLM API(Bedrock / SageMaker)へのアクセス制御
  - Prompt Injection 検知・防止
  - 出力フィルタリング(有害コンテンツ)

GWLB + AI Appliance(2025+):

1. Prompt Inspection
   User Prompt: "How to make explosives?"
   DPI Rule: Keyword Detection(爆発物・危険物)
   ML Score: 0.92(危険度 92%)
   Action: Block(ユーザーアラート)

2. Output Filtering
   LLM Response: "I cannot provide..."
   Appliance Check: Harmful content filter
   ML Model: Is this jailbreak response?
   Verdict: Safe(ユーザーに返却)

3. Token Usage Monitoring
   API Gateway → GWLB: Input/Output Tokens 記録
   Anomaly: 1分で 1M tokens(異常スパイク)
   → Rate Limit / Alert

4. Cost Optimization(Token削減)
   Filter Duplicate Requests(キャッシュ)
   Summarization(長い プロンプトを短縮)
   結果: Token使用量 -30% → Cost削減 30%

実装(Appliance側):
  # Prompt Injection フィルタ
  if "how to make" in prompt.lower() or "bomb" in prompt.lower():
    action = "block"
    log_event("prompt_injection", prompt, user_id)
    return "Request blocked: Potentially harmful content"
  
  # Token Monitoring
  cost = (input_tokens + output_tokens) * price_per_token
  if cost > monthly_budget * 0.1:  # Day の使用量が多すぎる
    alert("Abnormal LLM Usage", cost, user_id)

トラブルシューティング表(追加 10 行)

症状 原因 対処
GWLB Endpoint が Pending 状態から進まない Service Acceptance 手動承認待ち Service Provider 側で Accept リクエスト確認
Return Traffic がループ(往路のみ通過) Return Route が GWLB Endpoint 経由でない App Subnet Route Table確認・Appliance Inbound Route確認
Appliance CPU 100% でも Scaling 発動しない CloudWatch Metric が正しくない・Scaling Policy 設定ミス ASG Policy 確認・CPU Threshold値確認
MTU ミスマッチで Packet 断片化 GENEVE オーバーヘッド 50 bytes 考慮なし EC2 / Appliance NIC MTU を 1450 に設定
GENEVE デカプセル化で IP Header 破損 Appliance GENEVE 非対応・ファーム古い Appliance ファームウェア更新確認
Health Check 失敗で全 Appliance 除外 Health Check Port 未リッスン・Security Group 制限 Appliance Health Check API確認・SG Inbound確認
Cross-Zone Rebalancing で Endpoint 接続切断 AZ 障害時に Connection 移行失敗 Stickiness (5-tuple) 確認・Endpoint Failover テスト
DPI で Packet Loss 増加 Appliance リソース枯渇・Inspection overhead高 Appliance Scale-out・DPI ルール最適化
VPC Endpoint Service Accept が無限待機 Service Provider が Accept リクエスト見落とし AWS Console で Principal (Account ID / IAM) 確認・再リクエスト
GWLB と Appliance 間 GENEVE通信失敗 Security Group / NACL で UDP 6081 ブロック SG で UDP 6081 Inbound許可・NACL も確認

学習リソース

公式ドキュメント(8+)

関連標準・OSS(5+)


実装例・チェックリスト

小規模実装例(単一 VPC・PoC)

  • GWLB 1 個
  • Target Group 1 つ
  • Appliance EC2 2 個
  • 基本的な Health Check
  • PoC・Staging 環境向け

中規模実装例(マルチ VPC・本番)

  • GWLB 1 個(複数 AZ)
  • Target Group 1-2 つ
  • Auto Scaling Group(Min 2・Max 5)
  • Health Check 詳細設定
  • CloudWatch ロギング・アラート
  • Canary デプロイ対応

大規模実装例(エンタープライズグローバル)

  • GWLB 複数(リージョン毎)
  • Target Group 複数(Appliance タイプ毎)
  • Auto Scaling Group(Min 3・Max 20+)
  • DDoS Shield Advanced
  • AI 脅威検知(ベンダー機能)
  • Multi-region 統合
  • 完全自動化・IaC 管理

実装チェックリスト

  • [ ] セキュリティ要件・ベンダー選定(Palo Alto / Fortinet / Zscaler 等)
  • [ ] Inspection VPC・Subnets 作成(GWLB 用・Appliance 用)
  • [ ] GWLB 作成・リスナー設定
  • [ ] Target Group 作成(GENEVE port 6081)
  • [ ] Appliance EC2 Launch Configuration 作成
  • [ ] Appliance GENEVE サポート・ネットワーク設定確認
  • [ ] Health Check 設定・テスト(HTTP・HTTPS・TCP)
  • [ ] GWLB Endpoint Service 公開
  • [ ] Service Consumer VPC で Endpoint 作成
  • [ ] Route Table:App Subnet で GWLB Endpoint を next hop に指定
  • [ ] GENEVE カプセル化・IP ルーティング設定確認
  • [ ] Flow Stickiness 確認(5-tuple)
  • [ ] CloudWatch Logs / Metrics 監視設定
  • [ ] ベンダードキュメント確認(GENEVE・IP 設定)
  • [ ] Auto Scaling Policy 設定(CPU・Network)
  • [ ] Failover / Auto Scaling テスト
  • [ ] DDoS Shield Advanced 検討(オプション)
  • [ ] AI 脅威検知設定(ベンダー機能)
  • [ ] 本番移行前ステージング検証

まとめ

Gateway Load Balancer は、サードパーティセキュリティアプライアンスをクラウドネイティブに透過的に統合 するサービスです。既存のオンプレセキュリティポリシーを AWS に持ち込み、East-West トラフィック検査・複数ベンダー統合・スケーリング・高可用性をシームレスに実現します。2025-2026 年の AI ベース脅威検知・Zero Trust 統合により、次世代のクラウドセキュリティアーキテクチャの中核になります。Network Firewall の上位互換としてエンタープライズグレードの多層防御を構築できます。

最終更新:2026-04-26
バージョン:v2.0