以前までDiscordはRTCにはi3dとGoogle Cloudを、CDNとしてCloudflareを使っていました。
通話以外は完全にGoogle Cloudを利用しており、CDNとしてCloudflareを利用してCacheしている形です。
Google Cloudのエンドポイントが露呈している点として、Discordへのファイルのアップロードが挙げられ、これは以前はCloudflare経由で行われていましたが、Nitroのリリースにあたり、Cloudflareのアップロードサイズ制限を超える必要があり、Google Cloud Storageへの直接のアップロードに変更されました。
discord-attachments-uploads-prd.storage.googleapis.com
通話はこれまではi3dとGoogle Cloudが利用されていました。
i3dはゲームのホスティングによく利用されており(Rainbow Six Siegeのサーバなどに利用されていた)、ユーザとの遅延を減らすことに注力しています。
そのため、通話と相性がよいです。
Google CloudはDiscordがバックエンドで主に利用しているため、大口顧客でDiscountが効くため利用していると思われます。
これまでのRTCサーバ
通話に利用されているサーバは、PCで通話に入った状態で左下の「通話中」をクリックすることで確認できます。

これまで存在したのはjapan[4桁の数字] またはjapan[5桁の数字]です。
4桁がi3dで、5桁がGoogle Cloudです。
例えば経路が見たいときは、表示されているサーバ名にdiscord.ggをつければ確認できます。
上の画像の場合は、japan2158.discord.ggです。
新たに追加されたCloudflareのRTCサーバ
最近新しくCloudflareが追加されました。
Cloudflareのサーバは以下のような表記になります。

なぜCloudflareを使い始めたのかはわかりません。
画面共有ではこれまでのと変わらずi3dが利用されます。
Google Cloudでは転送料金が高いため、i3dの方がコスト面で有利そうです。
わざわざCloudflareに移行?併用?する理由については、注視を続けます。
Cloudflareの場合、discord.ggを付与しても解決が行えません。
代わりにdiscord.mediaを付与することで解決が可能です。
上の画像の場合、c-nrt08-5d490711.discord.mediaです。
こちらはIPv6でも解決可能です。
CloudflareはProxyとして利用しているだけな気もしますが、ついにDiscordがIPv6対応の準備をしているのかもしれません。
これは、環境的にIPv6のほうが安定していることが多い日本のユーザ的には嬉しいことです。
最後に
今後もDiscordの動向を注視し、アップデートがあれば追記していきます。
この記事に書いてある内容について何らかのご意見やご要望がある方は以下のメールアドレスまでご連絡ください
[email protected]