Power Systems Virtual Serverの東京・大阪間を接続する


はじめに

2021/3/31に、Power Systems Virtual Server(以下Power VS)の大阪リージョンがGAしました。
これで、AIXやIBMiをIBM Cloud上の国内DCで東西に配置できるサービスが整いました。
Power VSのネットワークは、従来のIBM Cloudのネットワークとは分かれており、東西にAIXのLPARを作成しただけではAIX間が疎通しません。
この記事では、東西のAIX間を疎通させます。実現したいのは図の赤い矢印の通信です。
Powerとx86間のDirect Link Connectは1DCあたり2本まで無償ですし、DC間ネットワークは無料で使えますので、ネットワーク費用が発生しないのは良い点と思います。

東京にあるPowerのネットワークから、x86のネットワークを通り、DC間ネットワークを通って大阪まで行き、大阪のPowerのネットワークに入ります。
NATしても良いのですが、今回はPowerのネットワークに割り振った192.168.x.xのIP同士で疎通させるため、下記3つのGREトンネルで通信を中継します。

GRE①:東京Powerと東京VRAの間
GRE②:東京VRAと大阪vyosの間
GRE③:大阪vyosと大阪Powerの間

東西を疎通させるだけであれば、東京のVRAから大阪のPower側にGREを張ることもできますので、東京か大阪のどちらかにGREを張れる仮想ルータがあれば実現できます。ただ、Powerを東西に配置する用途としてはDRが想定されるため、万一、東京が被災したときも、大阪側PowerにIPSec等で入れる口が必要と考え、東西両方に仮想ルータを配置しています。(もちろん、大阪側はvyosでなくVRAでも良いですが、今回は仮想サーバーにvyosを入れて検証しています)

GRE①とGRE③の前提として、東京のPowerとx86の間、大阪のPowerとx86の間を、それぞれ、Direct Link 2.0で接続します。
Power・x86間のDirect Link 2.0についてはこちらに書きました。

GRE①:東京Powerと東京VRAの間

Caseを起票し、Power側のGRE設定を依頼します。詳細はこちらに書きました。
東京のAIXから、大阪のPower VSのセグメント(192.168.160.0/24)に向かう通信をGRE経由でVRAに渡して欲しいので、caseでは下記の項目を依頼します。

Private Networks to be routed over GRE:
Private Network ID (1): 192.168.160.0/24

VRA側は下記のように設定します。

VRA@東京
set protocols static route 172.16.0.37/32 next-hop 10.132.163.193

set interfaces tunnel tun0 address 172.16.100.5/30
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 local-ip 10.132.163.242
set interfaces tunnel tun0 remote-ip 172.16.0.37

set protocols static route 192.168.150.0/24 next-hop 172.16.100.6

GRE②:東京VRAと大阪vyosの間

東京のVRAと大阪のvyosの間にもGREを張ります。
GREトンネル内IPは、東京側が172.16.100.9、大阪側が172.16.100.10にしました。
VRA@東京は、大阪AIXのセグメント(192.168.160.0/24)宛のパケットをGRE対向(172.16.100.10)に渡します。

VRA@東京
set interfaces tunnel tun1 address 172.16.100.9/30
set interfaces tunnel tun1 encapsulation gre
set interfaces tunnel tun1 local-ip 10.132.163.242
set interfaces tunnel tun1 remote-ip 10.8.29.213

set protocols static route 192.168.160.0/24 next-hop 172.16.100.10

vyos@大阪は、東京AIXのセグメント(192.168.150.0/24)宛のパケットをGRE対向(172.16.100.9)に渡します。

vyos@大阪
set interfaces tunnel tun0 address '172.16.100.10/30'
set interfaces tunnel tun0 encapsulation 'gre'
set interfaces tunnel tun0 local-ip '10.8.29.213'
set interfaces tunnel tun0 remote-ip '10.132.163.242'

set protocols static route 192.168.150.0/24 next-hop '172.16.100.9'

GRE③:大阪vyosと大阪Powerの間

①と同様、Caseを起票し、Power側のGRE設定を依頼します。
大阪のAIXから、東京のPower VSのセグメント(192.168.150.0/24)に向かう通信をGRE経由でvyosに渡して欲しいので、caseでは下記の項目を依頼します。

Private Networks to be routed over GRE:
Private Network ID (1): 192.168.150.0/24

case起票
Hello,
I'm refferring this docs.
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-configuring-power#gre-tunneling

Could you configure the Power VS side for the GRE tunnel?

Customer name: xxx
Customer account ID: xxxxxx
GRE Tunnel source (Power VS) IP: ???(I don't know it. Can you specify this?)
GRE Tunnel destination (IBM Cloud VRA) IP: 10.8.29.213
GRE Tunnel interface (Power VS) IP: 172.16.100.14/30
GRE Tunnel interface (IBM Cloud VRA) IP: 172.16.100.13/30
Private Networks to be routed over GRE:
Private Network ID (1): 192.168.150.0/24

Datacenter/Colo is OSA21.

Thanks,

上記caseの返信として、Power側のGRE終端は172.16.0.40と教えてもらったので、下記をvyosに設定します。

vyos@大阪
set protocols static route 172.16.0.40/32 next-hop '10.8.29.193'

set interfaces tunnel tun1 address '172.16.100.13/30'
set interfaces tunnel tun1 encapsulation 'gre'
set interfaces tunnel tun1 local-ip '10.8.29.213'
set interfaces tunnel tun1 remote-ip '172.16.0.40'

set protocols static route 192.168.160.0/24 next-hop '172.16.100.14'

これで、東京のAIXと大阪のAIXの間が疎通しました。

東京AIXから大阪AIXへのping結果
# ping 192.168.160.207
PING 192.168.160.207 (192.168.160.207): 56 data bytes
64 bytes from 192.168.160.207: icmp_seq=0 ttl=247 time=11 ms
64 bytes from 192.168.160.207: icmp_seq=1 ttl=247 time=10 ms
64 bytes from 192.168.160.207: icmp_seq=2 ttl=247 time=10 ms
64 bytes from 192.168.160.207: icmp_seq=3 ttl=247 time=10 ms

以上です。