出口の Cato PoP を変更する
こんにちは。
株式会社フーバーブレイン SE の香取です。
仮説を立てたら検証です。3分PoC の環境を活かして検証を行います!
目的地の最寄り PoP を調査
まず目的地を調べる必要があります。IPアドレスから大体の位置を特定してくれるサービスを利用します。検証用サービスの位置は「アメリカ合衆国カンザス州」と出ました。周辺で Cato PoP のある都市を探します。
ありました。南にダラス! ここの PoP を使用したいと思います。
Cato Cloud の設定
PoP が決まりましたので、ネットワークルールを設定します。管理ポータルで「お手軽 5ステップ」です。
A1. 出口PoPを追加する
Cato Cloud は標準で3つまで「固定IPアドレスを持つ出口 PoP」を設定できます。サービス側でアクセス制御をする際などに使用します。
検証用に「Dallas」を追加しました!
B1. ルールを追加する
特定のサービスへのアクセス時だけ、Dallas PoP を利用したいです。ネットワークルールを追加します。
図では 8番が「WAN → インターネット」の基本ルールです。この上に新しいルールを追加します。ルールの右側にある「…」をクリックし「Add Internet Rule Above」を選択します。
B2. What を設定する
「どのサービス?」のことです。追加したルール行の What列にある「Add」 ボタンをクリックすると設定画面が表示されます。
検証など一時的な利用を除き、IPアドレスだけでサービスを識別するのは問題があります。サービス側で変更される可能性があるためです。
そのため、Cato Cloud には9つのサービス識別方法があります。
(2) には多くのアプリケーション(クラウドサービス)が登録されています。
しかし、国内発のサービス(例:当社の Eye 247 等)は、あまり登録が無く (2) では指定できないことがあります。
その場合は別途 Custom Applications を定義し、(4) を使用します。
今回は一時利用なので (6) のIPアドレス指定を使います。
B3. From を設定する
ルールの適用先です。これも複数の方法で指定できます。
検証では (1) で「All VPN Users」というグループを選択しています。
B4. ルーティングを設定する
ルール行の下の方にある「+ Routing」をクリックすると、ルーティング設定が表示されます。Route/NAT で「NAT」を選びます。
そして、隣の「Add」で、出口PoP を選択します。
お疲れさまでした! 画面上部にある SAVE ボタンを押して、管理ポータルでの設定は完了です。3分PoC環境で検証を行います。
検証
直接の接続で、tcptraceroute を実行してみます。
直接接続
$ tcptraceroute AAA.BBB.CCC.DDD 443 -n -w 1
Selected device eth0, address 192.168.87.179, port 56155 for outgoing packets
Tracing the path to AAA.BBB.CCC.DDD on TCP port 443 (https), 255 hops max
1 192.168.87.177 0.145 ms 0.205 ms 0.181 ms
2 192.168.1.1 15.161 ms 14.842 ms 15.236 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 XXX.XXX.XXX.XXX 32.534 ms 25.541 ms 27.439 ms
12 * * *
13 AAA.BBB.CCC.DDD [open] 24.552 ms 24.470 ms 25.502 ms
13ホップです。対象サービスの RTT は小さく、海外のサーバにアクセスしている様な気がしません。
Dallas PoP
$ tcptraceroute AAA.BBB.CCC.DDD 443 -n -w 1
Selected device tun0, address 10.41.83.50, port 49037 for outgoing packets
Tracing the path to AAA.BBB.CCC.DDD on TCP port 443 (https), 255 hops max
1 AAA.BBB.CCC.DDD [open] 23.996 ms 20.706 ms 18.759 ms
もう少し RTT が減ると思ったのですが、誤差の範囲でした。
それにしても、1ホップ? これが TCP Proxy ですね。だから、きっと ICMP では異なる結果になるはずです。traceroute を使ってみます。
$ traceroute AAA.BBB.CCC.DDD -n -m 255 -w 1
traceroute to AAA.BBB.CCC.DDD (AAA.BBB.CCC.DDD), 255 hops max, 60 byte packets
1 XXX.XXX.XXX.XXX 149.554 ms 149.499 ms 149.409 ms
2 XXX.XXX.XXX.XXX 149.477 ms 149.470 ms XXX.XXX.XXX.XXX 163.061 ms
3 XXX.XXX.XXX.XXX 149.440 ms 149.586 ms 149.558 ms
4 * * *
...(終わりません)
やっぱり!
しかし、直接接続と Dallas PoP で全く差がつきません。
検証対象のサービスは超大手のものです。全世界向けに 1つのIPアドレスでサービスをしているのですから、恐らく Cato Cloud と同様に TCP Proxy や強力なバックボーンを持っているのでしょう。
これで終わっては検証の失敗です。明らかな海外サーバで再度検証を行います。archive.ubuntu.com(出口PoP は London)です。
直接接続(archive.ubuntu.com)
$ tcptraceroute archive.ubuntu.com -n -w 1
Selected device eth0, address 192.168.87.179, port 36081 for outgoing packets
Tracing the path to archive.ubuntu.com (91.189.88.152) on TCP port 80 (http), 30 hops max
1 192.168.87.177 0.463 ms 0.226 ms 0.193 ms
2 192.168.1.1 15.564 ms 14.287 ms 15.734 ms
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 XXX.XXX.XXX.XXX 121.850 ms 120.736 ms 120.601 ms
12 XXX.XXX.XXX.XXX 20.976 ms 20.950 ms 20.536 ms
13 XXX.XXX.XXX.XXX 123.403 ms 124.714 ms *
14 * * *
15 * * *
16 * * *
17 * * *
18 91.189.88.152 [open] 252.752 ms 250.872 ms 251.378 ms
ものすごく遅いです!(嬉しい!!)
遠隔地であり RTT が大きいです。余談ですが Ubuntu をインストールした時には、まず最初に /etc/apt/sources.list を編集して国内ミラーサーバを使用する様にしましょう。
London PoP(archive.ubuntu.com)
$ tcptraceroute archive.ubuntu.com -n -w 1
Selected device tun0, address 10.41.72.11, port 43225 for outgoing packets
Tracing the path to archive.ubuntu.com (91.189.88.152) on TCP port 80 (http), 30 hops max
1 91.189.88.152 [open] 22.655 ms 20.090 ms 21.558 ms
速い! 10倍速!!
せっかくなので Tokyo PoP の場合も調べてみたいと思います。
Tokyo PoP(archive.ubuntu.com)
$ tcptraceroute archive.ubuntu.com -n -w 1
Selected device tun0, address 10.41.71.114, port 51845 for outgoing packets
Tracing the path to archive.ubuntu.com (91.189.88.152) on TCP port 80 (http), 30 hops max
1 91.189.88.152 [open] 29.520 ms 23.987 ms 26.421 ms
んん? London PoP とほぼ同じです。
「Tokyo PoP を経由するものの、最終的な出口は一緒」ということですね。
結果
残念ながら、この仮説は敗れてしまいました。
遠隔地のサービスについて「出口 PoP」を特に設定する必要は無く、Cato Cloud を利用するだけでパフォーマンスを向上できます。
また、WAN に関してもクラウドアクセラレーションは有効です。
例えば「海外データセンターにあるアプリケーションを WAN 経由で!」という場合など、大きな効果が期待できます。
この様な形で次回以降も仮説を立て、検証をして行きます。
今後ともよろしくお願いいたします。
この記事が気に入ったらサポートをしてみませんか?