ドラッグストアシステムのAWSリプレースにおいて、閉域網内でのインターネット通信要件を実現するためにTransit Gatewayを使用した際の設計のポイントや使い方について、以下に記載いたします。
■通信要件の詳細
ドラッグストア様は、AWS移行後の構成として、以下のように設計していますが、
店舗UNO → NTT.comのFlexible InterConnect → private VIF → AWS DirectConnect Gateway → AWS VGW → リプレース後のサーバー(EC2)
店舗UNOに接続されている決済端末は、インターネットへの通信ができる環境が必要という要望がありましたが、当初の設計では閉域網内(専用線)での通信が前提とされており、インターネット接続が含まれていませんでした。
■現状設計の問題点
Private VIFを使用する場合、オンプレミス環境から送信されたインターネット向けのトラフィック(インターネット上のグローバルIPアドレスを宛先IPアドレスとしたパケット)をVGW経由でVPCへルーティングすることは叶いません。
したがって、オンプレミス環境から送信されたインターネット向けのトラフィックを、NATインスタンスまでルーティングすることができないため、NATインスタンスを構築したとしても要件を満たすことは叶いません。
■構成案①
TGW(Transit Gateway)とTransit VIFを使用する方法にて要件を満たすことが可能です。
DXGW(DirectConnect Gateway)とTGWの場合、許可されたプレフィックスにて0.0.0.0/0を設定することで、AWS側からお客様側へ0.0.0.0/0の経路が広報されます。
オンプレミス環境から送信されたインターネット向けのトラフィックをTGW経由でVPCへルーティングし、NAT GatewayまたはNATインスタンス経由でインターネットへルーティングするような設定が可能です。
ただ、元々のPrivate VIFは既に存在しており、それを削除/再作成すると本番環境に影響が及ぶため、新たにTransit VIFとDXGWを作成して対応することにしました。
※通信経路は下記になります。
オンプレミス環境 ---(TransitVIF)--- DXGW --- TGW --- NAT GW(またはNATインスタンス)---IGW --- インターネット
■構成案②
①EC2インスタンス上にVPNサーバ(サードパーティ製のVPNアプライアンス等)兼NATサーバを構築します。
②オンプレミス環境にVPNルータを用意します。
③オンプレミス環境のVPNルータとEC2インスタンス上のVPNサーバのプライベートIPアドレスの間で、VPN接続を確立します。
④オンプレミス環境のネットワークのデフォルトルートを、Direct Connect経由で確立したVPN接続向けに設定します。
オンプレミス端末からインターネット向けのトラフィックは、Direct Connect経由で確立したVPNトンネル内を通り、EC2インスタンス上のVPNサーバに到達します。
EC2インスタンス上のVPNサーバーがSNATを実施した後、トラフィックはインターネット向けに送信される形となります。
※通信経路は下記になります。
オンプレミス端末 --- オンプレミスVPNルータ --- オンプレミスBGPルータ ---(PrivateVIF)---DXGW --- VGW --- EC2 VPNサーバ --- IGW --- インターネット
■まとめ
構成の複雑性や構築・運用・トラブルシューティングの負荷の観点から、Transit VIFを使用した構成がより適していると判断し、最終的に構成案①を採用して進めることにしました。