Windows インスタンスへのリモート接続は、さまざまな理由で失敗することがあります。このトピックでは、接続失敗の原因を特定し、問題を解決する方法について説明します。
セルフサービスのトラブルシューティングツールの使用
Alibaba Cloud のセルフサービス・トラブルシューティングツールを使用すると、セキュリティグループの設定、インスタンスの内部ファイアウォール、および一般的なアプリケーションポートのリスナーのステータスを迅速に確認できます。このツールは詳細な診断レポートを提供します。
をクリックしてセルフサービスのトラブルシューティングページに移動し、対象のリージョンに切り替えます。
セルフサービス・トラブルシューティングツールで問題を特定できない場合は、以下の手順に従って手動でトラブルシューティングを行います。
手動でのトラブルシューティング
Elastic Compute Service (ECS) インスタンスのステータスを確認し、Cloud Assistant を使用して Windows インスタンスにコマンドを送信するか、VNC を使用してインスタンスにログオンします。
手順1:ECS インスタンスのステータスの確認
ECS インスタンスがサービスを提供するには、実行中 状態である必要があります。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
手順2:VNC を使用した ECS インスタンスへの接続
Cloud Assistant が利用できない、または要件を満たさない場合は、Alibaba Cloud VNC ツールを使用してリモート接続できます。次の手順を実行します。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
リモート接続 ダイアログボックスで 他のログイン方法を表示 をクリックし、次に VNC の横にある 今すぐサインイン をクリックします。
インスタンスのオペレーティングシステムにログオンします。
ページの左上隅で、 をクリックします。
インスタンスのログオンパスワードを入力して Enter キーを押します。
説明Windows インスタンスのデフォルトのアカウントは Administrator です。
手順3:Cloud Assistant を使用したコマンドの送信
Cloud Assistant を使用して Windows インスタンスにコマンドを送信できます。次の手順を実行します。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
特定のエラーメッセージがない場合
リモート接続がエラーメッセージを返さずに失敗し、ECS インスタンスが 実行中 の状態である場合は、次の手順に従ってトラブルシューティングを行います。
手順1:Workbench を使用したリモート接続のテスト
Alibaba Cloud が提供する Workbench を使用してリモート接続できます。リモート接続に失敗した場合、Workbench は特定のエラーメッセージと解決策を返します。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
[接続] ダイアログボックスで、[Workbench] の横にある [今すぐサインイン] をクリックします。
Workbench は、対象インスタンスへのログオンに必要な基本情報を自動的に入力します。情報が正しいことを確認し、ユーザー名と認証情報を入力してください。その後、結果に基づいて次のいずれかのアクションを実行します。
それでもログオンできない場合、Workbench はエラーメッセージと解決策を返します。画面の指示に従って問題を解決し、再度接続を試みてください。VNC を使用してインスタンスに接続し、Workbench の使用時に発生する一般的な問題を解決できます。
Workbench でインスタンスにログオンできても、ローカルコンピューターからログオンできない場合は、インスタンスのリモート接続ポートとサービスは正常に機能しています。問題はローカルクライアントにある可能性が高いため、ローカルクライアントのトラブルシューティングを行う必要があります。
手順2:ブラックホールフィルタリング通知の確認
インスタンスに対してブラックホールフィルタリングがトリガーされたことを示す通知がないか確認します。この機能は、インスタンスへのすべてのインターネットアクセスをブロックします。詳細については、「Alibaba Cloud ブラックホールポリシー」をご参照ください。
手順3:ポートとセキュリティグループの確認
セキュリティグループルールが接続をブロックしていないか確認します。次の手順を実行します。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
[インスタンス] ページで、対象インスタンスの ID をクリックします。
[セキュリティグループ] タブをクリックします。[セキュリティグループリスト] セクションで、管理するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
セキュリティグループルールの方向を選択します。
[セキュリティグループの詳細] タブで、以下のいずれかの方法で セキュリティグループルールを追加します。
方法1:セキュリティグループルールを迅速に追加する
[Windows インスタンスへの RDP 接続] を選択します
方法2:セキュリティグループルールを手動で追加する
[アクション]: 許可
[優先度]: 1 (値が小さいほど優先度が高くなります。)
[プロトコルタイプ]: カスタム TCP
: 0.0.0.0/0 (すべての IP アドレスを表します)
: これを RDP ポート (デフォルト 3389) に設定します。
リモートデスクトップに
IP:port形式で接続します。[リモート デスクトップ接続] ダイアログボックスの [コンピューター] テキストボックスに、
IP:ポート形式 (例:192.168.0.1:4389) でアドレスを入力し、[接続] をクリックします。次のコマンドを実行して、ポートが正常に機能しているかテストします。
telnet <IP> <Port>説明<IP> は Windows インスタンスの IP アドレスを指定します。
<Port> は Windows インスタンスの RDP ポート番号を指定します。
たとえば、
telnet 192.168.0.1 4389コマンドを実行すると、出力は通常、以下のようになります。Trying 192.168.0.1 ... Connected to 192.168.0.1 4389. Escape character is '^]'ポートのテストに失敗した場合は、「ping コマンドは成功するがポートに到達できない場合のポート可用性の確認」を参照してトラブルシューティングを行ってください。
手順4:ファイアウォール設定の確認
この手順を実行するには、インスタンスのファイアウォールを変更する権限が必要です。ファイアウォールが有効な場合は、その設定ポリシーを調整する必要がある場合があります。詳細については、「Windows システムファイアウォールの管理」をご参照ください。
メニューバーで、 を選択します。
[表示方法] を [小さいアイコン] に設定し、[Windows ファイアウォール] をクリックします。
[Windows ファイアウォール] ウィンドウで、[詳細設定] をクリックします。
ファイアウォールを有効にします。
[セキュリティが強化された Windows ファイアウォール], ウィンドウで、[Windows ファイアウォールのプロパティ] をクリックします。
[オン (推奨)]を選択し、[適用][(][A)]をクリックします。
[ドメイン プロファイル]、[プライベート プロファイル]、および[パブリック プロファイル]の各タブでファイアウォールを有効にすることをお勧めします。
[セキュリティが強化された Windows ファイアウォール] ウィンドウで、[受信の規則] をクリックします。右側のペインで一番下までスクロールし、[リモート デスクトップ - ユーザー モード][(][TCP 受信)] を右クリックして、[規則の有効化] を選択します。
手順5:リモート デスクトップ サービスの確認
Windows サーバーでリモート デスクトップ サービスが有効になっているか確認します。
この手順では、Windows Server 2012 を例として使用します。手順は、お使いのオペレーティングシステムのバージョンによって異なる場合があります。
スタートメニューを右クリックし、[システム] をクリックします。
[システム] ウィンドウで、[リモート設定] をクリックします。
[リモートデスクトップ] セクションで、[このコンピューターへのリモート接続を許可する (L)][][][] を選択し、[OK] をクリックします。
[リモート デスクトップ サービス] サービスを起動します。
[スタート] メニューで、[管理ツール > コンポーネント サービス > サービス (ローカル)] を選択します。右側のペインで [Remote Desktop Services] サービスを探し、その状態を確認します。サービスが実行中でない場合は、起動します。
リモート デスクトップ サービスが依存するドライバーとサービスをロードします。
リモート デスクトップ サービスが依存する主要なサービスが誤って無効にされ、接続失敗を引き起こすことがあります。これを解決するには、次の確認を行います。
「スタート」メニューを右クリックして[実行] をクリックし、
msconfigと入力してから、[OK] をクリックします。[システム構成] ダイアログボックスで、[全般] タブをクリックし、[通常の [スタート][アップ(]N)] を選択して、[OK] をクリックします。
手順6:リモートターミナルサービス設定の確認
リモートターミナルサービスの設定が正しくないために、Windows インスタンスのリモートデスクトップにアクセスできない場合があります。
この例では、Windows Server 2008 を使用しています。他の Windows Server バージョンでの操作も同様です。
問題1:自己署名証明書の破損
ローカルクライアントが Windows 7 以降のバージョンの Windows を実行している場合、ECS インスタンスとのトランスポート層セキュリティ (TLS) 接続を確立しようとします。ECS インスタンスで TLS 接続に使用される自己署名証明書が破損している場合、リモート接続は失敗します。
[スタート] → [管理ツール] → [リモート デスクトップ サービス] → [リモート デスクトップ セッション ホストの構成] を選択します。
「接続」セクションで、[RDP-Tcp] を右クリックし、[プロパティ]をクリックします。
[RDP-Tcp のプロパティ] ウィンドウで、[セキュリティ レイヤー] を [RDP セキュリティ レイヤー] に設定し、[OK] をクリックします。
「アクション」セクションで、[接続を無効化] をクリックし、次に [接続を有効化] をクリックします。
問題2:RDP 接続の無効化
netstat コマンドを実行すると、ポートが期待どおりにリッスンしていないことが示されます。
VNC を使用して Windows インスタンスにログオンすると、リモートデスクトッププロトコル (RDP) 接続が無効になっていることがあります。 この場合、[RDP-Tcp 接続] を再度有効にできます。 詳細については、「問題 1: 破損した自己署名証明書」をご参照ください。
問題3:ターミナルサーバーの役割の設定
リモートデスクトップを使用して Windows インスタンスにアクセスすると、「Remote Desktop Users グループ、またはこれらの権限を持つ他のグループのメンバーでない場合、あるいは Remote Desktop Users グループにこれらの権限がない場合は、これらの権限を手動で付与する必要があります」 というエラーメッセージが表示されることがあります。
この問題は、サーバーに有効なライセンスがない状態で [Terminal Server] がインストールされている場合に発生します。この問題を解決するには、次のいずれかの解決策を使用します。
Windows サーバーへのリモート接続中に「ライセンスを提供するための利用可能なリモートデスクトップライセンスサーバーがありません」というエラーが発生する
Windows インスタンスへのリモートログオン中に「リモートデスクトップユーザーグループにはこの権限がありません」というエラーが発生する
ターミナルサーバーの役割が問題の原因である場合は、サーバーにログオンし、[コンピューター] を右クリックして、[役割 > 役割サービスの削除] を選択します。
手順7:ネットワークの確認
Windows インスタンスにリモート接続できない場合は、まずネットワークが正常に機能しているか確認します。
異なるネットワークセグメントや通信事業者など、他のネットワーク環境から接続をテストして、問題がローカルネットワークとサーバーのどちらにあるのかを判断します。
問題がローカルネットワークまたは通信事業者にある場合は、ローカルの IT スタッフまたは通信事業者に連絡して解決を依頼してください。
ネットワークアダプターまたはそのドライバーが正常に機能していない場合は、ネットワークアダプターが有効になっていることを確認し、ドライバーを更新してください。次の手順を実行します。
ローカルクライアントで
pingコマンドを使用して、インスタンスへのネットワーク接続性をテストします。ネットワークの問題が発生した場合は、「パケットキャプチャツールを使用したネットワークパケットのキャプチャ」を参照して、トラブルシューティングを行ってください。
ping パケットが失われたり、ping コマンドが失敗したりした場合は、「MTR を使用したネットワークパスの分析」を参照して、トラブルシューティングを行ってください。
断続的なパケット損失が発生し、ECS インスタンスのネットワークが不安定な場合は、「リンクの中断」を参照して問題を解決してください。
インスタンスから ping コマンドを実行してクライアントへの接続性をテストする際に [一般エラー] が表示された場合は、問題を解決するために 「Windows インスタンスからパブリック IP アドレスに ping を実行すると『一般エラー』が報告される」をご参照ください。
手順8:CPU 負荷、帯域幅、メモリ使用量の確認
CPU 負荷が高い、帯域幅が不足している、またはメモリが不足していることが原因で、Windows インスタンスへのリモート接続が失敗する場合があります。
CPU 負荷に応じて適切な操作を選択します。
CPU 負荷が高くない場合は、次の確認に進みます。
CPU 負荷が高い場合は、この手順の方法を使用して問題を解決します。
CPU 負荷が高いと思われる場合は、[インスタンス詳細] ページのターミナルからインスタンスにログオンし、Windows Update がバックグラウンドで実行されているかどうかを確認します。Windows Update が実行されている場合、CPU 負荷が高いのは正常な動作です。更新が完了するまでお待ちください。
インスタンス上のアプリケーションが高いディスク I/O、頻繁なネットワークリクエスト、または計算集約型のワークロードを引き起こす場合、高い CPU 負荷が予想されます。この場合、インスタンスタイプをアップグレードしてリソースのボトルネックを解決できます。
説明高い CPU 負荷の解決方法の詳細については、「Windows インスタンスの高い CPU 使用率のトラブルシューティング」をご参照ください。
前述の原因を除外しても CPU 使用率が異常に高いままである場合、インスタンスがマルウェアに感染している可能性があります。たとえば、クリプトマイニングマルウェアは CPU リソースを悪意を持って消費し、インスタンスの遅延、応答の低下、さらには到達不能を引き起こす可能性があります。この問題のトラブルシューティングと対処方法の詳細については、「クリプトマイニングプログラムのスキャンと対処」をご参照ください。インスタンスがランサムウェアに感染している場合、システムファイルが暗号化されてロックされ、ログオン失敗を引き起こす可能性もあります。詳細については、「ランサムウェアからサーバーを保護する」をご参照ください。
パブリック帯域幅の不足を確認します。
パブリック帯域幅の不足が原因でリモート接続に失敗することがあります。次の手順に従ってトラブルシューティングを行います。
ECS コンソール - インスタンスに移動します。
上部メニューで、対象リソースのリージョンとリソースグループを選択します。
[インスタンス] ページでインスタンス ID をクリックし、[インスタンス詳細] タブの [設定情報] セクションで [パブリック帯域幅] を表示します。
パブリック帯域幅が 0 Mbit/s の場合、インスタンスはパブリック帯域幅なしで作成されています。この問題は、パブリック帯域幅をアップグレードすることで解決できます。
メモリ不足を確認します。
Windows インスタンスにリモート接続した後、デスクトップが正しく表示されず、エラーメッセージなしで接続が切断される場合があります。サーバーのメモリ不足がこの問題の原因である可能性があります。次の手順に従ってメモリ使用量を確認します。
[スタート] > [管理ツール] > [イベント ビューアー] に移動し、メモリリソースの不足を示す警告ログを確認します。
手順9:システムセキュリティポリシー設定の確認
Windows サーバー上のセキュリティポリシーがリモートデスクトップ接続をブロックしていないか確認します。次の手順を実行します。
[スタート > コントロール パネル > 管理ツール] を選択し、[ローカル セキュリティ ポリシー] をダブルクリックします。
[ローカル セキュリティ ポリシー] ウィンドウで、[ローカル コンピューターの IP セキュリティ ポリシー] をクリックします。以降の操作は、関連するセキュリティ ポリシーがすでに存在するかどうかによって異なります。
関連するセキュリティポリシーが存在する場合は、それを削除または編集します。
セキュリティポリシーを削除するには、ポリシーを右クリックして [削除[(]D)] を選択します。表示されるダイアログボックスで、[はい] をクリックします。
IP セキュリティポリシーをダブルクリックして開き、リモートデスクトップ接続を許可するように再設定してから、リモートデスクトップを使用して再度接続を試みます。
関連するセキュリティポリシーが存在しない場合は、「手順10」に進んでトラブルシューティングを続行します。
手順10:ウイルス対策ソフトウェアの確認
サードパーティ製ウイルス対策ソフトウェアの設定が原因で、リモート接続が失敗することがあります。この問題を解決するには、次の方法を使用します。このセクションでは、SafeDog の設定がリモートアクセス失敗の原因となる2つのケーススタディを紹介します。
ウイルス対策ソフトウェアがバックグラウンドで実行されている場合は、VNC を使用してインスタンスに接続し、ウイルス対策ソフトウェアを最新バージョンにアップグレードするか、アンインストールします。VNC を使用してインスタンスにログオンする方法の詳細については、「VNC を使用したインスタンスへの接続」をご参照ください。
商用版のウイルス対策ソフトウェアを使用するか、無料の Microsoft Safety Scanner を使用してセーフモードでウイルスをスキャンして削除します。Security Scanner の詳細については、「Microsoft Safety Scanner」をご参照ください。
ケース1:SafeDog のブラックリストによるインターセプト
SafeDog をインストールした後に次の問題が発生した場合は、そのセキュリティ設定とインターセプトルールを確認してください。
ローカルクライアントは Windows インスタンスにリモート接続できませんが、他のリージョンのクライアントは接続できます。
サーバー IP アドレスに ping が通らず、
tracertコマンドを使用したルートトレースでもサーバーに到達できません。ローカルのパブリック IP アドレスは Security Center によってブロックされていません。
[サーバーセキュリティガード] を開き、[ネットワークファイアウォール] を選択し、[スーパー] [ブラックリスト/ホワイトリスト] の 右側 にある
アイコンをクリックします。 ECS インスタンスのパブリック IP アドレスが [スーパーブラックリスト] にある場合は、ブラックリストルールを削除し、パブリック IP アドレスを [スーパーホワイトリスト] に追加します。
Security Center でトラフィックスクラビングのしきい値が低すぎる場合、インスタンスのパブリック IP アドレスがブロックされる可能性があります。インスタンスのパブリック IP アドレスがブロックされるのを防ぐには、トラフィックスクラビングのしきい値を引き上げることを推奨します。詳細については、「Anti-DDoS Origin Basic」をご参照ください。
ケース2:SafeDog ソフトウェアのエラー
VNC を使用して Windows インスタンスにログインすると、システムのデスクトップの右下隅に、Safedog から ネットワークドライバーエラー (ドライバーサービスが開始されていません)。最新バージョンをダウンロードして上書きインストールし、再起動してください。 などのエラーメッセージが表示されます。
この問題は、SafeDog ソフトウェアのエラーが原因である可能性があります。ネットワーク接続を復元するには、SafeDog をアンインストールし、ECS インスタンスを再起動してください。
手順11:Windows レジストリ設定の確認
Windows レジストリの設定が正しくないと、RDP 接続がブロックされることがあります。次の手順に従って問題を修正します。
[ファイル名を指定して実行] ダイアログボックスで、 [regedit] と入力し、 [OK] をクリックしてレジストリ エディターを開きます。
レジストリ エディターで、次のパラメーター値を変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcpで、fEnableWinStationパラメーターの値を 1 に変更します。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal ServerのfDenyTSConnectionsパラメーターの値を 0 に変更します。
手順12:Windows RDP自己署名証明書の有効期限の確認
有効期限が切れた RDP 自己署名証明書は、リモートログオン失敗の原因となる可能性があります。次の手順に従って問題を修正します。
管理者として Windows PowerShell を実行します。
Windows PowerShell ウィンドウで、次のコマンドを実行して、現在の証明書の有効期限が切れているかどうかを確認します。
Get-Item 'Cert:\LocalMachine\Remote Desktop\*' | Select-Object NotAfter証明書の有効期限が切れている場合は、次のコマンドを実行して自己署名証明書を削除し、TermService サービスを再起動します。
Remove-Item -Path 'Cert:\LocalMachine\Remote Desktop\*' -Force -ErrorAction SilentlyContinue Restart-Service TermService -ForceTermService サービスが再起動すると、システムは自動的に新しい自己署名証明書を生成します。
次のコマンドを実行して、新しい自己署名証明書のタイムスタンプが更新されたことを確認します。
Get-Item 'Cert:\LocalMachine\Remote Desktop\*' | Select-Object NotAfter説明RDP 自己署名証明書のデフォルトの有効期間は6か月です。
特定のエラーメッセージ
認証関連の問題:
接続数関連の問題:
[ > リモート接続 > コマンドの送信] を選択します。
アイコンを右クリックし、[ネットワークと共有センターを開く] を選択します。