どのクラウドのサービス使用すべきか
例えば、AWS AuroraかCloud SQLをどちらを使用するべきかと考えた時に、様々な判断軸で比較をします。
料金、スケーラビリティなどそのフェーズによって様々です。
その判断軸の中で一つ出てくるのが、レイテンシです。
この場合知りたい情報は、クラウド内のサービスを使用した場合とクラウド外のサービスを使用した場合とで、どのくらいレイテンシに差が出るのかということです。
今回はこの件について調査してみました。
クラウド外のレイテンシ
下記の記事を参考にしています。
Public Cloud Inter-region Network Latency as Heat-maps
この記事では、 各クラウドのリージョン毎にラウンドトリップタイム(RTT)を算出し、どのくらいクラウド内と外とで数値が変化するかをヒートマップで出力してくれています。
RTT【 Round-Trip Time 】ラウンドトリップタイム
下記記事より引用
Public Cloud Inter-region Network Latency as Heat-maps
上記の図を見てみると、
gce-asia-northeast-1
から、ec2aws-ap-northeast-1
へのレイテンシは、2ms
になっています。
一方、gce-asia-northeast-1
から、ec2aws-ap-northeast-2
へのレイテンシは、32ms
になっており、急に数値が跳ね上がっています。
他でも同じことが言えることから、
同じクラウド内であっても、リージョンが違えば、レイテンシが増加し、
別のクラウドであっても、リージョンが同じであれば、レイテンシは増加しないことがわかります。
物理的距離
RTT is correlated to the physical distance between the communicating hosts (speed of light) and to the quality of the network
記事内でも触れられている通り、RTTは物理的距離が関係しているため、このような結果になったのではないでしょうか。
クラウド内のレイテンシ
ではクラウド内のレイテンシは実際どのくらいなのでしょうか。
そこを検証してくれているのが下記記事になっています。
AWSアカウント間AZ間レイテンシ - Qiita
EC2からRDSへのレイテンシを調べてくれていて、同じなら0.5msであることがわかります。
下記記事より引用
AWSアカウント間AZ間レイテンシ - Qiita
何に注意すべきか
上記より、現状の結論は、別クラウドに関係なく、リージョンに注意すべきです。
別クラウドであっても、リージョンを同じにすれば、レイテンシを抑えることができるとわかりました。
厳密な比較ではないですが、非常に参考になる数値だと思います。
その他参考になった記事
逆引き GKE ネットワーク編 - Qiita
Compute Engine のリージョン選択に関するおすすめの方法 | ソリューション | Google Cloud