IBMCloud VRA をシングル構成で利用する際に気をつけておきたいTips

# この記事の目的

* IBMCloudのネットワークゲートウェイアプライアンスである、VRAをシングル構成でオーダする際に気をつけておきたいTipsとなります。

* IBMCloud仕様として後でシングル構成から冗長構成へのグレードアップができるようになっているため、シングル構成でオーダした場合もVRRP設定がトランジットVLAN（IPをシステムが予約しているセグメント）に定義されます。ただし、このVRRP設定はオーダー時にデフォルトで無効（disabled）となっているため、VRAに新規にサーバVLANを紐付ける際に有効にしなければ通信ができません。

* 以下に、具体的に変更するポイントを説明します。 (dp0bond0インターフェイス(private側)に今回は焦点を当ててご説明します。)


## 1. VRAシングル構成のVRRP設定を確認

* 下記dp0bond0のデフォルト設定値となります。４行目で<font color="DeepPink">'disable'</font>となっていることが確認できます。

```
set interfaces bonding dp0bond0 address '10.192.aa.150/26'
set interfaces bonding dp0bond0 lacp-options activity 'active'
set interfaces bonding dp0bond0 mode 'lacp'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 'disable'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 preempt 'false'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 priority '253'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 'rfc-compatibility'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 sync-group 'vgroup3'
set interfaces bonding dp0bond0 vrrp vrrp-group 3 virtual-address '10.192.aa.135/26'
```

## 2. Tok04のVRAに、サーバが接続されたVLAN1105をAssociateしてみる

* VLAN Associateする場合、<font color="DeepPink">IBMCloudポータル</font>および<font color="DeepPink">VRA実機</font>にて作業が必要となります。
    * <font color="DeepPink">IBMCloudポータル</font>の作業は、[こちらの記事(リンク)](https://qiita.com/naoki_fisher/items/7556bf1945f104d7c23b) が同様の手順になりますのでご参照ください。
    * <font color="DeepPink">VRA実機</font>の作業は、以下の設定を追加します。
        * set interfaces bonding dp0bond0 vif 1105 address '10.192.ccc.193/26'

* VRAに正しくサーバが接続されているか、VRAからサーバへPingを実施して確認します。

```
vyatta@tok04-gateway01:~$ ping  10.192.ccc.223
PING 10.192.235.223 (10.192.235.223) 56(84) bytes of data.
64 bytes from 10.192.ccc.223: icmp_seq=1 ttl=128 time=0.793 ms
64 bytes from 10.192.ccc.223: icmp_seq=2 ttl=128 time=0.948 ms
64 bytes from 10.192.ccc.223: icmp_seq=3 ttl=128 time=0.773 ms
64 bytes from 10.192.ccc.223: icmp_seq=4 ttl=128 time=1.13 ms
64 bytes from 10.192.ccc.223: icmp_seq=5 ttl=128 time=1.21 ms
^C
--- 10.192.235.223 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4147ms
rtt min/avg/max/mdev = 0.773/0.972/1.214/0.180 ms
vyatta@tok04-gateway01:~$
```

## 3. 別データセンター(Tok02)機器から接続ができないことを確認
* 別セグメントからの通信ができないことが確認できます。<font color="DeepPink">"100% packet loss"</font>となり、ACLなどはかけていないにも関わらず、別DCからの通信が失敗してしまいます。

```
[user@tok02server ~]$ ping 10.192.235.223
PING 10.192.235.223 (10.192.235.223) 56(84) bytes of data.
^C
--- 10.192.235.223 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7519ms

[user@tok02server ~]$
```

## 4. VRAのPrivateインターフェイス(dp0bond0)のVRRP有効化

* VRRPを有効後、別DCからサーバへ接続できるようになるか、確認します。

* Disable設定を削除(delete)することで有効化します。

    * delete interfaces bonding dp0bond0 vrrp vrrp-group 3 'disable'

* VRRPインターフェイス(dp0vrrp1)がUp/Upになっていることを確認します。


```
vyatta@tok04-gateway01:~$ show interface
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
dp0bond0         10.192.aa.150/26                  u/u
dp0bond0.1105    10.192.bb.193/26                 u/u
dp0vrrp1         10.192.aa.135/32                  u/u
vyatta@tok04-gateway01:~$
```


## 5. 別データセンター（Tok02）サーバよりVRAに紐付けしているサーバにPing疎通できるか確認

* VRRPを有効にしたことで、無事にアクセスできるようになりました。

```
[user@tok02server ~]$ ping 10.192.235.223
PING 10.192.235.223 (10.192.235.223) 56(84) bytes of data.
64 bytes from 10.192.235.223: icmp_seq=1 ttl=120 time=2.55 ms
64 bytes from 10.192.235.223: icmp_seq=2 ttl=120 time=2.36 ms
64 bytes from 10.192.235.223: icmp_seq=3 ttl=120 time=2.14 ms
64 bytes from 10.192.235.223: icmp_seq=4 ttl=120 time=2.44 ms
64 bytes from 10.192.235.223: icmp_seq=5 ttl=120 time=2.39 ms
^C
--- 10.192.235.223 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4100ms
rtt min/avg/max/mdev = 2.140/2.380/2.553/0.138 ms
[user@tok02server ~]$
```

# 終わりに

* 本事象は、あくまで推測となりますがVRAのネクストホップルータである、BCRルータのルーティング設定が今後の冗長化に備えて、VRAのVRRPアドレスにパケットを飛ばすように設定されているのではないかと思われます。
* デフォルトでVRRP機能が無効にされているため、なかなか気づけないポイントになりますので、同じケースで困っている方の一助になれば幸いです。

* 参考文献
    * [IBMCloud Docs 高可用性 (HA) と VRRP の作業](https://cloud.ibm.com/docs/virtual-router-appliance?topic=virtual-router-appliance-working-with-high-availability-and-vrrp&locale=ja)