Alibaba Cloudのリージョン間の遅延を確認してみる

全リージョンにECSインスタンスを構築し、ICMP(ping)を使ってLatencyを確認してみます。  Alibaba Cloudのリージョン間通信はインターネット経由(※1)でも高速と聞いていたのですが、本当に遅延も小さく、安定していることを確認できました。

※1 今回の検証ではExpress ConnectやCENは利用せずに、インターネット経由での通信をテストしています。

送信元:日本のISP経由のPCの場合

日本のISP(J:COM)経由でping応答を確認しました。 普通にインターネットを経由して、Alibaba Cloudの19リージョンのECSインスタンスへアクセスします。 ツールはExPingを利用しました。

結果は以下の通り。中国本土との通信はQingdao(青島)を除いて軒並み100msオーバーです。 最短時間と最大時間の幅が結構あるので安定していないと言えます。

送信元:Alibaba Cloudの東京リージョン上のECSインスタンスの場合

次に、Alibaba Cloudの東京リージョン上にWindowsインスタンスを構築し、
そのWindowsインスタンス上にインストールしたExPingからテストします。

東京リージョンについてはVPC内ですが、他のリージョンのECSインスタンスとはインターネットを経由して通信します。

以下が結果です。中国本土の7リージョンとの平均時間は100msを大きく下回っています。 特に最短時間と最大時間の幅が小さく安定していることが注目ポイントですね。


ここであることに気づきます。1ホストに対して3回を1セットでPingを実行しているのですが、9セット目(25/26/27回目)からすべて失敗しています。すべてのリージョンで失敗回数が3回カウントされています。

このとき送信元ホストとリモートデスクトップで正常に操作出来ていること、また、東京リージョンの対象のECSインスタンスとのPingは失敗していません。 どういうことでしょうか?

11セット目まで続けてみます。 状況は変わらず東京リージョン以外のホストと通信できません。

DDoSやその他セキュリティによりブロックされたのか???と確認をすすめたところ、結果、今回のテスト用のECSインスタンスがリリースされていました。ケアレスミスです。

インスタンス作成時、1時間後の自動リリースをスケジュールしており、1時間経過したためリリースされていました。 東京リージョンのECSインスタンスは今回のテスト用とは別に作成していた為通信が継続出来ていました。

比較

以下、日本のISP経由の場合と、Alibaba Cloudの東京リージョン上のECSインスタンスからの応答時間を表にしました。 

  • 中国本土7リージョンについては通常のインターネット経由よりも非常に優秀な結果(応答時間。加えてMinとMaxの幅がほとんどない点)
  • 中国本土以外のリージョンでもMinとMaxの幅がほとんど無い点は特筆すべき点
RegionFrom
ISP
From
ECS
Min
(ms)
Max
(ms)
Avg
(ms)
Min
(ms)
Max
(ms
Avg
(ms)
India Mumbai150167157158174169
Silicon Valley131151136104105105
Virginia184208189166166166
Frankfurt272321278253253253
London263279268245245245
Dubai162204176169169169
Jakarta111130118212213212
Kuala Lumpur93241106747474
Sydney198261210144144144
Singapore8910993707774
Hongkong6212875525252
Hangzhou84148115576058
Shanghai92155119363636
Qingdao759081575757
Beijing95146121595959
Zhangjiakou100168129606060
Hohhot110168135626362
Shenzhen113181141767978
Tokyo223626333

まとめ

今回のテスト結果から、Alibaba Cloudのリージョン間通信は通常のインターネット経由よりも速く、また安定していることが確認できました。 ただ、試行回数が少なかったため、幅広い時間帯でより多くのテストを実施する必要はあります。 

また今回のテストでは以下の手順を手動で実施しました。 

  1. コンソールからインスタンスを生成
  2. コンソールでIPアドレスを確認
  3. 手動でexpingをインストール
  4. 手動でexpingの定義体を作成
  5. expingの実行
  6. 手動でexpingの結果を転記 

これは自動化する余地がありそうです。 Aliyun CLIやAPIでインスタンスを生成し、クラウドアシスタントからping実行のシェルを実行し、最後にログをOSSにアップロードする感じでしょうか。IPアドレスの取得も出来そうですかね。 今度作ってみたいと思います。3日間程度行えればそれなりの信頼性のデータとなりそうですね。

なお、このテストにかかる費用はざっくりと1回50円未満です。burstタイプのECSインスタンスを従量課金で1時間利用させていただきました。