Amazon Web Services ブログ

“共有型”AWS DirectConnectでも使えるAWS Transit Gateway

AWS Transit Gateway (TGW)は徹底的に進化することにより、クラウドネットワーキングを簡素化しました。本記事では、複数Amazon Virtual Private Cloud(VPC)とオンプレミスの接続パターンを紹介します。

AWSでは、オンプレミスのネットワークとの接続にはAWS Direct Connect(DX)を使います。DX接続は様々な形態がありますが、日本のお客様に多い“共有型”DX接続ではTGWを直接使うことができません。TGWを使うことができることが“専有型”DX接続の優位点の一つですが、本記事では”共有型”DX接続でTGWを使った接続実現する方法を含めて、いくつかの接続パターンを解説します。

TGWのメリット

TGWを使用すれば、一貫した信頼性の高いネットワークパフォーマンス を実現しながら、複数のVPCおよびDXを使ってオンプレミスネットワークを相互接続するのはお手の物です。TGWは各VPC、VPN、DXの間のすべてのトラッフィクを一箇所で制御することができます。

TGW-hub

専有型が利用できる場合にはTGWとDXをつなぐと、AWSを経由してインターネット接続することもできます。

上の例では、TGWがAWS Direct Connect Gateway(DXGW)にアタッチされています。
DXの複数VPCでの利用は典型的なユースケースです。一方で、DXは1Gbps以上の接続につきTGWのためのトランジット仮想インターフェースは1つだけという制限があります。つまり、日本のお客様に多い、“共有型”DX接続ではTGWを直接使うことができません。

ここでは、複数VPCとオンプレミスの接続パターンを以下4つに整理してみます。1つ目だけが、“専有型または1Gbps以上のホスト型接続”のみ実現可能です。

  1. TGWにDXをつける
  2. DX用のVPCにNetwork Load Balancer(NLB)を配置。VPC間はTGW
  3. 通信方向に合わせてエンドポイントサービス(NLBとインターフェイスエンドポイントのペア)を配置
  4. DXGWにVPCをつける

1. TGWにDXをつける

この場合、すべてのトラフィックはTGWで管理できます。AWSを経由したインターネット接続もProxyなしで実現できます。また、全トラフィックを”監査用アプライアンス”に通すことで全トラフィックの記録 / 制限 / 監査も可能ですので、セキュリティ面でも有利です。

2. DX用のVPCにNLBを配置。VPC間はTGW

DXにつながるVPCとして“DX用VPC”1つが現れました。このとき、DXからみれば1つの”DX用VPC”がつながるだけですので、”共有型”でも問題ありません。VPC間の通信はTGWで設定制御ができます。
オンプレミス↔VPC間で通信をしなければならない特定のサーバのフロントにはDX用VPCにNLBを設置することで通信できるようにします。サーバの数だけNLBを設定するため、サーバ数が増えるとNLBの時間あたり費用がかさむことに注意してください。

3. 通信方向に合わせてエンドポイントサービス(NLBとインターフェイスエンドポイントのペア)を配置

このパターンでは、PrivateLinkが重要です。マイクロサービスなど、VPCを自由にいくつも使っている場合には、IPアドレスブロックが重複することはよくあることです。2つ目のパターンでは、TGWをつかってVPC間の通信を制御していました。TGWではアドレス重複の答えにはなりません。PrivateLinkはその解決策です。
VPC間およびオンプレミスとの特定の通信はPrivateLinkで設定します。VPCからオンプレミス上のサーバにアクセスするためにも使うことができます。

4. DXGWにVPCをつけたとき

VPCとオンプレミスの間の通信はあるけれども、VPC同士の通信が無いのであれば、TGWは実は必要なかったのかもしれません。なお、一つのDXGWに接続できるVPCは10までですので、スケーラビリティにもやや難があるかもしれません。VPCの数が10以上になった場合、2つめの共有型Private VIFを利用する事により、多くのVPCと接続することができます。ただし、共有型VIFを増やし続けると、”1.”でご紹介した専有型接続の方が結果的に安価となる分岐点に到達します。詳細な見積もりが必要な場合は、利用するパートナー様にご確認ください。

比較

比較の一覧を追加しておきます。料金試算は、東京リージョンで、3つのサービス用VPCと1つのオンプレミスのネットワークを接続し、サービスするVPCひとつあたり月間10TB通信があり、DXのIn/Outの比率が1:1の場合です。(詳細は最後に)

案1: TGWにDXをつけたとき 案2: DX用のVPCにNLBを配置。VPC間はTGW 案3: 通信方向に合わせてエンドポイントサービス(NLBとインターフェイスエンドポイントのペア)を配置 案4: DXGWにVPCをつけたとき
特徴 シンプルかつ多機能。専有型DXがつかえるのであれば、本命 TGWをつかったVPC間通信の制御可能。オンプレが絡むNLB配置はやや面倒か。 PrivateLinkなので使いたい側でVPCEを置くのが面倒かもしれない。 VPC間通信がないならばこれで十分
DXサービス形態 専有型 専有 or 共有型 専有 or 共有型 専有 or 共有型
DX(PrivateVIF, TransitVIF TransitVIF PrivateVIF PrivateVIF PrivateVIF
サーバ通信:オンプレ→VPC TGWで直接ルーティング DX用のVPCに配置したNLBで実現 DX用のVPCにVPCE配置。VPCサーバ側にNLB配置。その間をPrivateLink 直接ルーティング
サーバ通信:オンプレ←VPC TGWで直接ルーティング DX用のVPCに配置したNLBで実現 DX用のVPCにNLB配置しオンプレサーバをIPバックエンド化。VPC側にVPCE配置。その間をPrivateLink。 直接ルーティング
VPC間 TGWで直接ルーティング TGWで直接ルーティング なし なし
インターネットへのアクセス TGWで直接ルーティング Proxy Proxy Proxy
TGWによるトラフィック監査用VPCルーティング 全トラフィックで可能 VPC間のみ可能 不可 不可
IPアドレスの重複 対応できない 対応できない 対応可能 対応できない

合計料金試算

 

1638.75

 

1891.65

 

1486.65

 

828.75

 

まとめにかえて

複数VPCで構成されたシステムであれば、拡張性を考えるとTGWは便利なので使っていくのがよいでしょう。すくなくとも使えるようにIPアドレスの重複が無い様に組織内で調整はしておくべきでしょう。案1,2はTGWを使うパターンです。

  • DXでTGWを使えるのは1Gbps以上の接続につき1つの制限がある。”専有型”であれば問題なく使える→案1
  • キャリアによる“共有型”のDX接続の場合は、接続のためのVPCを設定する→案2
  • IPアドレスの重複があるならばPrivateLink→案3
  • VPC間の通信がないのであればDXGW→案4

ここまで4つの方法を説明してきました。これらはTGWは便利で使っていきたいが、現用のDX接続ではTGWに直接接続できない(案1を採用できない)ユーザからの相談に応えて作成しました。

ネットワーク構成には組織の様々な事情が反映されます。AWSではそれらを理解して最適な解決案をお客様と一緒に考えてることがきるよう、ネットワークスペシャリストソリューションアーキテクトも含めたチームでお客様に向き合っています。皆様の忌憚なきご意見、リクエストをお待ちしています。

ソリューションアーキテクト 荒木靖宏 (twitter – @ar1)

付記

用語について

AWS Direct Connect パートナーは、専用接続、ホスト型接続、ホスト型仮想インターフェイス(ホスト型VIF)の各モデルを介して、お客様が AWS Direct Connect のロケーションとデータセンター、オフィス、またはコロケーション環境の間にネットワーク接続を確立できるよう支援します。詳細は、AWS Direct Connect パートナーが AWS Direct Connect へのアクセスを有効にする方法をご覧ください。

記事内での”専有型”とは、「専有接続」および、「選ばれたAPNパートナーに限り提供しているAWS の承認を受けた 1Gbps から 10Gbps の容量を提供するホスト型接続」を指します。

記事内での”共有型”とは、専有型以外を指します。つまり、「50Mbpsから500Mbpsのホスト型接続」と、「ホスト型VIF」を指します。

AWS は各ホスト型 VIF のネットワークトラフィック容量を制限しないため、共有されたネットワークリンクが利用過多となる可能性があります。ネットワークの混雑に影響を受けやすいワークロードがある場合は、専用接続またはホスト型接続を使用することを AWS はお勧めします。

料金試算

料金試算は、東京リージョンで、3つのサービス用VPCと1つのオンプレミスのネットワークを接続し、サービスするVPCひとつあたり月間10TB通信があり、DXのIn/Outの比率が1:1の場合です。また、案1,2,3,4いずれも”専有型”でも動作するので1Gbpsの専有ポート時の料金(USD)です。冗長化もされていません。

案2(および案3)ではVPC1つに1つのサービス(NLB配下)が動作している前提ですが、サービス数が増えればNLBの1時間あたりの費用が増えることに注意してください。

内訳

 

単価

 

案1: TGWにDXをつけたとき

 

案2: DX用のVPCにNLBを配置。VPC間はTGW

 

案3: DX用のVPCにNLBを配置。VPC間はPrivateLink

 

案4: DXGWにVPCをつけたとき

 

条件

 

TGW1時間のアタッチメント料金

 

0.07

 

210

 

210

 

TGW1GBの転送料金

 

0.02

 

東京リージョンで、3つのサービス用VPCと1つのオンプレミスのネットワークを接続し、VPCひとつあたり月間10TB通信がある場合

 

VPC1つあたり通信量(月間、GB)

 

10000

 

TGW転送料金総額

 

600

 

600

 

NLB1時間あたり

 

0.0243

 

72.9

 

72.9

 

新しい接続、アクティブな接続、処理バイト数では処理バイト数がNLCUへ効くので、処理バイト数のみに着目

 

LCU時間あたり

 

0.006

 

180

 

180

 

各 AZ の VPC エンドポイント 1 つあたりの料金

 

0.014

 

105

 

VPCエンドポイント処理データ 1 GB あたりの料金

 

0.01

 

300

 

DX日本でのポート時間料金(1G)

 

0.285

 

213.75

 

213.75

 

213.75

 

213.75

 

DXデータ転送料金

 

0.041

 

615

 

615

 

615

 

615

 

In/Outを1vs1としている

 

合計

 

1638.75

 

1891.65

 

1486.65

 

828.75