アリババクラウドでのリージョン間接続
概要
クラウドでは複数リージョンを活用しますが、そうするとリージョン間接続の必要が出てきます。
アリババクラウドでもそれは同じですが、その方法と速度についての話。
1. 接続方法の種類
アリババクラウドではリージョン間のサーバやネットワークを接続するサービスとして
- Express Connect
- Cloud Enterprise Network (CEN)
の2つがあります。まずはこれらについて。
1.1. Express Connect
Express Connectには2つの機能あり、VPCコネクション(VPC間接続)とダイレクト・アクセス(外部との専用線接続)の2つの機能があります。
リージョン間接続には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で行いました。
今回対象としたリージョンは以下の3リージョン。
- 杭州 [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. 杭州->深圳
サーバ自体のインターネット接続が問題ではない事を確認するため、中国国内の2リージョン間でも計測します。
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とどちらにするか悩みますね。利用予定のリージョンを考え、ご利用は計画的に。
詳細は公式サイトへどうぞ。
以上