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

完了

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

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

このユニットでは、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 の場合は、コマンド バーの [登録] を選択します。

    Screenshot showing the registered Microsoft.Insights provider.

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

次に、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 を検索して選択し、[選択の確認] を選択します。
    インスタンスの詳細
    サブスクリプション ドロップダウン リストから、ご利用のサブスクリプションを選択します。
    ストレージ アカウント 一意のストレージ アカウント名を選択します。
    保有期間 (日) 1
  5. [次へ: 分析] を選択した後、次の値を選択または入力してください。

    設定
    フロー ログのバージョン Version 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. 資格情報の入力を求められたら、[その他] を選択し、ユーザー名 azureuser と VM 作成時に指定したパスワードを使用してサインインします。

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

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

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

    Test-NetConnection 10.10.2.4 -port 80
    

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

問題を診断する

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

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

  2. リソース メニューで、[ログ] の下にある [トラフィック分析] を選択します。 [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
    

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