はじめに
VPCで使えるsite-to-site VPNを使って、PowerVSにアクセスする方法です。
以前に似た記事を書いていますが、2024年5月にVPCのネットワーク周りで新機能がリリースされ、これまでより更に容易に接続可能になったので、その方法を書きたいと思います。
なお、今回はPER(Power Edge Router)環境を前提として書きますが、Cloud Connection(Direct Link 2.0)で接続している環境でも同様に可能と思います。
最初にポイントを書くと下記となります。
- 特別なこと(今回の記事に書く内容)を考えずに構成すると、PowerVSはオンプレミスのIPアドレス範囲へのルーティング情報を知らないのでPowerVSからオンプレミスにパケットを送ることができない。
- VPN for VPCに設定したpolicyに基づくルーティング情報をVPN GatewayからVPCのrouting tableに渡し(これは前からできた)、さらにそれをTransit Gatewayに伝搬させる事ができるようになった(2024年5月の新機能)。この機能により、オンプレミスのIPアドレス範囲へのルーティング情報がVPCからPowerVS側に広告され、PowerVSがオンプレミスのIP範囲へのパケットをVPCに送ることができる。
- VPN GatewayはVPNトンネル経由でオンプレミスにパケットを渡し、end-to-endで通信が可能となる。
この機能が登場する前は、VPCにオンプレミスのIPアドレス範囲のprefixを作成する必要がありましたが、2024年5月の新機能により不要になりました。prefixを使ってVPN接続する方法は下記に書きました。
https://qiita.com/y_tama/items/59a5b9d4848ad8315701
概要イメージは下記となります。
オンプレミスとVPCをsite-to-site VPNで接続
オンプレミスとVPCをsite-to-site VPNで接続します。留意点として、policy based VPNで接続してください。
route based VPNだと今回の構成はうまく動きません。
Local IBM CIDRsには、VPCのサブネットでなく、PowerVSのサブネットを指定します。
Peer CIDRsは普通にオンプレミスのサブネットを書けばOKです。
なお、対向となるオンプレミスのVPNルータでも、Peer CIDRにはVPCのサブネットでなく、PowerVSのサブネットを指定してください。
PowerVSをTransit Gatewayに接続
こちらを参考に、PER環境のPowerVSをTransit Gatewayに接続します。
もし、PowerVSのLPARでパブリックIPアドレスを有効にしていると、デフォルトゲートウェイがパブリック側を向いています。オンプレミス宛の通信がプライベート側ゲートウェイにルーティングされるようAIXに静的経路を設定します。
# netstat -r
Routing tables
Destination Gateway Flags Refs Use If Exp Groups
Route tree for Protocol Family 2 (Internet):
default 192.168.179.25 UG 6 6207270 en0 - -
10.50.50/24 172.16.42.1 UGS 0 1184 en1 - -
127/8 localhost U 4 945769 lo0 - -
...
Transit GatewayにVPCを接続
Transit GatewayにVPCを接続します。
Transit GatewayでBGPレポートを作成してルートを確認すると、PowerVSとVPCから、経路情報が広告されていることが確認できます。
この段階では、VPCから広告されている経路情報は、VPCのprefixに定義した10.40.40.0/24のみです。
この後の手順でオンプレミスの10.50.50.0/24への経路情報がVPCからTransit Gatewayに広告される状態にします。
VPCのingress routing tableを作成
VPCにingress routing tableを新規作成します。
Accepts routes from
でVPN gatewayを選択し、VPN Gatewayで設定した経路情報が自動的にroute tableに反映されるようにします。
Traffic source
としてTransit Gatewayを有効にし、さらに、それを展開した中にあるAdvertise to
をOnにします。
route tableが作成され、VPN gatewayから経路情報が自動で伝搬されます。
VPN設定でPeer CIDRとして設定した10.50.50.0/24宛のパケットについて、next hopが、VPN GatewayのIPアドレス(10.40.40.4)になっています。
また、Advertiseの列がOnになっており、この情報がTransit Gatewayに広告されています。
Transit GatewayのBGPレポートを再度作成し、オンプレミスのIPアドレス範囲への経路情報がVPCからTransit Gatewayに広告されていることを確認します。
PowerVSからVPN Gatewayまでパケットが届けば、VPN Gatewayはその先のオンプレミスまでのルートを知っていますので、VPNトンネルを通してオンプレミスにパケットを届けることができます。
これで、オンプレミスからPowerVSまでの通信が可能となります。
下記はオンプレミスのサーバー(10.50.50.6)からPowerVSのAIX(172.16.42.123)へのpingです。
[root@tamavsi01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc pfifo_fast state UP group default qlen 1000
link/ether 02:00:06:11:ef:41 brd ff:ff:ff:ff:ff:ff
inet 10.50.50.6/26 brd 10.50.50.63 scope global noprefixroute dynamic eth0
valid_lft 235sec preferred_lft 235sec
inet6 fe80::6ff:fe11:ef41/64 scope link
valid_lft forever preferred_lft forever
[root@tamavsi01 ~]# ping 172.16.42.123
PING 172.16.42.123 (172.16.42.123) 56(84) bytes of data.
64 bytes from 172.16.42.123: icmp_seq=1 ttl=241 time=143 ms
64 bytes from 172.16.42.123: icmp_seq=2 ttl=241 time=155 ms
64 bytes from 172.16.42.123: icmp_seq=3 ttl=241 time=146 ms
64 bytes from 172.16.42.123: icmp_seq=4 ttl=241 time=143 ms
^C
--- 172.16.42.123 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 143.775/147.450/155.514/4.778 ms
[root@tamavsi01 ~]#
以上