Azure 仮想マシンへのリモート デスクトップ接続に関するトラブルシューティング

Windows ベースの Azure 仮想マシン (VM) に対するリモート デスクトップ プロトコル (RDP) 接続は、さまざまな理由で失敗する可能性があり、VM にアクセスできない場合があります。 VM 上のリモート デスクトップ サービス、ネットワーク接続、またはホスト コンピューター上のリモート デスクトップ クライアントに問題がある可能性があります。 この記事では、RDP の接続問題を解決する、最も一般的な方法について説明します。

この記事についてさらにヘルプが必要な場合は、いつでも MSDN の Azure フォーラムとスタック オーバーフロー フォーラムで Azure エキスパートに問い合わせることができます。 または、Azure サポート インシデントを送信できます。 その場合は、 Azure サポートのサイト に移動して、 [サポートの要求] をクリックします。

簡単なトラブルシューティング手順

トラブルシューティングの各手順を実行した後、VM に再接続してみてください。

  1. リモート デスクトップ構成をリセットする。
  2. ネットワーク セキュリティ グループの規則/クラウド サービス エンドポイントを確認する。
  3. VM コンソールのログを確認する。
  4. VM の NIC をリセットする。
  5. VM リソース ヘルスを確認する。
  6. VM のパスワードをリセットする。
  7. VM を再起動する。
  8. アプリケーションを再デプロイする。

詳しい手順と説明が必要な場合は、この後の説明をお読みください。 ルーターやファイアウォールなどのローカル ネットワーク機器が、送信 TCP ポート 3389 をブロックしていないことを確認します。この方法については、Azure 上の Windows VM へのリモート デスクトップ接続に関する問題の詳細なトラブルシューティング手順に関する記事をご覧ください。

ヒント

ポータルで [接続] ボタンが淡色表示され、Express Routeサイト間 VPN 接続で Azure に接続されていない場合は、VM を作成してパブリック IP アドレスを割り当ててから RDP を使用する必要があります。 Azure におけるパブリック IP アドレスに関するページをご覧ください。

RDP 問題をトラブルシューティングする方法

次のメソッドのいずれかを使用して、Resource Manager デプロイ モデルを使用して作成された VM のトラブルシューティングを行うことができます。

  • Azure portal - RDP 構成またはユーザーの資格情報をすばやくリセットする必要があり、Azure ツールをインストールしていない場合に最適です。
  • Azure PowerShell - PowerShell プロンプトに慣れている場合、Azure PowerShell コマンドレットを使用して、RDP の構成またはユーザーの資格情報をすばやくリセットします。

クラシック デプロイ モデルを使用して作成された VM のトラブルシューティングの手順も記載されています。

Azure Portal を使用したトラブルシューティング

トラブルシューティングの各手順を実行した後、再度 VM に接続してみてください。 それでも接続できない場合は、次の手順をお試しください。

  1. RDP 接続をリセットする。 このトラブルシューティングの手順では、リモート接続が無効になっていたり、Windows ファイアウォール規則によって RDP がブロックされている場合などに、RDP 構成をリセットします。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [Reset password] ボタンをクリックします。 [モード][Reset configuration only] に設定し、 [更新] ボタンをクリックします。

    Azure portal で RDP 構成をリセットします。

  2. ネットワーク セキュリティ グループの規則を確認するIP フロー検証を使用して、ネットワーク セキュリティ グループ規則によって、仮想マシンから送受信されるトラフィックがブロックされていないかどうかを確認します。 有効なセキュリティ グループ規則を確認して、RDP ポート (既定では 3389) に対して受信 "許可" NSG 規則が存在し、優先されていることを確認することもできます。 詳細については、「有効なセキュリティ規則を使用した VM トラフィック フローのトラブルシューティング」を参照してください。

  3. VM のブート診断を確認する。 このトラブルシューティングの手順では、VM コンソール ログを確認し、VM が問題を報告しているかどうかを確認します。 すべての VM でブート診断を有効にしているとは限らないため、このトラブルシューティングの手順は省略できます。

    この記事では、具体的なトラブルシューティング手順については説明しませんが、RDP 接続に影響を与える、より広範な問題は示す場合があります。 コンソール ログと VM のスクリーン ショットの確認について詳しくは、「VM のブート診断 (ブログの投稿)」をご覧ください。

  4. VM の NIC をリセットする。 詳細については、Azure Windows VM の NIC をリセットする方法に関するページを参照してください。

  5. VM リソース ヘルスを確認する。 このトラブルシューティングの手順では、VM への接続に影響を受ける可能性のある Azure プラットフォームで既知の問題がないことを確認します。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [Resource health] ボタンをクリックします。 正常な VM には [使用可能] と表示されます。

    Azure portal で VM リソース正常性を確認します。

  6. ユーザーの資格情報をリセットする。 このトラブルシューティングの手順では、資格情報が明確でないか、覚えていない場合に、ローカル管理者アカウントのパスワードをリセットします。 VM にログインしたら、そのユーザーのパスワードをリセットしてください。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [Reset password] ボタンをクリックします。 [モード][パスワードのリセット] に設定されていることを確認し、ユーザー名と新しいパスワードを入力します。 最後に、 [更新] ボタンをクリックします。

    Azure portal でユーザーの資格情報をリセットします。

  7. VM を再起動する。 このトラブルシューティングの手順では、VM 自体で発生している根底にある問題を修正できます。

    Azure portal で VM を選択し、 [概要] タブをクリックします。[再起動] ボタンをクリックします。

    Azure portal で VM を再起動します。

  8. アプリケーションを再デプロイする。 このトラブルシューティングの手順では、プラットフォームやネットワークの根底にある問題を修正するために、Azure 内の別のホストに VM を再デプロイします。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [再デプロイ] ボタンをクリックし、 [再デプロイ] をクリックします。

    Azure Portal で VM を再デプロイする

    この操作を行うと、一時ディスクのデータが失われ、VM に関連付けられている動的 IP アドレスが更新されます。

  9. ルーティングを確認します。 Network Watcher の次ホップ機能を使用して、ルートが仮想マシンとの間でトラフィックのルーティングを妨げていないことを確認します。 有効なルートを見直し、ネットワーク インターフェイスのすべての有効なルートを確認することもできます。 詳細については、「有効なルートを使用した VM トラフィック フローのトラブルシューティング」を参照してください。

  10. オンプレミスのファイアウォールまたはコンピューター上のファイアウォールが Azure に対する送信 TCP 3389 トラフィックを許可していることを確認します。

RDP の問題が解決しない場合は、サポート要求を申請するか、RDP トラブルシューティングの考え方と手順に関する記事をご覧ください。

Azure PowerShell を使用したトラブルシューティング

まだインストールしていない場合は、 最新の Azure PowerShell をインストールして構成します

次の例では、myResourceGroupmyVMmyVMAccessExtension などの変数を使用します。 これらの変数の名前と場所は、実際の値に置き換えてください。

注意

Set-AzVMAccessExtension PowerShell コマンドレットを使用して、ユーザーの資格情報と RDP 構成をリセットします。 次の例では、myVMAccessExtension がプロセスの一部として指定した名前になります。 VMAccessAgent を前に操作したことがある場合は、Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myVM" を使用して VM のプロパティをチェックすることで、既存の拡張機能の名前を取得できます。 名前を確認するには、出力の 'Extensions' セクションを調べます。

トラブルシューティングの各手順を実行した後、再度 VM に接続してみてください。 それでも接続できない場合は、次の手順をお試しください。

  1. RDP 接続をリセットする。 このトラブルシューティングの手順では、リモート接続が無効になっていたり、Windows ファイアウォール規則によって RDP がブロックされている場合などに、RDP 構成をリセットします。

    次の例では、WestUS 内と myResourceGroup という名前のリソース グループ内にある myVM という名前の VM でRDP 接続をリセットします。

    Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" `
        -VMName "myVM" -Location Westus -Name "myVMAccessExtension"
    
  2. ネットワーク セキュリティ グループの規則を確認する。 このトラブルシューティングの手順では、RDP トラフィックを許可するように、ネットワーク セキュリティ グループに規則があることを確認します。 RDP の既定のポートは、TCP ポート 3389 です。 RDP トラフィックを許可する規則は、VM を作成する際に自動で作成されない場合があります。

    最初に、ネットワーク セキュリティ グループのすべての構成データを $rules 変数に割り当てます。 次の例では、myResourceGroup という名前のリソース グループ内の myNetworkSecurityGroup という名前のネットワーク セキュリティ グループに関する情報を取得します。

    $rules = Get-AzNetworkSecurityGroup -ResourceGroupName "myResourceGroup" `
        -Name "myNetworkSecurityGroup"
    

    ここで、このネットワーク セキュリティ グループに対して構成されている規則を確認します。 次のように着信接続用の TCP ポート 3389 を許可する規則が存在することを確認します。

    $rules.SecurityRules
    

    次の例では、RDP トラフィックを許可する有効なセキュリティ規則が表示されています。 ProtocolDestinationPortRangeAccessDirection が正しく構成されていることがわかります。

    Name                     : default-allow-rdp
    Id                       : /subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/securityRules/default-allow-rdp
    Etag                     : 
    ProvisioningState        : Succeeded
    Description              : 
    Protocol                 : TCP
    SourcePortRange          : *
    DestinationPortRange     : 3389
    SourceAddressPrefix      : *
    DestinationAddressPrefix : *
    Access                   : Allow
    Priority                 : 1000
    Direction                : Inbound
    

    RDP トラフィックを許可する規則がない場合、ネットワーク セキュリティ グループの規則を作成します。 TCP ポート 3389 を使用できます。

  3. ユーザーの資格情報をリセットする。 このトラブルシューティングの手順では、資格情報が明確でないか、覚えていない場合に、指定したローカル管理者アカウントのパスワードをリセットします。

    最初に、次のように資格情報を $cred 変数に割り当てて、ユーザー名と新しいパスワードを指定します。

    $cred=Get-Credential
    

    ここで、VM の資格情報を更新します。 次の例では、WestUS 内と myResourceGroup という名前のリソース グループ内にある myVM という名前の VM で資格情報を更新します。

    Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" `
        -VMName "myVM" -Location WestUS -Name "myVMAccessExtension" `
        -UserName $cred.GetNetworkCredential().Username `
        -Password $cred.GetNetworkCredential().Password
    
  4. VM を再起動する。 このトラブルシューティングの手順では、VM 自体で発生している根底にある問題を修正できます。

    次の例では、myResourceGroup という名前のリソース グループ内にある myVM という名前の VM を再起動します。

    Restart-AzVM -ResourceGroup "myResourceGroup" -Name "myVM"
    
  5. アプリケーションを再デプロイする。 このトラブルシューティングの手順では、プラットフォームやネットワークの根底にある問題を修正するために、Azure 内の別のホストに VM を再デプロイします。

    次の例では、WestUS 内と myResourceGroup という名前のリソース グループ内にある myVM という名前の VM を再デプロイします。

    Set-AzVM -Redeploy -ResourceGroupName "myResourceGroup" -Name "myVM"
    
  6. ルーティングを確認します。 Network Watcher の次ホップ機能を使用して、ルートが仮想マシンとの間でトラフィックのルーティングを妨げていないことを確認します。 有効なルートを見直し、ネットワーク インターフェイスのすべての有効なルートを確認することもできます。 詳細については、「有効なルートを使用した VM トラフィック フローのトラブルシューティング」を参照してください。

  7. オンプレミスのファイアウォールまたはコンピューター上のファイアウォールが Azure に対する送信 TCP 3389 トラフィックを許可していることを確認します。

RDP の問題が解決しない場合は、サポート要求を申請するか、RDP トラブルシューティングの考え方と手順に関する記事をご覧ください。

クラシック デプロイ モデルを使用して作成された VM のトラブルシューティング

重要

クラシック VM は 2023 年 3 月 1 日に廃止されます。

ASM の IaaS リソースを使用する場合は、2023 年 3 月 1 日までに移行を完了してください。 Azure Resource Manager の多くの機能拡張を利用するには、切り替えを早めに行うことをお勧めします。

詳細については、「2023 年 3 月 1 日までに IaaS リソースを Azure Resource Manager に移行する」を参照してください。

トラブルシューティングの各手順を実行した後、VM に再接続してみてください。

  1. RDP 接続をリセットする。 このトラブルシューティングの手順では、リモート接続が無効になっていたり、Windows ファイアウォール規則によって RDP がブロックされている場合などに、RDP 構成をリセットします。

    Azure Portal で VM を選択します。 [...More] ボタンをクリックして、 [リモート アクセスのリセット] をクリックします。

    クラシック デプロイ モデルを使用して、Azure portal で VM の RDP 構成をリセットします。

  2. Cloud Services エンドポイントを確認する。 このトラブルシューティングの手順では、RDP トラフィックを許可するように、Cloud Services にエンドポイントがあることを確認します。 RDP の既定のポートは、TCP ポート 3389 です。 RDP トラフィックを許可する規則は、VM を作成する際に自動で作成されない場合があります。

    Azure Portal で VM を選択します。 [エンドポイント] ボタンをクリックして、VM 用に現在構成されているエンドポイントを表示します。 TCP ポート 3389 の RDP トラフィックを許可するエンドポイントが存在することを確認します。

    次の例は、RDP トラフィックを許可する有効なエンドポイントを示しています。

    クラシック デプロイ モデルを使用して、Azure portal で VM のクラウド サービス エンドポイントを確認します。

    RDP トラフィックを許可するエンドポイントがない場合、 エンドポイントを作成します。 プライベート ポート 3389 に TCP を許可します。

  3. VM のブート診断を確認する。 このトラブルシューティングの手順では、VM コンソール ログを確認し、VM が問題を報告しているかどうかを確認します。 すべての VM でブート診断を有効にしているとは限らないため、このトラブルシューティングの手順は省略できます。

    この記事では、具体的なトラブルシューティング手順については説明しませんが、RDP 接続に影響を与える、より広範な問題は示す場合があります。 コンソール ログと VM のスクリーン ショットの確認について詳しくは、「VM のブート診断 (ブログの投稿)」をご覧ください。

  4. VM リソース ヘルスを確認する。 このトラブルシューティングの手順では、VM への接続に影響を受ける可能性のある Azure プラットフォームで既知の問題がないことを確認します。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [Resource health] ボタンをクリックします。 正常な VM には [使用可能] と表示されます。

    クラシック デプロイ モデルを使用して、Azure portal で VM の VM リソース正常性を確認します。

  5. ユーザーの資格情報をリセットする。 このトラブルシューティングの手順では、資格情報が明確でないか、覚えていない場合に、指定したローカル管理者アカウントのパスワードをリセットします。 VM にログインしたら、そのユーザーのパスワードをリセットしてください。

    Azure Portal で VM を選択します。 [設定] ウィンドウを、一覧の下部付近の [ヘルプ] セクションまで下にスクロールします。 [Reset password] ボタンをクリックします。 ユーザー名と新しいパスワードを入力します。 最後に、 [保存] ボタンをクリックします。

    クラシック デプロイ モデルを使用して、Azure portal で VM のユーザー資格情報をリセットします。

  6. VM を再起動する。 このトラブルシューティングの手順では、VM 自体で発生している根底にある問題を修正できます。

    Azure portal で VM を選択し、 [概要] タブをクリックします。[再起動] ボタンをクリックします。

    クラシック デプロイ モデルを使用して、Azure portal で VM を再起動します。

  7. オンプレミスのファイアウォールまたはコンピューター上のファイアウォールが Azure に対する送信 TCP 3389 トラフィックを許可していることを確認します。

RDP の問題が解決しない場合は、サポート要求を申請するか、RDP トラブルシューティングの考え方と手順に関する記事をご覧ください。

特定の RDP エラーのトラブルシューティング

お使いの VM に RDP 経由で接続しようとすると、特定のエラー メッセージが表示される場合があります。 一般的なエラー メッセージは次のとおりです。

その他のリソース

上記のエラーが発生していないにもかかわらず、リモート デスクトップを介して VM に接続できない場合は、 リモート デスクトップのトラブルシューティングに関するページをご覧ください。