このブログを検索

この記事の内容は、個人の見解、検証の範囲のものであり、誤りがある可能性があります。
個人の責任において情報活用をお願いします。


2023年8月3日木曜日

海外でのワーケーションを考える その6 Google Chrome Remote Desktopの通信詳細を調べる


前回はGoogle Chrome Remote Desktopクライアントからホストへ接続してみました。

今回はGoogle Chrome Remote Desktopの通信について、調べてみたいと思います。

Google Chrome Remote Desktopの通信で利用されるプロトコルやポートについて、以下のドキュメントに記載されています。

Chrome リモート デスクトップを使って他のパソコンにアクセスする

https://support.google.com/chrome/answer/1649523


上記リンクの中に「問題解決のヒント」が記載されており、以下の記載がされています。

以下、抜粋です。

  • インターネット接続が必要
  • アウトバウンド UDP トラフィック
  • インバウンド UDP 応答
  • TCP ポート 443(HTTPS)のトラフィック
  • TCP と UDP のポート 3478(STUN)のトラフィック

UDP、TCP443、そして、STUN (Session Traversal Utilities for NATs) という技術が使われています。STUN (Session Traversal Utilities for NATs) とは何でしょうか?


STUNとは、Web RTC (Web Real-Time Communication)で利用されるNAT越え通信を解消するための仕組みです。以下の記事に詳しく書かれています。

初心者必見!よくわかるWebRTCの仕組み

https://cloudapi.kddi-web.com/magazine/webrtc/understood-webrtc-mechanism


また、以下のnoteの記事にもChrome リモートデスクトップ通信について詳しく説明されています。

Chrome リモートデスクトップの安全性について
https://note.com/machii_kuro/n/n420f3c05ffb9

この仕組みによってルーターに公開サーバーの設定をせずにGoogle Chrome Remote Desktopクライアントとホストの間で通信ができているのですね。


今回の目的は、旅先の東南アジアの滞在先から自宅のPCへリモート接続できることです。接続先PCがWindows10 Homeのため、Google Chrome Remote Desktopの利用を前提に検討したいと思います。

東南アジアから日本のPCへのP2P接続をどのように構築するか。
Google Cloudに何かドキュメントが無いかと思い探していたら以下の記載を見つけました。

Compute Engine での Linux 向け Chrome リモート デスクトップのセットアップ

LinuxでもChrome リモートデスクトップを利用できるようです。Windows版のドキュメントもありますが、コスト面からLinuxで構築したほうがコストを安く抑えられそうです。
Google Cloudはシンガポールとジャカルタにリージョンを展開しているので、どちらかにインスタンスを展開して利用できそうです。
Google Cloud 
Cloud のロケーション

東南アジアの滞在先から日本の自宅へ直接Google Chrome Remote Desktopで接続することもできそうですが、現地の通信状況がわからないため、クラウドが提供する広帯域ネットワークインフラの利用も検討しておいた方が無難に思えます。

次回は、Google Cloud にインスタンスを構築してGoogle Chrome Remote Desktopの動作を確認してみたいと思います。それでは。