🎯 まず結論

🔒 フルトンネル(デフォルト)

すべての通信がVPNトンネルを通る。インターネット閲覧も含めてAWS経由になるため、セキュリティは最大だがコストと遅延が増える

🔀 スプリットトンネル

AWS宛の通信だけがVPNトンネルを通る。その他のインターネット通信はローカル接続を使うため、コスト削減と速度改善が期待できる。

たとえ話:「オフィスビルのセキュリティゲート」

VPNのトンネルモードの違いを、あなたが働くオフィスビルの通行ルールで考えてみましょう。

登場人物:あなた(=クライアントPC)、セキュリティゲート(=VPNトンネル)、社内フロア(=AWS VPC)、ビルの外のコンビニ(=インターネット)

🔒 フルトンネル方式

👤 あなた すべての通信 🚧 セキュリティゲート 社内業務 外出も経由 🏢 社内フロア (AWS VPC) 🏪 コンビニ (インターネット) コンビニに行くだけでもゲート通過が必要!

🔀 スプリットトンネル方式

👤 あなた 社内業務 外出は直接 🚧 セキュリティゲート 🏢 社内フロア (AWS VPC) 🏪 コンビニ (インターネット) コンビニはゲートなしで直接行ける!

たとえ話マッピング表

たとえ話の要素 AWS Client VPNでの意味
👤 あなた(社員) クライアントPC(VPN接続するデバイス)
🚧 セキュリティゲート VPNトンネル(暗号化された通信経路)
🏢 社内フロア AWS VPC内のリソース(EC2、RDS など)
🏪 コンビニ(外のお店) インターネット上のサービス(Google、YouTube など)
🔒 全員ゲート通過ルール フルトンネル(0.0.0.0/0 ルート追加)
🔀 社内だけゲート通過ルール スプリットトンネル(特定ルートのみトンネル)

通信経路の仕組み

実際のネットワークでは、ルートテーブルによってトラフィックの経路が決まります。

🔒 フルトンネルの通信経路

💻 クライアント ルート: 0.0.0.0/0 → VPNトンネル 全通信 🔐 VPNトンネル VPN エンドポイント VPC宛 Web宛も経由 🏢 AWS VPC 🌐 インターネット
1

クライアントに 0.0.0.0/0(全通信)のルートが追加される

2

すべてのトラフィックが VPN トンネルを通過

3

インターネット通信も AWS エンドポイント経由で外部へ出る

🔀 スプリットトンネルの通信経路

💻 クライアント ルート: 10.0.0.0/16 → VPNトンネル のみ VPC宛 Web宛 🔐 VPNトンネル 🌐 直接接続 VPN エンドポイント 🏢 AWS VPC 🌐 インターネット
1

VPN エンドポイントに定義したルートだけがトンネル対象

2

AWS VPC 宛(例:10.0.0.0/16)のみ VPN を経由

3

インターネット通信はローカルISPから直接外部へ出る

比較表

主要な観点で両方式を比較します。

比較項目 🔒 フルトンネル 🔀 スプリットトンネル
VPN経由の対象 すべてのトラフィック 定義されたルートのみ
インターネット接続 AWS経由 ローカルISP経由(直接)
Webサイトの位置検出 AWSエンドポイントの場所 ユーザーの実際の場所
セキュリティ 高い(全通信を監視可能) AWS宛のみ保護
データ転送コスト 高い(全通信課金対象) 低い(AWS宛のみ)
インターネット速度 やや遅い(遠回り) 速い(直接接続)
ルートテーブル 0.0.0.0/0 をVPNに追加 特定CIDRのみVPNに追加
デフォルト設定 はい(デフォルト) いいえ(手動で有効化)

どちらを選ぶ?判断フローチャート

ユースケースに応じた選択の考え方を整理します。

VPN接続が必要 すべての通信を監視・制御 する必要がある? Yes No 🔒 フルトンネル コスト・速度を優先? Yes No 🔀 スプリットトンネル 🔒 フルトンネル 規制産業・高セキュリティ 要件のある組織 一般的なリモートワーク 開発者のAWSアクセス DLP等のセキュリティ ポリシーが必要

ユースケース

それぞれの方式が適している具体的なシナリオを紹介します。

🏦 金融・医療などの規制産業

すべてのネットワーク通信を監査ログに記録する必要がある。情報漏洩防止(DLP)ポリシーが厳格に求められる環境。

💻 開発者のリモートワーク

AWS上の開発環境にアクセスしつつ、Google検索やSlackなどのSaaS通信は直接接続。速度とコストを最適化。

🛡️ ゼロトラスト環境

すべてのトラフィックをセキュリティ機器(ファイアウォール、IDS/IPS)で検査してからインターネットに出す構成。

🌍 グローバル分散チーム

各国のメンバーがローカルISPの速度でWeb会議やSaaSを利用しつつ、AWS社内システムだけVPN接続する。

設定方法(AWS CLI)

スプリットトンネルの有効化・無効化は、エンドポイント作成時または既存エンドポイントの変更で設定できます。

🔒 フルトンネル(デフォルト)

# デフォルトでフルトンネル # 明示的に無効化する場合 aws ec2 modify-client-vpn-endpoint \ --client-vpn-endpoint-id cvpn-endpoint-xxxx \ --split-tunnel --no-split-tunnel

特別な設定は不要。デフォルトですべてのトラフィックがVPNを経由します。

🔀 スプリットトンネル有効化

# スプリットトンネルを有効化 aws ec2 modify-client-vpn-endpoint \ --client-vpn-endpoint-id cvpn-endpoint-xxxx \ --split-tunnel # ルート追加(VPC CIDRを指定) aws ec2 create-client-vpn-route \ --client-vpn-endpoint-id cvpn-endpoint-xxxx \ --destination-cidr-block 10.0.0.0/16 \ --target-vpc-subnet-id subnet-xxxx

エンドポイントのルートテーブルに追加したCIDRだけがVPN経由になります。

切り替え時の注意

トンネルモードの変更は既存のVPN接続に影響します。変更後、接続中のクライアントは再接続が必要になる場合があります。本番環境では、メンテナンスウィンドウでの実施を推奨します。

よくある質問

スプリットトンネルにすると、セキュリティが低下しますか?

AWS宛以外のトラフィックはVPNを通らないため、全通信の監視はできなくなります。ただし、AWS上のリソースへのアクセスは引き続きVPNで保護されます。企業のセキュリティ要件とコスト・パフォーマンスのバランスで判断してください。

フルトンネルだとWebサイトにアクセスした際の位置情報はどうなりますか?

フルトンネルでは全通信がAWSのVPNエンドポイントを経由するため、Webサイトからはエンドポイントのリージョン(例:東京リージョン)の位置として検出されます。ユーザーの実際の位置は分かりません。

運用中にフルトンネルからスプリットトンネルに切り替えられますか?

はい、既存のClient VPNエンドポイントに対して modify-client-vpn-endpoint コマンドで切り替え可能です。ただし、接続中のクライアントは再接続が必要になることがあります。

スプリットトンネルでコストはどれくらい削減できますか?

削減幅はインターネットトラフィックの割合に依存します。一般的に、Web閲覧やSaaS利用が多い場合、VPN経由のデータ転送量が大幅に減り、AWS側のNAT Gateway・データ転送コストを節約できます。

Created by SSuzuki1063

AWS SAP Learning Resources