[AWS] 新機能 Transit Gateway にVPNで接続する #reinvent

こんにちは、菊池です。

AWS re:Invent 2018、続々と新機能・新サービスが登場しています。その中から1つ、Transit Gatewayを使ったVPN接続を試してみました。

Transit GatewayのVPN接続

まずは、従来の仮想プライベートゲートウェイ(VGW)を使ったVPN接続と、新しいTransit GatewayによるVPN接続の違いについて説明しておきます。

従来、VPN接続を複数のVPCに行う場合、それぞれのVPCに対してVGWをアタッチし、VPN接続が必要でした。そのため、VPCやオンプレミス環境の数が増えるればそれだけVPN接続が必要となる、フルメッシュ型の構造をとる必要がありました。

それに対し、新しいTransit Gatewayを用いる場合、各VPCやオンプレミス拠点はTransit Gatewayのみに接続する、ハブ型の構成でよくなります。これにより、複数拠点/VPCの接続が大幅に簡略化されることになるでしょう。

VPN接続する

それでは実際にVPN接続を試します。接続構成は以下のようなイメージです。

まずはTransit Gatewaynの作成から。オプション設定は、基本的に有効化しておくことでルートテーブルの自動反映など、設定を簡略化することができます。

Transit Gatewayが作成できました。

続いて、Transit GatewayにVPN接続を作成していきます。[Transit Gateway Attachments] のメニューから、新規に作成します。

Transit Gatewayには先ほど作成したゲートウェイを選択し、接続タイプは[VPN]を選びます。ここで、オンプレ側の接続先となるカスタマーゲートウェイも新規作成します。オンプレ側VPNルータのパブリックIPを入力してルーティングはダイナミック(BGP)を選択しました。

接続先が作成されました。

ここで、[VPN接続]をみてみると、設定したTransit Gatewayとカスタマーゲートウェイの間にVPN設定が作成されています。

ここからは従来のVPN接続と同様です。VPN接続から、カスタマーゲートウェイの設定サンプルがダウンロードできます。今回接続するのはCiscoのルータなので、そのコンフィグをダウンロードします。

ルータに設定を投入し、問題なければIPSec VPNがアップ状態になります。

この時点で、Transit GatewayのルートテーブルにはカスタマーゲートウェイからのBGPルートが反映されています。

Transit Gatewayに、VPCをアタッチします。

Transit Gatewayに、アタッチしたVPCへのルートが追加されました。

カスタマーゲートウェイとなるルータには、BGPでVPCへのルートを受診していることが確認できます。

#show ip bgp
BGP table version is 3, local router ID is 192.168.1.253
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.10.10.0/24    0.0.0.0                  0         32768 i
 *   172.31.0.0       169.254.46.125         100             0 64512 e
 *>                   169.254.44.45          100             0 64512 e

ルートテーブルにも反映されています。

#sho ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 192.168.1.1 to network 0.0.0.0

S*    0.0.0.0/0 [1/0] via 192.168.1.1
      10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        10.10.10.0/24 is directly connected, Vlan1
L        10.10.10.254/32 is directly connected, Vlan1
      169.254.0.0/16 is variably subnetted, 4 subnets, 2 masks
C        169.254.44.44/30 is directly connected, Tunnel2
L        169.254.44.46/32 is directly connected, Tunnel2
C        169.254.46.124/30 is directly connected, Tunnel1
L        169.254.46.126/32 is directly connected, Tunnel1
B     172.31.0.0/16 [20/100] via 169.254.44.45, 00:00:20
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, GigabitEthernet0/5
L        192.168.1.253/32 is directly connected, GigabitEthernet0/5

まとめ

新しいVPCのゲートウェイ機能である、Transit GatewayへのVPN接続を試しました。これまでフルメッシュで接続する必要があったVGWに代わり、複数環境への接続が大きく変わる可能性を秘めています。まだ中盤ではありますが個人的には、今年のre:Inventでもっとも熱いアップデートな予感がしています。