接続のトラブルシューティングの概要

Azure への高度でパフォーマンスの高いワークロードの増加に伴い、これらのワークロードを実行する複雑なネットワークの運用状態の可視性と制御を高める必要があります。 こうした複雑なネットワークは、ネットワーク セキュリティ グループ、ファイアウォール、ユーザー定義ルート、および Azure が提供するリソースを使用して実装されます。 構成が複雑であるため、接続に関する問題のトラブルシューティングは困難です。

Azure Network Watcher の接続トラブルシューティング機能は、ネットワーク接続の問題を診断してトラブルシューティングする時間を短縮するのに役立ちます。 返された結果から、接続の問題の根本原因と、それがプラットフォームまたはユーザー構成の問題によるものかどうかについての分析情報が得られます。

接続のトラブルシューティングでは、ネットワーク セキュリティ グループ、ユーザー定義ルート、ブロックされたポートに関連する問題を検出するために、すべての接続の主要なチェックを実行する包括的な方法を提供することで、平均解決時間 (MTTR) が削減されます。 迅速な解決のために、ステップ バイ ステップ ガイドまたは対応するドキュメントが提供される実用的な分析情報を含む、次の結果も提供されます。

  • 異なる宛先の種類 (VM、URI、FQDN、または IP アドレス) を使用した接続テスト
  • 到達可能性に影響する構成の問題
  • ソースから宛先への可能なすべてのホップ バイ ホップのパス。
  • ホップ バイ ホップの待機時間
  • 待機時間 (ソースと宛先の間の最小、最大、および平均)
  • ソースから宛先へのグラフィカル トポロジ ビュー
  • 接続のトラブルシューティング チェック中に失敗したプローブの数。

サポートされる変換元と変換先の種類

接続のトラブルシューティングでは、次のいずれかの Azure リソースからの TCP または ICMP 接続を確認する機能が提供されます。

  • 仮想マシン
  • 仮想マシン スケール セット
  • Azure Bastion インスタンス
  • Application Gateway (v1 を除く)

重要

接続のトラブルシューティングを行うには、トラブルシューティングの実行に使用する仮想マシンに AzureNetworkWatcherExtension 拡張機能がインストールされている必要があります。 接続先の仮想マシンでは、拡張機能は必要ありません。

接続のトラブルシューティングでは、次のいずれかの宛先への接続をテストできます。

  • 仮想マシン
  • 完全修飾ドメイン名 (FQDN)
  • Uniform Resource Identifier (URI)
  • IP アドレス

接続で検出された問題のトラブルシューティング

接続のトラブルシューティングでは、接続に影響する可能性がある次の種類の問題を検出できます。

  • 高い VM の CPU 使用率
  • 高い VM のメモリ使用率
  • トラフィックをブロックしている仮想マシン (ゲスト) のファイアウォール規則
  • DNS 解決の失敗
  • ルートが正しく構成されていない、または見つからない
  • トラフィックをブロックしているネットワーク セキュリティ グループ (NSG) ルール
  • 指定したソース ポートでソケットが開けない
  • Azure ExpressRoute 回線のアドレス解決プロトコル エントリがありません
  • 指定された宛先ポートでサーバーがリッスンしていない

Response

次の表には、接続のトラブルシューティングの実行後に返されるプロパティを示します。

プロパティ 説明
ConnectionStatus 接続チェックの状態。 結果は ReachableUnreachable のいずれかです。
AvgLatencyInMs 接続チェック中の平均待機時間 (ミリ秒)。 (チェックの状態が Reachable の場合にのみ表示されます)。
MinLatencyInMs 接続チェック中の最小待機時間 (ミリ秒)。 (チェックの状態が Reachable の場合にのみ表示されます)。
MaxLatencyInMs 接続チェック中の最大待機時間 (ミリ秒)。 (チェックの状態が Reachable の場合にのみ表示されます)。
ProbesSent チェック中に送信されたプローブの数。 最大値は 100 です。
ProbesFailed チェック中に失敗したプローブの数。 最大値は 100 です。
Hops 送信元から送信先へのホップ バイ ホップのパス。
Hops[].Type リソースの種類。 値は、SourceVirtualApplianceVnetLocalInternet のいずれかです。
Hops[].Id ホップの一意識別子。
Hops[].Address ホップの IP アドレス。
Hops[].ResourceId ホップが Azure リソースの場合、そのホップのリソース ID。 インターネット リソースの場合、リソース ID は Internet です。
Hops[].NextHopIds 次に取得されるホップの一意識別子。
Hops[].Issues そのホップのチェック中に発生した問題のコレクション。 問題がない場合、値は空になります。
Hops[].Issues[].Origin 現在のホップで、問題が発生した場所。 使用できる値:
Inbound - 前のホップから現在のホップへのリンクに問題があります。
Outbound - 現在のホップから次のホップへのリンクに問題があります。
Local - 問題が現在のホップにある
Hops[].Issues[].Severity 検出された問題の重大度。 値は、ErrorWarning のいずれかです。
Hops[].Issues[].Type 検出された問題の種類。 使用できる値:
CPU
メモリ
GuestFirewall
DnsResolution
NetworkSecurityRule
UserDefinedRoute
Hops[].Issues[].Context 検出された問題に関する詳細。
Hops[].Issues[].Context[].key 返されたキーと値のペアのキー。
Hops[].Issues[].Context[].value 返されたキーと値のペアの値。
NextHopAnalysis.NextHopType ネクスト ホップの種類。 使用できる値:
HyperNetGateway
Internet
なし
VirtualAppliance
VirtualNetworkGateway
VnetLocal
NextHopAnalysis.NextHopIpAddress ネクスト ホップの IP アドレス。
返されたルートに関連付けられているルート テーブルのリソース識別子。 返されたルートが、ユーザーが作成したどのルートにも対応していない場合、このフィールドには文字列 System Route が設定されます。
SourceSecurityRuleAnalysis.Results[].Profile ネットワーク構成診断プロファイル。
SourceSecurityRuleAnalysis.Results[].Profile.Source トラフィックの送信元。 設定される可能性のある値: *、IP Address/CIDRService Tag
SourceSecurityRuleAnalysis.Results[].Profile.Destination トラフィックの送信先。 設定される可能性のある値: *、IP Address/CIDRService Tag
SourceSecurityRuleAnalysis.Results[].Profile.DestinationPort トラフィックの送信先ポート。 設定される可能性のある値: *、0 - 65535 の範囲の単一ポート。
SourceSecurityRuleAnalysis.Results[].Profile.Protocol 検証対象のプロトコル。 設定される可能性のある値: *、TCPUDP
SourceSecurityRuleAnalysis.Results[].Profile.Direction トラフィックの方向。 設定される可能性のある値: OutboundInbound
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult ネットワーク セキュリティ グループの結果。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[] ネットワーク セキュリティ グループ診断の結果の一覧。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.SecurityRuleAccessResult ネットワーク トラフィックは許可または拒否されます。 設定される可能性のある値: AllowDeny
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].AppliedTo ネットワーク セキュリティ グループが適用される NIC またはサブネットのリソース ID。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule 一致したネットワーク セキュリティ規則。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule.Action ネットワーク トラフィックは許可または拒否されます。 設定される可能性のある値: AllowDeny
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].MatchedRule.RuleName 一致したネットワーク セキュリティ規則の名前。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.EvaluatedSecurityGroups[].NetworkSecurityGroupId ネットワーク セキュリティ グループ ID。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[] ネットワーク セキュリティ規則の評価結果の一覧。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].DestinationMatched 値は、送信先が一致するかどうかを示します。 ブール値。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].DestinationPortMatched 値は、送信先ポートが一致するかどうかを示します。 ブール値。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].Name ネットワーク セキュリティ規則の名前。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].ProtocolMatched 値は、プロトコルが一致するかどうかを示します。 ブール値。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].SourceMatched 値は、送信元が一致するかどうかを示します。 ブール値。
SourceSecurityRuleAnalysis.Results[].NetworkSecurityGroupResult.RulesEvaluationResult[].SourcePortMatched 値は、送信元ポートが一致するかどうかを示します。 ブール値。
DestinationSecurityRuleAnalysis SourceSecurityRuleAnalysis の形式と同じです。
SourcePortStatus 送信元のポートに到達できるかどうかを決定します。 使用できる値:
不明
Reachable
Unstable
NoConnection
タイムアウト
DestinationPortStatus 送信先のポートに到達できるかどうかを決定します。 使用できる値:
不明
Reachable
Unstable
NoConnection
タイムアウト

次に示すのは、ホップで見つかった問題の例です。

"Issues": [
    {
        "Origin": "Outbound",
        "Severity": "Error",
        "Type": "NetworkSecurityRule",
        "Context": [
            {
                "key": "RuleName",
                "value": "UserRule_Port80"
            }
        ]
    }
]

障害の種類

接続のトラブルシューティングでは、接続に関する障害の種類が返されます。 次の表は、返される可能性のある障害の種類の一覧です。

説明
CPU CPU の使用率が高くなっています。
メモリ メモリの使用率が高くなっています。
GuestFirewall 仮想マシンのファイアウォールの構成によりトラフィックがブロックされています。

TCP ping は特異なユース ケースであり、許可するルールがない場合、TCP ping はターゲット IP アドレス/FQDN に到達しませんが、ファイアウォール自体がクライアントの TCP ping 要求に応答します。 このイベントはログに記録されません。 ターゲット IP アドレス/FQDN へのアクセスを許可するネットワーク ルールがある場合は、ping 要求がターゲット サーバーに到達し、その応答がクライアントに送り返されます。 このイベントは、ネットワーク規則ログに記録されます。
DNSResolution 送信先アドレスの DNS 解決が失敗しました。
NetworkSecurityRule ネットワーク セキュリティ グループ規則によってトラフィックがブロックされています (セキュリティ規則が返されます)。
UserDefinedRoute ユーザー定義またはシステム ルートによりトラフィックがドロップしました。

次のステップ

接続のトラブルシューティングを使って接続のテストとトラブルシューティングを行う方法については、次のステップに進んでください。