Share via


パブリック ネットワーク用 RDP Shortpath のトラブルシューティング

重要

Azure Virtual Desktop 用の TURN でのパブリック ネットワークの RDP Shortpath の使用は、現在プレビュー段階です。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用される法律条項については、「Microsoft Azure プレビューの追加使用条件」を参照してください。

パブリック ネットワークに RDP Shortpath を使用するときに問題が発生する場合は、この記事の情報を使用してトラブルシューティングに役立ててください。

STUN/TURN サーバー接続と NAT の種類の確認

STUN/TURN エンドポイントとの接続を検証し、実行可能ファイル avdnettest.exe を実行して基本的な UDP 機能が機能することを確認できます。 最新バージョンの avdnettest.exe へのダウンロード リンクはこちらです。

ファイルをダブルクリックするか、コマンド ラインから実行することで、avdnettest.exe を実行できます。 接続が成功した場合、出力は以下のようになります。

Checking DNS service ... OK
Checking TURN support ... OK
Checking ACS server 20.202.68.109:3478 ... OK
Checking ACS server 20.202.21.66:3478 ... OK

You have access to TURN servers and your NAT type appears to be 'cone shaped'.
Shortpath for public networks is very likely to work on this host.

重要

プレビュー期間中、TURN は検証ホスト プール内のセッション ホストへの接続にのみ使用できます。 ホスト プールを検証環境として構成するには、検証環境としてホスト プールを定義する方法に関する記事を参照してください。

Log Analytics に記録されたエラー情報

Log Analytics へログインした時に表示される可能性があるエラーのタイトルとその意味を次に示します。

ShortpathTransportNetworkDrop

TCP では、ゲートウェイへのセッション ホストとクライアントへのゲートウェイという 2 つの異なるパスを区別しますが、ゲートウェイがないため、UDP では意味がありません。 TCP でのもう 1 つの違いは、多くの場合、エンドポイントの 1 つ (または、中央の何らかのインフラストラクチャの場合もある) で TCP リセット パケット (RST 制御ビット) が生成され、それにより、TCP 接続のハード シャットダウンが引き起こされることです。 これは、TCP RST (および正常なシャットダウンのための TCP FIN) がオペレーティング システムと一部のルーターによって処理されるものの、アプリケーションでは処理されないことで行われます。 つまり、アプリケーションがクラッシュした場合、Windows は TCP 接続が切断されたことをピアに通知しますが、UDP にはそのようなメカニズムは存在しません。

ConnectionFailedClientDisconnectConnectionFailedServerDisconnect などのほとんどの接続エラーは、タイムアウトではなく TCP リセット パケットによって発生します。 オペレーティング システムまたはルーターが UDP で何かに通知する方法がないため、ピアが切断されたことを知る唯一の方法は、タイムアウト メッセージです。

ShortpathTransportReliabilityThresholdFailure

このエラーは、接続が切断されていないにもかかわらず、特定のパケットが通過しない場合にトリガーされます。 パケットは最大 50 回再送信されるため、可能性は低いですが、次のシナリオで発生する可能性があります。

  1. 接続は、突然動作を停止する前に、非常に高速で安定していた。 パケットが失われたと宣言されるまでに必要なタイムアウトは、クライアントとセッション ホストの間のラウンド トリップ時間 (RTT) によって異なります。 RTT が非常に短い場合、一方の側はパケットの再送信を非常に頻繁に試みることができるので、50 回の試行に達するまでの時間は、通常のタイムアウト値である 17 秒よりも短くなる可能性があります。

  2. パケットが非常に大きい。 送信できる最大パケット サイズには制限があります。 パケットのサイズはプローブされますが、変動したり、縮小したりすることがあります。 その場合、送信されるパケットが大きすぎて、一貫して失敗する可能性があります。

ConnectionBrokenMissedHeartbeatThresholdExceeded

これは RDP レベルのタイムアウトです。 構成の誤りにより、RDP レベルのタイムアウトが UDP レベルのタイムアウトの前にトリガーされる場合があります。