ExpressRoute の接続モニターの構成
この記事は、ExpressRoute を監視するための接続モニターの拡張機能を構成するのに役立ちます。 接続モニターは、Azure クラウド デプロイとオンプレミス拠点 (支社など) との間の接続性を監視するクラウドベースのネットワーク監視ソリューションです。 接続モニターは、Azure Monitor ログの一部です。 この拡張機能を使用すると、プライベートおよび Microsoft ピアリング接続のネットワーク接続を監視することもできます。 ExpressRoute で接続モニターを構成すると、特定して排除すべきネットワークの問題を検出することができるようになります。
注意
この記事は最近、Log Analytics ではなく Azure Monitor ログという用語を使うように更新されました。 ログ データは引き続き Log Analytics ワークスペースに格納され、同じ Log Analytics サービスによって収集されて分析されます。 Azure Monitor のログの役割をより適切に反映させるために、用語を更新しています。 詳しくは、Azure Monitor の用語の変更に関するページをご覧ください。
ExpressRoute の接続モニターを使用すると、以下を行うことができます。
各種 VNet 間の損失と待ち時間を監視し、アラートを設定する。
ネットワーク上のすべてのパス (冗長パスを含む) を監視する。
再現が難しい、ネットワークに関する一過性の問題と特定時点の問題をトラブルシューティングする。
パフォーマンス低下の原因となっている特定のセグメントをネットワーク上で見つけ出す。
ワークフロー
監視エージェントは、複数のサーバー (オンプレミスと Azure の両方) にインストールされます。 エージェントは、TCP ハンドシェイクパケットを送信することによって相互に通信します。 エージェント間の通信によって、Azure は、トラフィックが通過する可能性のある経路とネットワーク トポロジとをマッピングすることができます。
Log Analytics ワークスペースを作成します。
ソフトウェア エージェントをインストールして構成します (監視を Microsoft ピアリング経由でのみ実行する場合は、ソフトウェア エージェントのインストールと構成は必要ありません)。
- オンプレミス サーバーと Azure VM に監視エージェントをインストールします (プライベート ピアリングの場合)。
- 監視エージェントが通信を行うことができるように、監視エージェント サーバー上の設定を構成します (ファイアウォール ポートを開放するなど)。
Azure VM にインストールされている監視エージェントがオンプレミスの監視エージェントと通信を行うことができるようにネットワーク セキュリティ グループ (NSG) 規則を構成します。
サブスクリプションで Network Watcher を有効にします。
監視を設定する: テスト グループを使用して接続モニターを作成し、ネットワーク全体のソースとターゲット エンドポイントを監視します。
既に Network Performance Monitor (非推奨) または接続モニターを使用して他のオブジェクトやサービスを監視していて、サポートされているリージョンのいずれかに既に Log Analytics ワークスペースがある場合。 手順 1 と手順 2 を省略して、手順 3 から構成を開始することができます。
ワークスペースを作成する
ExpressRoute 回線への VNet リンクを含んだサブスクリプションにワークスペースを作成します。
Azure portal にサインインします。 ExpressRoute 回線に接続されている仮想ネットワークがあるサブスクリプションから、 [+ リソースの作成] を選択します。 [Log Analytics ワークスペース] を検索してから、 [作成] を選択します。
Note
新しいワークスペースを作成するか、既存のワークスペースを使用することができます。 既存のワークスペースを使用する場合は、ワークスペースが新しいクエリ言語に移行されていることを確認する必要があります。 詳細情報...
次の情報を入力または選択して、ワークスペースを作成します。
設定 値 サブスクリプション ExpressRoute 回線があるサブスクリプションを選択します。 リソース グループ リソース グループを新規で作成するか、既存のものを選択します。 名前 このワークスペースを識別する名前を入力します。 リージョン このワークスペースが作成されるリージョンを選びます。 Note
ExpressRoute 回線は、世界のどこに配置されていてもかまいません。 ワークスペースと同じリージョンに存在する必要はありません。
[確認と作成] を選択し検証し、 [作成] を選択してワークスペースをデプロイします。 ワークスペースがデプロイされたら、次のセクションに進み、監視ソリューションを構成します。
監視ソリューションの構成
$SubscriptionId、$location、$resourceGroup、$workspaceName の値を置き換えて、Azure PowerShell スクリプトを完成させます。 その後、スクリプトを実行して監視ソリューションを構成します。
$subscriptionId = "Subscription ID should come here"
Select-AzSubscription -SubscriptionId $subscriptionId
$location = "Workspace location should come here"
$resourceGroup = "Resource group name should come here"
$workspaceName = "Workspace name should come here"
$solution = @{
Location = $location
Properties = @{
workspaceResourceId = "/subscriptions/$($subscriptionId)/resourcegroups/$($resourceGroup)/providers/Microsoft.OperationalInsights/workspaces/$($workspaceName)"
}
Plan = @{
Name = "NetworkMonitoring($($workspaceName))"
Publisher = "Microsoft"
Product = "OMSGallery/NetworkMonitoring"
PromotionCode = ""
}
ResourceName = "NetworkMonitoring($($workspaceName))"
ResourceType = "Microsoft.OperationsManagement/solutions"
ResourceGroupName = $resourceGroup
}
New-AzResource @solution -Force
監視ソリューションを構成したら、 サーバーに監視エージェントをインストールして構成する次の手順に進みます。
オンプレミスでのエージェントのインストールと構成
エージェントのセットアップ ファイルをダウンロードする
Log Analytics ワークスペースに移動して、 [設定] から [エージェント管理] を選択します。 マシンのオペレーティング システムに対応するエージェントをダウンロードします。
次に、 [ワークスペース ID] と [主キー] をメモ帳にコピーします。
Windows マシンの場合は、この powershell スクリプト EnableRules.ps1 をダウンロードして、管理者特権を使用して PowerShell ウィンドウで実行します。 この PowerShell スクリプトを使うと、TCP トランザクションに必要なファイアウォール ポートが開きます。
Linux マシンの場合は、次の手順を実行してポート番号を手動で変更する必要があります。
- パス (/var/opt/microsoft/omsagent/npm_state) に移動します。
- ファイル (npmdregistry) を開きます
- ポート番号
PortNumber:<port of your choice>
の値を変更します
各監視サーバーに Log Analytics エージェントをインストールする
冗長性を確保するために、ExpressRoute 接続の両側にある少なくとも 2 台のサーバーに Log Analytics エージェントをインストールすることをお勧めします。 たとえば、オンプレミスと Azure 仮想ネットワークなどです。 次の手順を使用してエージェントをインストールします。
サーバーに Log Analytics エージェントをインストールする手順については、該当するオペレーティング システムを選んでください。
完了すると、コントロール パネルに Microsoft Monitoring Agent が表示されます。 構成を検証して、Azure Monitor ログへのエージェントの接続性を確認できます。
監視に使用する他のオンプレミスのマシンで、手順 1 と 2 を繰り返します。
各監視サーバーに Network Watcher エージェントをインストールする
新しい Azure 仮想マシン
VNet への接続を監視するために新しい Azure VM を作成している場合は、VM の作成時に Network Watcher エージェントをインストールすることができます。
既存の Azure 仮想マシン
既存の VM を使用して接続を監視する場合は、Linux と Windows 用のネットワーク エージェントを別々にインストールすることができます。
監視エージェント サーバーのファイアウォール ポートを開放する
ファイアウォールの規則により、ソースとターゲットの間の通信がブロックされることがあります。 接続モニターを使うと、この問題を検出し、トポロジに診断メッセージとして表示できます。 接続監視を有効にするには、ファイアウォール規則で、ソースとターゲットの間の TCP または ICMP 経由のパケットが許可されるようにします。
Windows
Windows マシンの場合、PowerShell スクリプトを実行して、接続モニターに必要なレジストリ キーを作成できます。 また、このスクリプトにより、監視エージェントが互いに TCP 接続を作成することを許可する Windows ファイアウォール規則も作成されます。 スクリプトによって作成されたレジストリ キーは、デバッグ ログを記録するかどうかと、ログ ファイルのパスを指定します。 また、通信で使用されるエージェント TCP ポートを定義します。 これらのキーの値は、スクリプトによって自動的に設定されます。 これらのキーを手動で変更しないでください。
ポート 8084 は既定で開放されます。 パラメーター "portNumber" をスクリプトに指定することでカスタム ポートを使用できます。 ただし、その場合は、スクリプトの実行対象となるすべてのサーバーで同じポートを指定する必要があります。
Note
PowerShell スクリプト "EnableRules" によって Windows ファイアウォール規則を構成できるのは、スクリプトを実行したコンピューターだけです。 ネットワーク ファイアウォールがある場合、接続モニターによって使用されている TCP ポート宛てのトラフィックを必ず許可する必要があります。
エージェント サーバー上で、管理特権で PowerShell ウィンドウを開きます。 あらかじめダウンロードしておいた PowerShell スクリプト EnableRules を実行します。 パラメーターは一切使用しません。
Linux
Linux マシンの場合、使用するポート番号を手動で変更する必要があります。
- パス (/var/opt/microsoft/omsagent/npm_state) に移動します。
- ファイル (npmdregistry) を開きます
- ポート番号
PortNumber:\<port of your choice\>
の値を変更します。 使用するポート番号は、ワークスペースで使用されているすべてのエージェントで同じである必要があります。
ネットワーク セキュリティ グループ規則を構成する
Azure 内のサーバーを監視するには、接続モニターからの TCP または ICMP トラフィックを許可するようにネットワーク セキュリティ グループ (NSG) 規則を構成する必要があります。 既定のポートは **8084 で、Azure VM にインストールされた監視エージェントがオンプレミスの監視エージェントと通信できるようになっています。
NSG の詳細については、ネットワーク トラフィックのフィルター処理に関するチュートリアルを参照してください。
Note
この手順に進む前に、エージェント (オンプレミス サーバー エージェントと Azure サーバー エージェントの両方) がインストール済みであること、また PowerShell スクリプトを実行済みであることを確認してください。
Network Watcher を有効にする
仮想ネットワークが含まれるすべてのサブスクリプションは、Network Watcher で有効になります。 Network Watcher がサブスクリプションで明示的に無効になっていないことを確認してください。 詳細については、Network Watcher の有効化に関する記事をご覧ください。
接続モニターを作成する
ネットワーク内のソースおよびターゲット エンドポイント全体で接続モニター、テスト、およびテスト グループを作成する方法の概要については、接続モニターの作成に関する記事を参照してください。 プライベート ピアリングと Microsoft ピアリングの接続監視を構成するには、次の手順に従います。
Azure portal で、Network Watcher リソースに移動し、 [監視] の下の [接続モニター] を選択します。 次に、 [作成] を選択して、新しい接続モニターを作成します。
作成ワークフローの [基本] タブにある [リージョン] フィールドで、Log Analytics ワークスペースのデプロイ先と同じリージョンを選択します。 [ワークスペースの構成] には、先ほど作成した既存の Log Analytics ワークスペースを選択します。 次に、[次へ: テスト グループ >>] を選択します。
[テスト グループの詳細の追加] ページで、テスト グループのソース エンドポイントとターゲット エンドポイントを追加します。 また、これらの間のテスト構成も設定します。 このテスト グループの名前を入力します。
[ソースの追加] を選択し、 [Azure 以外のエンドポイント] タブに移動します。接続を監視する Log Analytics エージェントがインストールされているオンプレミス リソースを選択し、 [エンドポイントの追加] を選択します。
次に、 [宛先を追加する] を選択します。
ExpressRoute プライベート ピアリング 経由の接続を監視するには、 [Azure エンドポイント] タブに移動します。Azure の仮想ネットワークへの接続を監視する Network Watcher エージェントがインストールされている Azure リソースを選択します。 [IP] 列で、これらの各リソースのプライベート IP アドレスを選択していることを確認します。 [エンドポイントの追加] を選択して、これらのエンドポイントをテスト グループのターゲットの一覧に追加します。
ExpressRoute Microsoft ピアリング上の接続性をモニターするには、 [外部アドレス] タブに移動します。Microsoft ピアリング経由で接続を監視する Microsoft サービス エンドポイントを選択します。 [エンドポイントの追加] を選択して、これらのエンドポイントをテスト グループのターゲットの一覧に追加します。
次に、 [テスト構成の追加] を選択します。 プロトコルとして [TCP] を選択し、サーバーで開いている宛先ポートを入力します。 次に、 [テストの頻度] と 失敗したチェックとラウンド トリップ時間のしきい値を構成します。 次に、 [テスト構成の追加] を選択します。
ソース、宛先、およびテスト構成を追加したら、 [テスト グループの追加] を選択します。
アラートを作成する場合は、[次へ: アラートを作成する >>] を選択します。 完了したら、 [確認と作成] 、 [作成] の順に選択します。
結果の表示
Network Watcher のリソースに移動し、 [監視] の下の [接続モニター] を選択します。 5 分後に新しい接続モニターが表示されます。 接続モニターのネットワーク トポロジとパフォーマンス グラフを表示するには、[テスト グループ] ドロップダウンからテストを選択します。
[パフォーマンス分析] パネルでは、失敗したチェックの割合と、ラウンドトリップ時間に対する各テストの結果を確認できます。 パネルの上部にあるドロップダウンを選択することで、表示されるデータの時間枠を調整できます。
[パフォーマンス分析] パネルを閉じると、選択したソースとターゲットのエンドポイント間の接続モニターによって検出されたネットワーク トポロジが表示されます。 このビューには、ソース エンドポイントとターゲット エンドポイント間のトラフィックの双方向のパスが表示されます。 また、パケットが Microsoft のエッジ ネットワークに到着するまでの、ホップバイホップの待機時間を確認することもできます。
[トポロジ] ビューで任意のホップを選ぶと、そのホップに関する追加情報が表示されます。 また、接続モニターによって検出されたホップに関する問題もここに表示されます。
次のステップ
Azure ExpressRoute の監視の詳細を確認してください。