演習 - Network Watcher のメトリックとログを使用してネットワークのトラブルシューティングを行う

完了

Azure Network Watcher では、メトリックとログによって複雑な構成の問題を診断できます。

通信できない仮想マシン (VM) が 2 つあるとします。 問題を診断するためにできる限り多くの情報を取得する必要があります。

このユニットでは、Network Watcher のメトリックとログを使用してトラブルシューティングを行います。 2 つの VM 間の接続の問題を診断するには、ネットワーク セキュリティ グループ (NSG) フロー ログを使用します。

Microsoft.Insights プロバイダーを登録する

NSG フローのログ記録には、Microsoft.Insights プロバイダーが必要です。 Microsoft.Insights プロバイダーに登録するには、次の手順を実行します。

  1. Azure portal にサインインし、リソースを作成したサブスクリプションにアクセスしてディレクトリにサインインします。

  2. Azure portal で、サブスクリプションを検索 して選択し、サブスクリプションを選択します。 [ サブスクリプション ] ウィンドウが表示されます。

  3. [サブスクリプション] メニューの [設定] で、[ リソース プロバイダー] を選択します。 サブスクリプションの [リソース プロバイダー ] ウィンドウが表示されます。

  4. フィルター バーに 「microsoft.insights」と入力します。

  5. microsoft.insights プロバイダーの状態が NotRegistered の場合は、コマンド バーで [登録] を選択します。

    登録済みの Microsoft.Insights プロバイダーを示すスクリーンショット。

ストレージ アカウントを作成する

次に、NSG フロー ログのストレージ アカウントを作成します。

  1. Azure portal のメニューまたは [ホーム] ページから [リソースの作成] を選択します。

  2. リソース メニューで [ストレージ] を選択し、 ストレージアカウントを検索して選択します。 [ストレージ アカウント] ペインが表示されます。

  3. を選択してを作成します。 [ ストレージ アカウントの作成 ] ウィンドウが表示されます。

  4. [ 基本 ] タブで、各設定に次の値を入力します。

    設定 価値
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します
    リソースグループ リソース グループを選択します
    インスタンスの詳細
    ストレージ アカウント名 一意の名前を作成する
    リージョン リソース グループと同じリージョンを選択する
  5. [次へ: 詳細設定] タブを選択し、次の値が設定されていることを確認します。

    設定 価値
    Blob Storage
    アクセス階層 ホット (既定)
  6. [確認および作成] を選択し、検証に成功したら [作成] を選択します。

Log Analytics ワークスペースを作成する

NSG フロー ログを表示するには、Log Analytics を使用します。

  1. Azure portal のメニューまたは ホーム ページで、 Log Analytics ワークスペースを検索して選択します。 [Log Analytics ワークスペース] ウィンドウが表示されます。

  2. コマンド バーの [作成] を選択します。 [ Log Analytics ワークスペースの作成 ] ウィンドウが表示されます。

  3. [ 基本 ] タブで、各設定に次の値を入力します。

    設定 価値
    プロジェクトの詳細
    サブスクリプション サブスクリプションを選択します
    リソースグループ リソース グループを選択します
    インスタンスの詳細
    名前 testsworkspace
    リージョン リソース グループと同じリージョンを選択する
  4. [ 確認と作成] を選択し、検証に合格したら [ 作成] を選択します。

フロー ログを有効にする

フロー ログを設定するには、ストレージ アカウントに接続するように NSG を構成し、NSG のトラフィック分析を追加する必要があります。

  1. Azure portal のメニューで、[すべてのリソース] を選択します。 次に、 MyNsg ネットワーク セキュリティ グループを選択します。

  2. [MyNsg] メニューの [ 監視] で、[ NSG フロー ログ] を選択します。 MyNsg |NSG フロー ログ ペインが表示されます。

  3. を選択してを作成します。 [ フロー ログの作成 ] ウィンドウが表示されます。

  4. [ 基本 ] タブで、次の値を選択または入力します。

    設定 価値
    プロジェクトの詳細
    サブスクリプション ドロップダウン リストからサブスクリプションを選択します。
    + リソースの選択 [ ネットワーク セキュリティ グループの選択 ] ウィンドウで、MyNsg と Confirm の 選択を検索して選択します。
    インスタンスの詳細
    サブスクリプション ドロップダウン リストからサブスクリプションを選択します。
    ストレージ アカウント 一意のストレージ アカウント名を選択します。
    保有期間 (日) 1
  5. [次へ: 分析] を選択し、次の値を選択または入力します。

    設定 価値
    フロー ログのバージョン バージョン 2
    Traffic Analytics [Traffic Analytics を有効にする] をオンにします。
    Traffic Analytics の処理間隔 10 分ごと
    サブスクリプション ドロップダウン リストからサブスクリプションを選択します。
    Log Analytics ワークスペース ドロップダウン リストから testworkspace を選択します。
  6. [Review + create](レビュー + 作成) を選択します。

  7. を選択してを作成します。

  8. デプロイが完了したら、[リソースに移動] を選択します。

テスト トラフィックを生成する

これで、フロー ログでキャッチする VM 間のネットワーク トラフィックを生成する準備ができました。

  1. リソース メニューで、[ すべてのリソース] を選択し、[ FrontendVM] を選択します。

  2. コマンド バーから[ 接続]、[ RDP]、[ RDP ファイルのダウンロード] の順に選択します。 リモート接続の発行元に関する警告が表示された場合は、[ 接続] を選択します。

  3. FrontendVM.rdp ファイルを起動し、[接続] を選択します。

  4. 資格情報の入力を求められたら、[ その他] を選択します。 VM の作成時に指定したユーザー名 azureuser とパスワードを使用してサインインします。

  5. セキュリティ証明書を求められたら、[ はい] を選択します。

  6. RDP セッションで、メッセージが表示されたら、デバイスがプライベート ネットワーク上にある場合にのみ検出可能にすることを許可します。

  7. PowerShell プロンプトを開き、次のコマンドを実行します。

    Test-NetConnection 10.10.2.4 -port 80
    

TCP 接続テストは数秒後に失敗します。

問題を診断する

次に、ログ分析を使用して NSG フロー ログを表示してみましょう。

  1. Azure portal のリソース メニューで、[すべてのサービス] を選択し、[ネットワーク] を選択して、[Network Watcher] を選択します。 [Network Watcher] ウィンドウが表示されます。

  2. リソース メニューの [ ログ] で、 Traffic Analytics を選択します。 Network Watcher |Traffic Analytics ペインが表示されます。

  3. [FlowLog サブスクリプション] ドロップダウン リストで、サブスクリプションを選択します。

  4. Log Analytics ワークスペースのドロップダウン リストで、testworkspaceを選択します。

  5. さまざまなビューを使用して、フロントエンド VM からバックエンド VM への通信を妨げる問題を診断します。

問題を解決する

NSG ルールは、インターネットからの受信トラフィックをブロックするのではなく、ポート 80、443、および 3389 を介して、すべての場所からバックエンド サブネットへの受信トラフィックをブロックしています。 ここで、そのルールを再構成しましょう。

  1. Azure portal のリソース メニューで、[ すべてのリソース] を選択し、一覧から [MyNsg ] を選択します。

  2. [MyNsg] メニューの [設定] で[ 受信セキュリティ規則] を選択し、[ MyNSGRule] を選択します。 MyNSGRule ペインが表示されます。

  3. [ソース] ドロップダウン リストで [サービス タグ] を選択し、[ソース サービス タグ] ドロップダウン リストで [インターネット] を選択します。

  4. MyNSGRule コマンド バーで、[ 保存] を選択してセキュリティ規則を更新します。

接続を再テストする

ポート 80 の接続が問題なく機能するようになりました。

  1. RDP クライアントで、 FrontendVM に接続します。 PowerShell プロンプトで、次のコマンドを実行します。

    Test-NetConnection 10.10.2.4 -port 80
    

これで接続テストが成功します。