Azure CLI を使用した Azure Network Watcher との接続のトラブルシューティングTroubleshoot connections with Azure Network Watcher using the Azure CLI

仮想マシンから指定されたエンドポイントへの直接の TCP 接続が確立されたかどうかを確認するために、接続のトラブルシューティングを使用する方法について説明します。Learn how to use connection troubleshoot to verify whether a direct TCP connection from a virtual machine to a given endpoint can be established.

開始する前にBefore you begin

この記事では、次のリソースがあることを前提としています。This article assumes you have the following resources:

  • 接続のトラブルシューティングを行うリージョンの Network Watcher のインスタンス。An instance of Network Watcher in the region you want to troubleshoot a connection.
  • 接続のトラブルシューティングを行う仮想マシン。Virtual machines to troubleshoot connections with.

重要

接続のトラブルシューティングを行うには、トラブルシューティングの実行に使用する VM に AzureNetworkWatcherExtension VM 拡張機能がインストールされている必要があります。Connection troubleshoot requires that the VM you troubleshoot from has the AzureNetworkWatcherExtension VM extension installed. Windows VM への拡張機能のインストールについては、Windows 用 Azure Network Watcher Agent 仮想マシン拡張機能に関する記事をご覧ください。Linux VM の場合は、Linux 用 Azure Network Watcher Agent 仮想マシン拡張機能に関する記事をご覧ください。For installing the extension on a Windows VM visit Azure Network Watcher Agent virtual machine extension for Windows and for Linux VM visit Azure Network Watcher Agent virtual machine extension for Linux. 接続先のエンドポイントでは、拡張機能は必要ありません。The extension is not required on the destination endpoint.

仮想マシンへの接続を確認するCheck connectivity to a virtual machine

この例では、ポート 80 で接続先の仮想マシンへの接続を確認します。This example checks connectivity to a destination virtual machine over port 80.

Example

az network watcher test-connectivity --resource-group ContosoRG --source-resource MultiTierApp0 --dest-resource Database0 --dest-port 80

ResponseResponse

次の応答は、以前の例からのものです。The following response is from the previous example. この応答で、ConnectionStatusUnreachable (到達不能) です。In this response, the ConnectionStatus is Unreachable. 送信されたすべてのプローブが失敗したことがわかります。You can see that all the probes sent failed. 接続は、ポート 80 の受信トラフィックをブロックするように構成された、UserRule_Port80 というユーザーが構成した NetworkSecurityRule のために、仮想アプライアンスで失敗しています。The connectivity failed at the virtual appliance due to a user-configured NetworkSecurityRule named UserRule_Port80, configured to block incoming traffic on port 80. この情報は、接続の問題を調査するために使用できます。This information can be used to research connection issues.

{
  "avgLatencyInMs": null,
  "connectionStatus": "Unreachable",
  "hops": [
    {
      "address": "10.1.1.4",
      "id": "bb01d336-d881-4808-9fbc-72f091974d68",
      "issues": [],
      "nextHopIds": [
        "f8b074e9-9980-496b-a35e-619f9bcbf648"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/ap
pNic0/ipConfigurations/ipconfig1",
      "type": "Source"
    },
    {
      "address": "10.1.2.4",
      "id": "f8b074e9-9980-496b-a35e-619f9bcbf648",
      "issues": [],
      "nextHopIds": [
        "8a5857f3-6ab8-4b11-b9bf-a046d66b8696"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/fw
Nic/ipConfigurations/ipconfig1",
      "type": "VirtualAppliance"
    },
    {
      "address": "10.1.3.4",
      "id": "8a5857f3-6ab8-4b11-b9bf-a046d66b8696",
      "issues": [
        {
          "context": [
            {
              "key": "RuleName",
              "value": "UserRule_Port80"
            }
          ],
          "origin": "Outbound",
          "severity": "Error",
          "type": "NetworkSecurityRule"
        }
      ],
      "nextHopIds": [
        "6ce2f7a2-ceb4-4145-80e8-5d9f661655d6"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/au
Nic/ipConfigurations/ipconfig1",
      "type": "VirtualAppliance"
    },
    {
      "address": "10.1.4.4",
      "id": "6ce2f7a2-ceb4-4145-80e8-5d9f661655d6",
      "issues": [],
      "nextHopIds": [],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/db
Nic0/ipConfigurations/ipconfig1",
      "type": "VnetLocal"
    }
  ],
  "maxLatencyInMs": null,
  "minLatencyInMs": null,
  "probesFailed": 100,
  "probesSent": 100
}

ルーティングの問題を確認するValidate routing issues

この例では、仮想マシンとリモート エンドポイント間の接続を確認します。This example checks connectivity between a virtual machine and a remote endpoint.

Example

az network watcher test-connectivity --resource-group ContosoRG --source-resource MultiTierApp0 --dest-address 13.107.21.200 --dest-port 80

ResponseResponse

次の例では、connectionStatusUnreachable (到達不能) として示されます。In the following example, the connectionStatus is shown as Unreachable. hops の詳細では、トラフィックが UserDefinedRoute のためにブロックされた、issues で確認できます。In the hops details, you can see under issues that the traffic was blocked due to a UserDefinedRoute.

{
  "avgLatencyInMs": null,
  "connectionStatus": "Unreachable",
  "hops": [
    {
      "address": "10.1.1.4",
      "id": "f2cb1868-2049-4839-b8ed-57a480d06f95",
      "issues": [
        {
          "context": [
            {
              "key": "RouteType",
              "value": "User"
            }
          ],
          "origin": "Outbound",
          "severity": "Error",
          "type": "UserDefinedRoute"
        }
      ],
      "nextHopIds": [
        "da4022db-0ab0-48c4-a507-dd4c03561ca5"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/ap
pNic0/ipConfigurations/ipconfig1",
      "type": "Source"
    },
    {
      "address": "13.107.21.200",
      "id": "da4022db-0ab0-48c4-a507-dd4c03561ca5",
      "issues": [],
      "nextHopIds": [],
      "resourceId": "Unknown",
      "type": "Destination"
    }
  ],
  "maxLatencyInMs": null,
  "minLatencyInMs": null,
  "probesFailed": 100,
  "probesSent": 100
}

Web サイトの待ち時間を確認するCheck website latency

次の例では、Web サイトへの接続を確認します。The following example checks the connectivity to a website.

Example

az network watcher test-connectivity --resource-group ContosoRG --source-resource MultiTierApp0 --dest-address https://bing.com --dest-port 80

ResponseResponse

次の応答では、connectionStatusReachable (到達不能) として示されます。In the following response, you can see the connectionStatus shows as Reachable. 接続に成功すると、待ち時間の値が提供されます。When a connection is successful, latency values are provided.

{
  "avgLatencyInMs": 2,
  "connectionStatus": "Reachable",
  "hops": [
    {
      "address": "10.1.1.4",
      "id": "639c2d19-e163-4dfd-8737-5018dd1168ae",
      "issues": [],
      "nextHopIds": [
        "fd43a6e7-c758-4f48-90aa-8db99105a4a3"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/ap
pNic0/ipConfigurations/ipconfig1",
      "type": "Source"
    },
    {
      "address": "204.79.197.200",
      "id": "fd43a6e7-c758-4f48-90aa-8db99105a4a3",
      "issues": [],
      "nextHopIds": [],
      "resourceId": "Internet",
      "type": "Internet"
    }
  ],
  "maxLatencyInMs": 7,
  "minLatencyInMs": 0,
  "probesFailed": 0,
  "probesSent": 100
}

ストレージ エンドポイントへの接続を確認するCheck connectivity to a storage endpoint

次の例では、仮想マシンからのブログのストレージ アカウントへの接続を確認します。The following example checks the connectivity from a virtual machine to a blog storage account.

Example

az network watcher test-connectivity --resource-group ContosoRG --source-resource MultiTierApp0 --dest-address https://contosoexamplesa.blob.core.windows.net/

ResponseResponse

次の json は、前のコマンドレットを実行した応答の例です。The following json is the example response from running the previous cmdlet. チェックが成功すると、connectionStatus プロパティに Reachable (到達不能) と示されます。As the check is successful, the connectionStatus property shows as Reachable. ストレージ BLOB と待ち時間に到達するために必要なホップ数に関する詳細情報が提供されます。You are provided the details regarding the number of hops required to reach the storage blob and latency.

{
  "avgLatencyInMs": 1,
  "connectionStatus": "Reachable",
  "hops": [
    {
      "address": "10.1.1.4",
      "id": "5136acff-bf26-4c93-9966-4edb7dd40353",
      "issues": [],
      "nextHopIds": [
        "f8d958b7-3636-4d63-9441-602c1eb2fd56"
      ],
      "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/networkInterfaces/appNic0/ipConfigurations/ipconfig1",
      "type": "Source"
    },
    {
      "address": "1.2.3.4",
      "id": "f8d958b7-3636-4d63-9441-602c1eb2fd56",
      "issues": [],
      "nextHopIds": [],
      "resourceId": "Internet",
      "type": "Internet"
    }
  ],
  "maxLatencyInMs": 7,
  "minLatencyInMs": 0,
  "probesFailed": 0,
  "probesSent": 100
}

次の手順Next steps

アラートがトリガーするパケット キャプチャの作成に関するページを参照して、仮想マシンのアラートを使用してパケット キャプチャを自動化する方法を確認するLearn how to automate packet captures with Virtual machine alerts by viewing Create an alert triggered packet capture

IP フロー検証の確認に関する記事を参照して、VM で送受信される特定のトラフィックが許可されているかどうかを調べるFind if certain traffic is allowed in or out of your VM by visiting Check IP flow verify