Alibaba Cloud でのリージョン間接続とその速度

アリババクラウドでのリージョン間接続
------

# 概要

クラウドでは複数リージョンを活用しますが、そうするとリージョン間接続の必要が出てきます。
アリババクラウドでもそれは同じですが、その方法と速度についての話。


# 1. 接続方法の種類

アリババクラウドではリージョン間のサーバやネットワークを接続するサービスとして

- Express Connect
    - https://jp.alibabacloud.com/product/express-connect
- Cloud Enterprise Network (CEN)
    - https://jp.alibabacloud.com/product/cen

の２つがあります。まずはこれらについて。

## 1.1. Express Connect

Express Connectには２つの機能あり、VPCコネクション（VPC間接続）とダイレクト・アクセス（外部との専用線接続）の２つの機能があります。
リージョン間接続にはVPCコネクションを使用します。

利用にはアリババクラウドが敷設した専用線の帯域を購入する形となり月単位で契約をする必要があります。
最低契約帯域は10Mbpsで、中国－東京間の10Mbps契約料金は月額295600円です。

## 1.2. Cloud Enterprise Network (CEN)
Cloud Enterprise Networkは、トランジットゲートウェイのような物で複数のVPCをハブ型にネットワーク接続し複数のVPC間で相互通信を可能にします。
こちらもリージョン間での接続を行うには帯域幅を購入する必要があります。
最低契約帯域は1MbpsなのでExpress Connectよりは敷居が低いですが、中国－東京間の10Mbps契約料金は月額30360円です。
なお、同一リージョン間のVPC同士を接続するためにも使用可能です。これには帯域幅の購入は必要ありません。


## 1.3. どちらも個人用には厳しい

上記の通り、いずれも個人的に気軽に使える金額ではありません。
なんとか他の方法が無いか考えますが、インターリージョンVPCピアリングのような料金体系のサービスは無いようです。
拠点間を仮想ルータインスタンスでトンネルを張るしかなさそう。
AWSで長年これをやってきて実績もあるし、東京リージョンと中国リージョンの間でこれを実装しその速度と実用性を考えます。


# 2. 速度計測

## 2.1. 実装方式

ECS仮想クラウドサーバ(ecs.g5.large 200Mbps)を各リージョンへ作成し、メッシュ型で接続します。
速度計測はiperfで行いました。
今回対象としたリージョンは以下の３リージョン。

- 杭州 [192.168.7.11]
- 深圳 [192.168.7.12]
- 東京 [192.168.7.13]

## 2.2. 杭州－＞東京

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.13 port 5001 connected with 192.168.7.11 port 33354
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.1 sec   228 MBytes   190 Mbits/sec
[  5]  0.0-10.3 sec   185 MBytes   150 Mbits/sec
[  4]  0.0-20.3 sec   190 MBytes  78.5 Mbits/sec
[  5]  0.0-10.6 sec  36.2 MBytes  28.7 Mbits/sec
[  4]  0.0-20.3 sec   248 MBytes   103 Mbits/sec
[  5]  0.0-10.3 sec  78.2 MBytes  63.6 Mbits/sec
[  4]  0.0-20.3 sec   184 MBytes  75.8 Mbits/sec
[  5]  0.0-10.6 sec  72.2 MBytes  57.4 Mbits/sec
[  4]  0.0-20.4 sec   120 MBytes  49.1 Mbits/sec
[  5]  0.0-30.5 sec  65.2 MBytes  17.9 Mbits/sec
[SUM]  0.0-30.5 sec   257 MBytes  70.6 Mbits/sec
```

まずまずの結果ですね。


## 2.3. 東京－＞杭州

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.11 port 5001 connected with 192.168.7.13 port 43838
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-13.6 sec   896 KBytes   540 Kbits/sec
[  5]  0.0-24.4 sec   768 KBytes   258 Kbits/sec
[  4]  0.0-35.9 sec   768 KBytes   175 Kbits/sec
[  5]  0.0-45.3 sec   768 KBytes   139 Kbits/sec
[  4]  0.0-57.4 sec  1.00 MBytes   146 Kbits/sec
[  5]  0.0-68.2 sec   896 KBytes   108 Kbits/sec
[  4]  0.0-79.6 sec   640 KBytes  65.9 Kbits/sec
[  5]  0.0-92.7 sec   896 KBytes  79.2 Kbits/sec
[  4]  0.0-104.0 sec   738 KBytes  58.1 Kbits/sec
[  5]  0.0-115.4 sec   896 KBytes  63.6 Kbits/sec
[SUM]  0.0-115.4 sec  8.10 MBytes   589 Kbits/sec
```

これはしんどい＞＜


## 2.4. 深圳－＞東京

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.13 port 5001 connected with 192.168.7.12 port 57248
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.2 sec   165 MBytes   135 Mbits/sec
[  5]  0.0-10.4 sec   164 MBytes   132 Mbits/sec
[  4]  0.0-10.2 sec   108 MBytes  88.7 Mbits/sec
[  5]  0.0-20.5 sec  76.6 MBytes  31.4 Mbits/sec
[  4]  0.0-30.9 sec  57.2 MBytes  15.6 Mbits/sec
[  5]  0.0-41.2 sec  71.5 MBytes  14.6 Mbits/sec
[  4]  0.0-51.1 sec  41.6 MBytes  6.83 Mbits/sec
[  5]  0.0-61.1 sec   113 MBytes  15.5 Mbits/sec
[  4]  0.0-71.3 sec   150 MBytes  17.6 Mbits/sec
[  5]  0.0-81.4 sec   199 MBytes  20.5 Mbits/sec
[SUM]  0.0-81.4 sec   816 MBytes  84.1 Mbits/sec
```

こちらもぼちぼち。


## 2.5. 東京－＞深圳

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.12 port 5001 connected with 192.168.7.13 port 46508
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-14.0 sec   617 KBytes   363 Kbits/sec
[  5]  0.0-26.0 sec   768 KBytes   242 Kbits/sec
[  4]  0.0-35.8 sec   768 KBytes   176 Kbits/sec
[  5]  0.0-46.2 sec   768 KBytes   136 Kbits/sec
[  4]  0.0-59.9 sec  1.00 MBytes   140 Kbits/sec
[  5]  0.0-72.1 sec  1.00 MBytes   116 Kbits/sec
[  4]  0.0-82.7 sec   896 KBytes  88.7 Kbits/sec
[  5]  0.0-94.7 sec   640 KBytes  55.4 Kbits/sec
[  4]  0.0-107.0 sec   896 KBytes  68.6 Kbits/sec
[  5]  0.0-116.7 sec   896 KBytes  62.9 Kbits/sec
[SUM]  0.0-116.7 sec  8.10 MBytes   582 Kbits/sec
```

これまたしんどい＞＜


## 2.6. 杭州－＞深圳

サーバ自体のインターネット接続が問題ではない事を確認するため、中国国内の２リージョン間でも計測します。

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.12 port 5001 connected with 192.168.7.11 port 47460
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.1 sec   252 MBytes   209 Mbits/sec
[  5]  0.0-20.2 sec   236 MBytes  98.1 Mbits/sec
[  4]  0.0-30.3 sec   229 MBytes  63.4 Mbits/sec
[  5]  0.0-40.3 sec   236 MBytes  49.2 Mbits/sec
[  4]  0.0-50.4 sec   240 MBytes  39.9 Mbits/sec
[  5]  0.0-60.5 sec   249 MBytes  34.6 Mbits/sec
[  4]  0.0-70.6 sec   238 MBytes  28.3 Mbits/sec
[  5]  0.0-80.6 sec   238 MBytes  24.7 Mbits/sec
[  4]  0.0-90.7 sec   237 MBytes  21.9 Mbits/sec
[  5]  0.0-100.8 sec   239 MBytes  19.9 Mbits/sec
[SUM]  0.0-100.8 sec  2.34 GBytes   199 Mbits/sec
```


## 2.7. 深圳－＞杭州

```
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
[  4] local 192.168.7.11 port 5001 connected with 192.168.7.12 port 54276
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.1 sec   257 MBytes   213 Mbits/sec
[  5]  0.0-20.2 sec   227 MBytes  94.0 Mbits/sec
[  4]  0.0-30.3 sec   245 MBytes  67.8 Mbits/sec
[  5]  0.0-40.4 sec   230 MBytes  47.6 Mbits/sec
[  4]  0.0-50.5 sec   250 MBytes  41.6 Mbits/sec
[  5]  0.0-60.6 sec   234 MBytes  32.4 Mbits/sec
[  4]  0.0-70.7 sec   227 MBytes  27.0 Mbits/sec
[  5]  0.0-80.8 sec   227 MBytes  23.6 Mbits/sec
[  4]  0.0-90.9 sec   241 MBytes  22.2 Mbits/sec
[  5]  0.0-100.9 sec   234 MBytes  19.5 Mbits/sec
[SUM]  0.0-100.9 sec  2.32 GBytes   197 Mbits/sec
```



# 3. 差が激しい。何故遅いのか。

## 3.1. 通信方向と速度

中国国内同士は双方向共に問題無い事が確認できます。

中国－＞東京もおおむね問題無いようです。

東京－＞中国が極端に遅いですね。
金盾の影響なのか通信需要によるものなのかは不明ですが、
これが性能低下の原因になっているようです。


## 3.2. 何故遅いのか

それは経路をtracerouteするとわかります。

```
 1  * * *
 2  10.106.205.17 (10.106.205.17)  7.246 ms 10.106.205.21 (10.106.205.21)  7.903 ms  8.047 ms
 3  10.106.203.154 (10.106.203.154)  1.026 ms  0.940 ms 10.106.207.30 (10.106.207.30)  1.059 ms
 4  116.251.73.150 (116.251.73.150)  1.187 ms  1.310 ms 116.251.67.190 (116.251.67.190)  1.291 ms
 5  101.102.204.5 (101.102.204.5)  0.865 ms 101.110.27.97 (101.110.27.97)  1.106 ms 101.102.204.5 (101.102.204.5)  0.898 ms
 6  * * *
 7  202.97.27.157 (202.97.27.157)  54.159 ms  54.120 ms  54.274 ms
 8  * 202.97.34.73 (202.97.34.73)  63.334 ms *
 9  softbank221111202062.bbtec.net (221.111.202.62)  55.334 ms 202.97.65.62 (202.97.65.62)  73.004 ms softbank221111202062.bbtec.net (221.111.202.62)  56.751 ms
10  202.97.27.157 (202.97.27.157)  55.944 ms  54.337 ms 119.147.223.122 (119.147.223.122)  75.619 ms
11  183.2.182.118 (183.2.182.118)  76.553 ms 183.2.182.114 (183.2.182.114)  76.167 ms 202.97.34.73 (202.97.34.73)  61.871 ms
12  202.97.65.58 (202.97.65.58)  73.397 ms 202.97.65.62 (202.97.65.62)  73.565 ms 202.97.65.98 (202.97.65.98)  75.698 ms
13  * 42.120.242.218 (42.120.242.218)  91.068 ms *
14  183.2.182.114 (183.2.182.114)  76.613 ms 119.38.215.17 (119.38.215.17)  76.533 ms 183.2.182.114 (183.2.182.114)  76.979 ms
15  * 183.2.180.90 (183.2.180.90)  78.777 ms 183.2.180.38 (183.2.180.38)  76.835 ms
16  * * *
17  119.23.190.103 (119.23.190.103)  78.996 ms 119.38.215.13 (119.38.215.13)  77.761 ms *
```

アリババクラウドのリージョン同士の通信ですが、ChinaNetなど外部ASを経由していることがわかります。
これではいつもの遅い中国のインターネットですから当然の結果であります。
ちなみに中国に限らず、国際リージョン間でも同じ結果でした。


## 3.3. 解決するには

自社専用線の帯域を売っているExpress ConnectやCENとの差別化なのかもしれませんが、リージョン間の通信は自社網内を通すようにしてもらうしかありません。
例えばAWSではたとえグローバルIPアドレス同士の通信であっても、リージョン間通信は全て自社の中で通信が完結します。
これは低遅延・高速・安全を実現していて、アリババクラウドにおいても皆が待ち望む対応と思われます。
今後に期待しましょう。


# 4. まとめ

現状、インスタンス同士でリージョン間接続をするのは厳しいようです。
自分は個人用なのでこれでがんばっていますが、業務用の場合は推奨しません。

従来はExpress Connectのコンボでデータセンタとの専用線接続とリージョン間のVPC接続を行ってきましたが、現在はCENの利用が良いでしょう。
Express Connect ダイレクト・アクセスでデータセンタと接続して、クラウド内はCENで接続する方がスマートで拡張性が高いと思います。

しかしです。
2019年1月31日までの期間限定ですが、Express Connect VPCコネクションがセール中です。
中国－日本間 10Mbpsが147800円（月額・税抜）と半額になるようです。
この価格だとCENとどちらにするか悩みますね。利用予定のリージョンを考え、ご利用は計画的に。
詳細は<A HREF="https://jp.alibabacloud.com/notice/campaign-notice-20181210" target=_blank>公式サイト</A>へどうぞ。


以上