Site to Site VPN 接続したオンプレミスを経由して AWS VPC と Azure VNet の通信を実現する
こんにちは、菊池です。
AzureのSite to Site VPNで遊んでます。先の記事にて、Azure とオンプレミスを VPN接続し、動的ルーティング(BGP)によるルーティングで通信する環境を構築しました。
今回はさらに拡張して、AWSのVPCとも接続し、Azure VNet <- オンプレ -> AWS VPC のような経路での通信を試してみました。
AWSのVPCとAzureのVNetを直接接続する構成は下記の記事にて紹介しております。
今回はAzureの経路制御の動作を確認する意図もあり、直接ではなくオンプレを経由するように接続しています。
AWS との VPN 接続を追加
前述のブログのように、Azure VNetとの接続はできているところからスタートです。
AWS側にVPN接続を作成していきます。こちらもあらかじめ、VPCと仮想プライベートゲートウェイ(VGW)、カスタマーゲートウェイは作成済みです。
カスタマーゲートウェイはこのようになっています。IPアドレス、BGP ASNはAzure側のローカルネットワークゲートウェイで設定したものと同じにします。
VGWの設定です。こちらのASNは、オンプレおよびAzureとは異なる値を設定しましょう。
続いて、VPN接続を作成します。
作成済みのVGW、カスタマーゲートウェイを選択します。ルーティングオプションは [動的] を選択します。
接続ができましたので、設定をダウンロードします。
ベンダー/プラットフォーム/バージョンを選択してダウンロード。
また、BGPで受け取ったルートをVPCルーティングに反映するため、ルートテーブルで [ルート伝搬] を有効化しておきます。
ルータへのVPNの設定は以下の記事を参考にしてください。
最終的に、ルータのBGP設定は以下のようになっています。
router bgp 65000 bgp log-neighbor-changes neighbor 169.254.47.77 remote-as 64512 neighbor 169.254.47.77 timers 10 30 30 neighbor 169.254.198.17 remote-as 64512 neighbor 169.254.198.17 timers 10 30 30 neighbor 172.16.1.254 remote-as 65515 neighbor 172.16.1.254 ebgp-multihop 255 neighbor 172.16.1.254 update-source Tunnel100 ! address-family ipv4 network 10.10.10.0 mask 255.255.255.0 network 10.212.134.0 mask 255.255.255.0 neighbor 169.254.47.77 activate neighbor 169.254.47.77 soft-reconfiguration inbound neighbor 169.254.198.17 activate neighbor 169.254.198.17 soft-reconfiguration inbound neighbor 172.16.1.254 activate exit-address-family
経路の確認
AWSへのVPN接続が確立したら、各ポイントでのルートテーブルを確認します。
まず、オンプレのVPNルータの状態です。Azure(172.16.0.0/16
)、AWS(172.31.0.0/16
)双方の経路を受け取っています。
#show ip bgp BGP table version is 9, local router ID is 192.168.255.1 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 *> 10.212.134.0/24 10.10.10.253 0 32768 i *> 172.16.0.0 172.16.1.254 0 65515 i * 172.31.0.0 169.254.198.17 200 0 64512 i *> 169.254.47.77 100 0 64512 i
続いて、Azureのルートです。オンプレミスの10.10.10.0/24
、10.212.134.0/24
に加えて、AWS VPCのCIDRである、172.31.0.0/16
が反映されていることがわかります。
AWS側のルートテーブルです。オンプレミスの10.10.10.0/24
、10.212.134.0/24
に加えて、AWS VPCのCIDRである、172.16.0.0/16
が反映されています。
これで、双方に経路情報が反映できました。あとはSecurity Groupで適切に通信を許可することで、双方向の通信が確認できました。
まとめ
オンプレを中継したAWS - Azureの疎通を試しました。BGPを使うことで簡単に経路情報を伝搬して、必要なルーティングを設定することができます。