概要
Cloud Proxy は、企業などで制限されたインターネット環境下からAgoraのサービスを利用するにあたり、ファイアウォールなどのセキュリティ機器を超えて通信を実現するためのプロキシ機能です。この Cloud Proxy を利用することで、エンドユーザーのネットワークにおけるセキュリティポリシーにフィットすればAgoraのサービスをご利用いただける可能性が高まります。
Cloud Proxyを利用することで、教育、医療、エンタープライズや政府系サービスなど、制限されたネットワーク環境下からエンドユーザーが参加する可能性のあるイベントにおいて、接続の成功確率を上げることが可能です。
概要
ご利用方法は3パターンあります。
- 自動
- UDP接続(Force UDPモード)
- TCP接続(Force TCPモード)
このうちForce UDPとForce TCPの接続方式においては、最低料金を伴う有償でのご提供となります。金額等に関してはあらかじめ担当営業にご確認ください。
自動
対象SDKバージョンおよびそれ以降では、エンドユーザーのネットワーク環境において仕様上必須のポートでの疎通ができないことを検出した場合、自動でCloud Proxyを経由してTCP443ポートで再度接続を試みる動作となっています。
一般的な組織におけるネットワークセキュリティ特性として、TCP443ポートが解放されていることが多いため、このオプションをSDKのデフォルト動作としています。このパターンで接続ができない場合、エンドユーザーのセキュリティ要件を確認の上、必要に応じてCloud ProxyのIPアドレスをファイアウォール等のネットワーク機器にホワイトリスト登録する、以下のForce UDPモードやForce TCPモードが必要となる場合がございます。
接続先ドメイン
*.agora.io
*.edge.agora.io
*.sd-rtn.com
*.edge.sd-rtn.com
接続先ポート
TCP/443(必須)
接続先IPアドレス
非公開
本機能は、エンドユーザーのネットワーク環境においてUDP等のポート疎通ができない場合、自動でCloud Proxyを経由してTCP443ポートでの疎通を試みる機能となっております。予め利用にあたってのサーバリソース確保をせず、ダイナミックに制御を行うことから、接続先サーバのIPアドレス開示は技術的に不可能となっております。予めご了承の上でご利用ください。
UDP接続(Force UDPモード)
エンドユーザーのネットワーク環境にて、あらかじめ接続先サーバのIPアドレスをホワイトリスト登録する必要がある場合、こちらのオプションをご利用いただくことができます。このモードはForce TCPモードとは異なり、通信における輻輳が発生しづらいことから一般的にForce TCPモードよりも映像音声の品質が高くなる傾向があります。
TCP接続(Force TCPモード)
Force UDPモードと同様に、あらかじめ接続先サーバのIPアドレスをホワイトリスト登録する必要がある場合にご利用いただけます。このモードはForce UDPモードよりもさらに厳しく、IPホワイトリストの登録が必要なことに加え、TCP443ポート以外での通信が禁止されているようなネットワーク環境でのユースケースに適しています。このモードは映像音声のストリームなどにおいてもTCPを使うため、通信の輻輳が発生しやすく、Force UDPモードに比べると映像音声の品質が低下する場合があります。
対象SDKバージョン
Voice/Video/Interactive Live Streaming SDK
- Native SDK : 3.7.0以降
- Web SDK: 4.11.0以降
* 2022年3月現在、RTM・On-Premise Recordingには対応していません。
お申し込み
以下の内容をZendeskのチケットシステムにてご連絡ください。およそ1週間を目処として有効化完了後にお知らせいたします。その際も以下の内容をご教示ください。
※自動についてはお申し込み不要です。
- App ID
- 利用地域 (例. 日本)
- 利用SDK (Native SDK又はWebSDK)
- ユースケース (例. 1対1のビデオ通話、1対多の一方向のライブ配信)
- 最大同時利用チャネル数
- 1チャネルあたりの最大同時利用ユーザ数 (Cloud Proxy 利用/非利用ユーザ数の合計)
- 1チャネルあたりの最大同時 Cloud Proxy 利用ユーザ数
- 画質 (例. 720P)
- 利用パラメータ(Force UDP / Force TCP)
以下にて、内容について詳しくご説明いたします。
AppID
Cloud Proxy機能はAppIDに対して個別に有効化することが可能です。
利用地域
地理的なリージョンです。選択肢としては以下となります。主に利用する地域をもとに選択いただくことができます。
- Mainland China
- Europe
- India
- Japan
- North America
- Southeast Asia
ユースケース、最大同時利用チャネル数、1チャネルあたりの最大同時利用ユーザー数、1チャネルあたりの最大同時 Cloud Proxy 利用ユーザー数、画質
Cloud Proxyの利用数やそのデータ流量見込みを考慮し、あらかじめサーバリソース確保のための調整を行うため、必要な情報となります。わかる範囲でご教示いただけますと幸いです。
利用パラメータ
以下の3または5のいずれかをお選びください。(自動についてはお申し込み不要です)
- Force UDPモード(パラメータ3による明示的利用)
- Force TCPモード(パラメータ5による明示的利用)
事前準備
新規にCloud Proxyをご利用いただくにあたっては、
- 対応SDKバージョンへのアップグレード
- Cloud Proxyを利用するためのAPIコールの導入(以下にてご説明)
- ユーザー様ファイアウォール等機器におけるIPホワイトリストテーブルの設定
の3つを完了する必要がございます。
※自動については、対応SDKバージョンへのアップグレードのみで、APIコールなどは不要です。
ご利用方法
Web SDK
チャンネルに参加する前に、startProxyServer メソッドを呼び出しクラウドプロキシサービスを有効にし、modeパラメータを設定してください。
Force UDPモード (モード3)
UDP プロトコルの Cloud Proxy(Force UDP)モードを使用する。このモードでは、SDKは常にUDPでデータを転送します。
const client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'}); // Enable the cloud proxy. client.startProxyServer(3); // Join a channel. client.join("", "").then(() => { /** ... **/ });
Force TCPモード (モード5)
TCP/TLSプロトコルの Cloud Proxy(Force TCP)モードを使用する。このモードでは、SDKは常にTCP/TLS 443でデータを送信します。
const client = AgoraRTC.createClient({mode: 'live',codec: 'vp8'}); // Enable the cloud proxy. client.startProxyServer(5); // Join a channel. client.join("", "").then(() => { /** ... **/ });
Cloud Proxy を有効にした後、音声通話やビデオ通話、ライブストリーミングが機能するかどうかをテストしてください。Web SDK は client.on("is-using-cloud-proxy") イベントを提供します。ローカルクライアントがメディアストリームを正常にパブリッシュした後、SDKはこのイベントをトリガーして、メディアストリームがCloud Proxy によって転送されたかどうかを確認することができます。
また、Cloud Proxyの利用を終了するには、 チャンネルから退出した後で stopProxyServer メソッドをコールします。より詳しい内容はこちらを参照ください。
Native SDK
チャンネルに参加する前に、setCloudProxy メソッドを呼び出しクラウドプロキシサービスを有効にし、proxyType パラメータを設定してください。
Force UDPモード (モード 1)
UDP プロトコルの Cloud Proxy(Force UDP)モードを使用する。このモードでは、SDKは常にUDPでデータを転送します。
Force TCPモード (モード 2)
TCP/TLSプロトコルの Cloud Proxy(Force TCP)モードを使用する。このモードでは、SDKは常にTCP/TLS 443でデータを送信します。
Cloud Proxyの利用を終了するには、 チャンネルから退出した後で setCloudProxyメソッドを NONE_PROXY(0) のパラメータでコールします。
また、Force UDPモードはCDNへのストリームのプッシュ(push streams to CDN)やチャンネル間のストリームの中継(channel relay)をサポートしていません。より詳しい内容はこちらより、また各プラットフォーム別のメソッドの詳細は以下のリンクを参照ください。
4.x API
- Android:setCloudProxy
- iOS:setCloudProxy
- macOS:setCloudProxy
- Windows: setCloudProxy
3.x API
- Android:setCloudProxy
- iOS:setCloudProxy
- macOS:setCloudProxy
- Windows: setCloudProxy
接続先IPアドレス一覧(IPホワイトリストテーブル)
ホワイトリストに登録するIPアドレス一覧については、Cloud Proxy 接続先IPアドレスリスト(IPホワイトリストテーブル)を参照ください。
注意事項
エンドユーザー様の環境要件によっては、Cloud Proxyを利用しても接続ができない場合もございます。接続ができなかった場合であっても、Cloud Proxyの利用料金について減額ないしキャンセルといったご対応はいたしかねます。
また、ファイアウォール等のエンドユーザー様のネットワーク機器に関するサポートは、サービスを提供するお客様にてご対応いただく部分となり、弊社ないしAgoraでは対応致しかねますのであらかじめご了承ください。