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とDXをつなぐと、AWSを経由してインターネット接続することもできます。
上の例では、TGWがAWS Direct Connect Gateway(DXGW)にアタッチされています。
DXの複数VPCでの利用は典型的なユースケースです。一方で、DXは1Gbps以上の接続につきTGWのためのトランジット仮想インターフェースは1つだけという制限があります。つまり、日本のお客様に多い、“共有型”DX接続ではTGWを直接使うことができません。
ここでは、複数VPCとオンプレミスの接続パターンを以下4つに整理してみます。1つ目だけが、“専有型または1Gbps以上のホスト型接続”のみ実現可能です。
- TGWにDXをつける
- DX用のVPCにNetwork Load Balancer(NLB)を配置。VPC間はTGW
- 通信方向に合わせてエンドポイントサービス(NLBとインターフェイスエンドポイントのペア)を配置
- 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
|