この記事をシェア
「オンプレのサーバーからAWSのRDSに安全につなぎたい」——初めてハイブリッド構成を任された新人エンジニアのユイが、AWS歴10年の高木先輩に質問攻めにする物語形式で、Site-to-Site VPN・Client VPN・Direct Connectの仕組み・料金・選び方を解説します。東京リージョンの実料金にもとづく損益分岐点や、Terraformの実装例まで踏み込みます。
プロローグ:「オンプレとAWS、つなげといて」
先輩!お客様から「社内のデータセンターとAWSのVPCをつないでほしい」って言われたんですけど……インターネット越しにSSHしちゃダメなんですか?
ダメに決まってるだろ(笑)。パブリックIPを晒して踏み台を置くのはセキュリティ事故のもとだ。AWSとオンプレミスの接続、いわゆるハイブリッド接続には、大きく3つの正攻法がある。Site-to-Site VPN、Client VPN、そしてDirect Connectだ。順番に見ていこう。
まずは全体像から。3つの方式は「何を」「どこ経由で」つなぐかが根本的に違います。次の表を頭の片隅に置いて読み進めてください。
| 方式 | つなぐ対象 | 経路 | 暗号化 | 向いている場面 |
|---|---|---|---|---|
| Site-to-Site VPN | 拠点(ネットワーク同士) | インターネット | IPsec(標準) | 移行初期・DXのバックアップ |
| Client VPN | 個人の端末 | インターネット | TLS(標準) | 在宅勤務・外部ベンダー |
| Direct Connect | 拠点・DC | 閉域網(専用線) | なし(要オプション) | 閉域要件・大容量・低遅延 |
1. まずはVPNから:AWS Site-to-Site VPNの仕組み
一番手軽なのがAWS Site-to-Site VPN。インターネット上にIPsecの暗号化トンネルを張って、拠点のルーター(カスタマーゲートウェイ)とAWS側の仮想プライベートゲートウェイ(VGW)を「ネットワーク同士」でつなぐマネージドサービスだ。
インターネットを通るのに安全なんですか?
通信全体がIPsecで暗号化されるから中身は覗けない。しかも1つのVPN接続につきトンネルが自動で2本作られる。片方が落ちてももう片方に切り替わる冗長構成が標準装備なんだ。
ルーティングは静的でもいいが、実務ではBGP(動的ルーティング)を使う。障害時の経路切り替えが自動になるからな。性能はトンネル1本あたり最大1.25Gbps。広帯域オプションなら5Gbpsまでいける。ただしカプセル化の分、MTUは1446バイトに制限される点は設計時に忘れるなよ。
構築って大変ですか?
Terraformなら核となる部分はこれだけだ。
# Site-to-Site VPN(BGP動的ルーティング)の最小構成
resource "aws_customer_gateway" "onprem" {
bgp_asn = 65000 # オンプレ側ASN
ip_address = "203.0.113.10" # 拠点ルーターのグローバルIP
type = "ipsec.1"
}
resource "aws_vpn_gateway" "vgw" {
vpc_id = aws_vpc.main.id
}
resource "aws_vpn_connection" "main" {
vpn_gateway_id = aws_vpn_gateway.vgw.id
customer_gateway_id = aws_customer_gateway.onprem.id
type = "ipsec.1"
static_routes_only = false # BGPを使用
}
2. リモートワーク組はClient VPN
在宅勤務のメンバーが個人のPCからVPCに入りたい場合も、Site-to-Site VPNですか?
それはAWS Client VPNの出番だ。OpenVPNベースのクライアントで、端末単位でTLS暗号化接続する。Active DirectoryやSAML 2.0のIdPと連携すれば、ユーザーごとのアクセス制御ができる。外部ベンダーへの一時的な権限付与にも向いていて、ゼロトラストの入口として使える。
ただし2つ、コストの罠がある。1つ目はスプリットトンネルを必ず有効にすること。デフォルトだとYouTubeの視聴まで全部AWS経由になって、データ転送料金が爆発する。2つ目はエンドポイントの関連付け料金。サブネット1つで月約109ドルの固定費がかかるから、夜間・週末は自動で外すと節約できる。
スプリットトンネルって、どこで設定するんですか?
エンドポイント作成時のフラグ1つだ。Terraformならsplit_tunnel = trueを忘れないこと。これを付け忘れるだけで請求書が変わる。
# Client VPN エンドポイント:スプリットトンネルを必ず有効化
resource "aws_ec2_client_vpn_endpoint" "main" {
server_certificate_arn = aws_acm_certificate.server.arn
client_cidr_block = "10.100.0.0/16"
split_tunnel = true # ← これが最重要。VPC宛だけVPN経由にする
authentication_options {
type = "federated-authentication" # SAML(IdP)連携
saml_provider_arn = aws_iam_saml_provider.idp.arn
}
connection_log_options {
enabled = false
}
}
そして2つ目のコスト対策。サブネットの関連付けは接続していなくても課金される。だから業務時間外は関連付けを外すのが定石だ。EventBridgeで平日夜と週末にこれを叩けばいい。
# 業務時間外にClient VPNの関連付けを解除して固定費を削減(EventBridge等で定期実行)
aws ec2 disassociate-client-vpn-target-network \
--client-vpn-endpoint-id cvpn-endpoint-0123456789abcdef \
--association-id cvpn-assoc-0123456789abcdef
split_tunnel = trueと業務時間外の関連付け解除、この2つを最初から仕込んでおくだけで、無駄なデータ転送料と固定費の大半を抑えられる。3. 本命の閉域網:AWS Direct Connect
お客様に「インターネットを経由すること自体がコンプライアンス的にNG」と言われたら……?
そこで最終兵器のAWS Direct Connect(DX)だ。通信事業者の閉域網を使ってデータセンターとAWSを物理的に専用接続する。インターネットを一切通らないから、遅延が安定していて帯域も保証される。
契約形態は2つ。ポートを丸ごと占有する専用接続(1G/10G/100G/400Gbps)と、パートナー回線を論理分割して借りるホスト型接続(50Mbpsからの細かい帯域)だ。小さく始めるならホスト型でいい。
閉域網なら暗号化はいらないんですよね?
いい質問だ。実はDXの通信はデフォルトで平文なんだ。金融や官公庁の要件で暗号化が必要なら、レイヤー2のMACsec(10Gbps以上の専用接続限定、ほぼ回線速度そのままで暗号化できるがハードウェア要件が厳しい)か、Private IP VPN over Direct Connectを使う。後者はプライベートIPだけでIPsecを張れるうえ、BGPの経路数上限が通常の100ルートから受信5,000ルートに拡張されるという隠れた強みもある。
4. 料金のリアル:損益分岐点は「月10〜15TB」
でもDirect Connectって高いんですよね……?
それがな、データ量が多いほどDXの方が安くなるんだ。東京リージョンの主な料金を見てみろ。
| 項目 | 単価(東京リージョン) | 月額目安 |
|---|---|---|
| Site-to-Site VPN 接続 | $0.048/時 | 約$35 |
| Client VPN(サブネット関連付け) | $0.15/時 | 約$110 +接続料 |
| DXポート(専用 1Gbps) | $0.285/時 | 約$208 |
| DXポート(ホスト型 100Mbps) | $0.057/時 | 約$42 |
| データ転送OUT(VPN/インターネット) | $0.114/GB | 従量 |
| データ転送OUT(Direct Connect) | $0.041/GB | 従量 |
注目すべきは転送料金の差、1GBあたり$0.073。月50TBをオンプレに送るケースで計算すると——VPN経由なら$5,700、DX経由なら$2,050。差額$3,650/月だ。1Gbpsポート代の$208なんて余裕で回収できる。目安として月10〜15TB以上のアウトバウンドがあるならDXの方がトータルで安い。DXは高級品じゃなく、コスト削減ツールなんだよ。
Transit Gatewayで複数VPCをまとめる構成も見かけますが、注意点はありますか?
TGWは便利だがデータ処理料金$0.02/GBが別途乗る。DX経由でTGWを通すと実質$0.061/GBだ。DBの大量同期やバックアップみたいな重量級トラフィックは、TGWを通さずプライベートVIFでVPCへ直結するバイパス経路を併用するのがFinOpsの定石だな。
5. 結局どれを選ぶ?選定フローチャート
最後に可用性の話。DXは物理回線だから切れる前提で設計する。AWSのResiliency Toolkitでは、2ロケーション×各1本でSLA 99.9%、2ロケーション×各2本(計4本)でSLA 99.99%が定義されている。構築したらStartBgpFailoverTest APIで意図的にBGPを落として、切り替え訓練までやって初めて「冗長構成」と呼べるんだ。
まずはSite-to-Site VPNで最速構築して転送量を計測、月10TBを超えてきたらDirect Connectに移行してコスト削減——設計の道筋が見えました!
まとめ
- Site-to-Site VPN:拠点間接続。初期費用ゼロ・即日開通、トンネル2本の冗長構成が標準。移行初期とDXバックアップに。
- Client VPN:個人端末向け。スプリットトンネル有効化と業務時間外の関連付け解除でコスト最適化。
- Direct Connect:閉域・低遅延・帯域保証。転送単価$0.041/GBで、月10〜15TB超なら経済的にも逆転。暗号化が必要ならMACsecかPrivate IP VPN。
- Transit Gateway:VPCが増えたら集約。ただし$0.02/GBの処理料金に注意し、大容量経路はVIF直結でバイパス。
ネットワークは一度作って終わりではなく、トラフィックの成長に合わせて進化させるもの。まずは小さくVPNから始めて、転送量の実測値をもとにDirect Connectへ移行する——この道筋を意識するだけで、過剰投資も手戻りも避けられます。
※本記事は対話形式のフィクションですが、料金・仕様は執筆時点のAWS公式情報に基づいています。最新の料金・仕様は必ずAWS公式サイトでご確認ください。
AWSのマルチアカウント設計やガバナンスに踏み込みたい方は、AWS Organizations入門:ゼロから作る、統制されたマルチアカウント基盤もあわせてご覧ください。
