AWS Transit GatewayとVPCピアリングのデータ転送のコストを比較してみた
はじめに
AWSのネットワーク設計において、VPC間の接続方式を「VPCピアリング」にするか「AWS Transit Gateway」にするか、選択に悩むケースは少なくありません。
仮に、VPCピアリングからTransit Gateway(以下、TGW)への移行を検討する際、VPCピアリングの接続数上限(最大125個)の回避や、複雑化するルート管理の簡素化といったメリットはよく語られます。また、デメリットとして「TGWアタッチメントの時間課金(固定費)」が発生する点についても、多くの記事で解説されています。
しかし、トラフィック量に比例する「データ転送コスト(変動費)」が両者で具体的にどう異なるのか、詳細に比較された記事はありませんでした。
特にTGWには、AZ(アベイラビリティーゾーン)間の転送仕様に独自の挙動があり、構成によっては予期せぬ「追加の転送コスト(AZ間転送)」が発生するケースもあります。
本記事では、クロスリージョン通信やAZ間転送を含む4つのパターンで試算を行い、そのコスト構造の違いを整理します。
前提条件と料金単価
今回の比較では、純粋に「トラフィックに応じた従量課金(データ転送・処理)」に焦点を当てます。Transit Gatewayのアタッチメントごとの時間単価もかかりますが、今回の計算からは除外します。
試算の前提条件
- データ転送量: 往復 2GB (リクエスト 1GB / レスポンス 1GB)
- リージョン: 東京リージョン および 大阪リージョン
適用する料金単価 (2026年1月時点)
- TGWデータ処理料金: 0.02 USD/GB
- TGWを経由するトラフィックに対して適用
- 参考: AWS Transit Gateway の料金 (アジアパシフィック(東京))
- AZ間転送料金: 0.01 USD/GB
- 同一リージョン内の異なるAZ間通信に適用
- 参考: Amazon EC2 の料金 (同一リージョン内のAZ間データ転送)
- リージョン間転送料金: 0.09 USD/GB (東京 ⇔ 大阪)
- EC2のデータ転送レートを適用
- 参考: Amazon EC2 の料金 (データ転送:アジアパシフィック(東京)から他リージョンへの転送)
コスト比較まとめ
先に結論となる比較結果を記載します。
いずれのパターンにおいても、VPCピアリングの方が安価という結果になりました。TGWでは、「データ処理料金」と「構成による追加の転送料金」が発生するためです。
| パターン | 構成概要 | VPCピアリング (往復) | Transit Gateway (往復) |
|---|---|---|---|
| 1 | 同一リージョン・同一AZ | 0.00 USD (無料) | 0.04 USD |
| 2 | 同一リージョン・AZ間転送あり | 0.02 USD | 0.06 USD |
| 3 | クロスリージョン・同一AZ | 0.18 USD | 0.22 USD |
| 4 | クロスリージョン・AZ間転送あり | 0.18 USD | 0.24 USD |
それぞれの内訳詳細を見ていきます。
【パターン1】同一リージョン内 (東京)・同一AZ内の通信
送信元EC2と受信先EC2、およびTGWアタッチメントがすべて同じAZにある場合です。
(例:送信元 AZ-a ⇔ 受信先 AZ-a)
VPCピアリング
構成例
- 送信元VPC: EC2 (AZ-a)
- 受信先VPC: EC2 (AZ-a)
同一AZ内の通信となるため、無料です。
- 合計: 0.00 USD
Transit Gateway
構成例
- 送信元VPC: EC2 (AZ-a)、TGWアタッチメント (AZ-a)
- 受信先VPC: EC2 (AZ-a)、TGWアタッチメント (AZ-a)
同一AZであっても、TGWを通ることでデータ処理料金が発生します。
- 行き: 0.02 USD (TGW処理)
- 帰り: 0.02 USD (TGW処理)
- 合計: 0.04 USD
【パターン2】同一リージョン内 (東京)・AZ間転送あり
送信元EC2と受信先EC2が異なるAZにある場合です。
VPCピアリング
構成例
- 送信元VPC: EC2 (AZ-a)
- 受信先VPC: EC2 (AZ-c)
AZ間のデータ転送のみが発生します。
- 行き: 0.01 USD (AZ間転送)
- 帰り: 0.01 USD (AZ間転送)
- 合計: 0.02 USD
Transit Gateway
構成例
- 送信元VPC: EC2 (AZ-a)、TGWアタッチメント (AZ-a, AZ-c)
- 受信先VPC: EC2 (AZ-c)、TGWアタッチメント (AZ-a, AZ-c)
送信元EC2からTGWへ送るため、各EC2と同じAZにアタッチメントが存在することが前提です。
VPC を Transit Gateway にアタッチしても、Transit Gateway のアタッチメントが存在しないアベイラビリティーゾーンのリソースは、Transit Gateway に到達できません。
https://docs.aws.amazon.com/ja_jp/vpc/latest/tgw/tgw-vpc-attachments.html
TGWを経由する場合、TGWのデータ処理料金に加え、AZ間転送を伴う通信となるためAZ間転送料金も発生します。
- 行き: 0.02 USD (TGW処理) + 0.01 USD (AZ間転送)
- 帰り: 0.02 USD (TGW処理) + 0.01 USD (AZ間転送)
- 合計: 0.06 USD
TGWのAZアフィニティとAZ間転送の仕組み
Transit Gatewayには「AZアフィニティ(AZ固定)」という性質があり、デフォルトでは「トラフィックが入ってきたAZと同じAZのアタッチメント(ENI)からパケットを送出する」という挙動をとります。
デフォルトでは、Transit Gateway はアベイラビリティーゾーンのアフィニティを維持します。つまり、同じアベイラビリティーゾーンを使用して、トランジットゲートウェイに入った場所からトラフィックを転送します。
https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/inline-traffic-inspection-third-party-appliances/transit-gateway-asymmetric-routing.html
以下の図は、AWS公式ドキュメントにあるトラフィックフローの例です。

引用: AWS Transit Gateway トラフィックフローと非対称ルーティング
この性質により、送信元と宛先が異なるAZにある場合、以下のようにVPC内部でAZ間転送が発生します。
- 行き (②→③→④)
- ② (EC2 → TGW): 送信元EC2 (AZ1) から、同じAZ1にあるTGWアタッチメントへ送信されます。
- ③ (TGW → ENI): TGWはAZアフィニティにより、宛先VPCの「AZ1のENI(TGWアタッチメント)」へパケットを送出します。
- ④ (ENI → EC2): 宛先EC2は「AZ2」にあるため、VPC内のルーティングで「AZ1のENI」から「AZ2のEC2」へ転送されます。ここでAZ間転送料金が発生します。
- 帰り (⑥→⑦→⑧)
- ⑥ (EC2 → TGW): 宛先EC2 (AZ2) から、同じAZ2にあるTGWアタッチメントへ返信されます。
- ⑦ (TGW → ENI): TGWは入ってきたAZを維持するため、戻り先VPCの「AZ2のENI」へパケットを送出します。
- ⑧ (ENI → EC2): 送信元EC2は「AZ1」にあるため、VPC内のルーティングで「AZ2のENI」から「AZ1のEC2」へ転送されます。ここでもAZ間転送料金が発生します。
このように、TGW自体がAZをまたぐのではなく、TGWが出した先のENI(TGWアタッチメント)からターゲットEC2へ届くまでの過程でAZ間転送コストが掛かります。
【パターン3】クロスリージョン (東京⇔大阪)・同一AZ内の通信
各リージョンにおいて、EC2とTGWアタッチメントが同じAZにある場合です。
VPCピアリング
構成例
- 東京: EC2 (
ap-northeast-1a) - 大阪: EC2 (
ap-northeast-3a) または (ap-northeast-3c)
クロスリージョンのVPCピアリングにおいては、課金仕様上、「同一AZ」や「AZ間転送」という区別は存在しません。
宛先がどのAZにあるEC2であっても、すべて「リージョン間転送」として一括りになります。
- 行き: 0.09 USD (リージョン間転送)
- 帰り: 0.09 USD (リージョン間転送)
- 合計: 0.18 USD
Transit Gateway
構成例
- 東京: EC2 (
ap-northeast-1a)、TGWアタッチメント (1a) - 大阪: EC2 (
ap-northeast-3a)、TGWアタッチメント (3a)
通信経路
- EC2 (
ap-northeast-1a) → TGW VPCアタッチメント (1a) → TGW(東京) → TGWピアリングアタッチメント(東京) → TGWピアリングアタッチメント(大阪) → TGW(大阪) → TGW VPCアタッチメント (3a) → EC2 (ap-northeast-3a)
TGWは東京の「1a」から入った通信を、大阪の「3a」のTGW VPCアタッチメントへ届けます。
大阪側では、TGW VPCアタッチメント(3a)からEC2(3a)への通信となるため、同一AZ扱いとなりAZ間転送料金は発生しません。
- 行き: 0.02 USD (TGW処理) + 0.09 USD (リージョン間転送) = 0.11 USD
- 帰り: 0.02 USD (TGW処理) + 0.09 USD (リージョン間転送) = 0.11 USD
- 合計: 0.22 USD
TGWのデータ処理料金は「VPCアタッチメントからTGWに入る際」に発生し、「TGWピアリング接続からTGWに入る際(受信側)」には発生しません。
データ処理料金は、ピアリングアタッチメントから Transit Gateway に送信されるデータには適用されません。
https://aws.amazon.com/jp/transit-gateway/pricing/
そのため、片道の通信で処理料金が2倍になることはありませんが、往復通信の場合は「行き(東京側)」と「帰り(大阪側)」のそれぞれの始点で処理料金が発生します。
【パターン4】クロスリージョン (東京⇔大阪)・AZ間転送あり
各リージョンにおいて、EC2とTGWアタッチメントが異なるAZにある場合です。
(TGWの経路選択により、宛先EC2とは異なるAZのアタッチメントが使用されるケース)
VPCピアリング
パターン3と同様です。
- 合計: 0.18 USD
Transit Gateway
構成例
- 東京: EC2 (
ap-northeast-1a)、TGWアタッチメント (1a,1c) - 大阪: EC2 (
ap-northeast-3c)、TGWアタッチメント (3a,3c)
送信元EC2からTGWへ送るため、各EC2と同じAZにアタッチメントが存在することが前提です。
【ここでのAZ間転送とは?】
東京と大阪の間の通信(リージョン間転送)とは別に、「大阪に到着した後、大阪のVPC内部で発生するAZ間の移動」を指します。
- 東京 (始点): EC2(
1a)からデータを送信します。 - リージョン間: 東京から大阪へ転送されます。
- 大阪TGW (分岐点): TGWが出口となるアタッチメントを選択します。
- TGW ピアリング経由ではAZが固定されないため、TGWはランダムに選びます。ここでは、宛先とは異なる「大阪3a」が選ばれたとします。
- 大阪VPC (ズレの発生): データは「3a」のアタッチメントに到着しましたが、宛先のEC2は「大阪3c」にいます。
- VPC内転送 (追加コスト): データを届けるために、VPC内部で「3a」から「3c」への移動が必要となり、AZ間転送が発生します。
このように、クロスリージョンの場合、「リージョン間転送」に加えて、着地したVPC内での「AZ間転送」が乗ってくる可能性があり、その場合は二重で転送コストがかかる形になります。
- 行き: 0.02 USD (TGW処理) + 0.09 USD (リージョン間転送) + 0.01 USD (着側VPC内でのAZ間転送) = 0.12 USD
- 帰り: 0.02 USD (TGW処理) + 0.09 USD (リージョン間転送) + 0.01 USD (発側VPC内でのAZ間転送) = 0.12 USD
- 合計: 0.24 USD
マルチアカウント環境における請求先の注意点
TGWをマルチアカウント環境(RAM共有)で利用する場合、データ処理料金(0.02 USD/GB)の請求先が往路と復路で異なる点に注意が必要です。
AWSの仕様として、データ処理料金はTGWの所有者ではなく、「トラフィックを送信したVPCの所有者」に請求されます。
Transit Gateway のデータ処理料金: (...) データ処理料金は、トラフィックを Transit Gateway に送信する VPC 所有者に請求されます。
https://aws.amazon.com/jp/transit-gateway/pricing/
今回の試算のような「VPC A(アカウントA)」と「VPC B(アカウントB)」間の通信の場合、請求先は以下のようになります。
- 行きの通信(VPC A → VPC B)
- VPC Aからデータが送信されるため、「アカウントA(送信元)」に請求されます。
- 帰りの通信(VPC B → VPC A)
- 戻りのパケットはVPC Bから送信されるため、「アカウントB(受信先)」に請求されます。
つまり、往復の通信コストを送信元がすべて負担するのではなく、「受信側も戻りのトラフィック分の処理料金を負担する」という構造になります。
おわりに
純粋な通信コストの観点だけで比較すると、やはりVPCピアリングの安さが際立つ結果となりました。
特に、同一リージョン・同一AZ間の通信が「無料」になる点は、大規模なデータ転送を行うシステムにおいて無視できないメリットです。
一方で、Transit GatewayにはフルメッシュになりがちなVPC間接続をハブ&スポーク型に集約し、運用管理を劇的に簡素化できるという強力なメリットがあります。
TGWへの移行を検討する際は、アタッチメントの時間料金(固定費)だけに目を向けるのではなく、今回試算したような「データ処理料金」や「隠れたAZ間転送コスト」による変動費の増加分も加味した上で、移行すべきか検討してみてください。






