次の方法で共有


Azure Firewall で上位のフローとフロー トレース ログを有効にする

Azure Firewall には、ファイアウォールの監視に使用できる 2 つの新しい診断ログがあります。

  • 上位のフロー
  • フロー トレース

上位のフロー

上位のフロー (業界ではファット フローと呼ばれます) ログには、ファイアウォールを介した最高のスループットに寄与している上位の接続が表示されます。

ヒント

Azure Firewall によって CPU が過剰に使用されることを回避するため、上位のフロー ログは特定の問題のトラブルシューティングを行う場合にのみアクティブにします。

フロー レートは、データ伝送レート (メガビット/秒単位) として定義されます。 言い換えれば、一定期間内にファイアウォールを介してネットワーク経由で送信できるデジタル データの量の尺度です。 上位フローのプロトコルは、3 分ごとに定期的に実行されます。 上位フローと見なされる最小しきい値は 1 Mbps です。

前提条件

ログを有効にする

次の Azure PowerShell コマンドを使用して、ログを有効にします。

Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableFatFlowLogging = $true
Set-AzFirewall -AzureFirewall $firewall

ログを無効にする

ログを無効にするには、前と同じ Azure PowerShell コマンドを使用して、値を False 設定します。

次に例を示します。

Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableFatFlowLogging = $false
Set-AzFirewall -AzureFirewall $firewall

更新プログラムを確認する

更新が成功したことを確認するにはいくつかの方法がありますが、ファイアウォールの [概要] に移動し、右上隅にある [JSON ビュー] を選択できます。 次に例を示します。

Screenshot of JSON showing additional log verification.

診断設定を作成し、リソース固有テーブルを有効にする

  1. [診断設定] タブで、[診断設定の追加] を選択します。
  2. [診断設定の名前] を入力します。
  3. [カテゴリ] の下の [Azure Firewall Fat Flow ログ] と、ファイアウォールでサポートするその他のログを選択します。
  4. [宛先の詳細] で、[Log Analytics ワークスペースに送信する] を選択します。
    1. 目的のサブスクリプションと事前構成済みの Log Analytics ワークスペースを選択します。
    2. [リソース固有] を有効にします。 Screenshot showing log destination details.

Azure Firewall ログを表示して分析する

  1. ファイアウォール リソースで、[監視] タブの [ログ] に移動します。

  2. [クエリ] を選択し、次に [Azure Firewall 上位フロー ログ] オプションの上にカーソルを合わせて [エディターに読み込む] を選択し、このオプションを読み込みます。

  3. クエリが読み込まれたら、[実行] を選択します。

    Screenshot showing the Top flow log.

フロー トレース

現在、ファイアウォール ログには、TCP 接続の最初の試行時のファイアウォール経由によるトラフィック (SYN パケットと呼ばれます) が表示されます。 ただし、ここには、TCP ハンドシェイクでのパケットの完全な過程は表示されません。 その結果、パケットが破棄された場合や非対称ルーティングが発生した場合のトラブルシューティングが困難になります。

ヒント

短時間の接続が多く発生する Azure Firewall のフロー トレース ログによる過剰なディスク使用を避けるため、ログは診断目的で特定の問題をトラブルシューティングするときにのみアクティブにします。

次のプロパティを追加できます。

  • SYN-ACK

    SYN パケットの受信確認を示す ACK フラグ。

  • FIN

    元のパケット フローの完了フラグ。 TCP フローで送信されるデータはこれ以上ありません。

  • FIN-ACK

    FIN パケットの受信確認を示す ACK フラグ。

  • RST

    元の送信者がそれ以上のデータを受信しないことを示すリセット フラグ。

  • INVALID (フロー)

    パケットを識別できないか、状態がないことを示します。

    次に例を示します。

    • TCP パケットが Virtual Machine Scale Sets インスタンスに到着し、このパケットの以前の履歴がそこにない場合
    • 不適切なチェックサムのパケット
    • 接続の追跡テーブルのエントリがいっぱいで、新しい接続を受け入れることができない場合
    • 過度に遅延した ACK パケット

SYN-ACK や ACK などのフロー トレース ログは、ネットワーク トラフィックについてのみログに記録されます。 さらに、SYN パケットは既定ではログに記録されません。 ただし、ネットワーク ルール ログ内の最初の SYN パケットにアクセスできます。

前提条件

ログを有効にする

次の Azure PowerShell コマンドを使用してログを有効にするか、ポータル内を移動して [Enable TCP Connection Logging] (TCP 接続ログの有効化) を探します。

Connect-AzAccount 
Select-AzSubscription -Subscription <subscription_id> or <subscription_name>
Register-AzProviderFeature -FeatureName AFWEnableTcpConnectionLogging -ProviderNamespace Microsoft.Network
Register-AzResourceProvider -ProviderNamespace Microsoft.Network

これが有効になるまでに数分かかる場合があります。 この機能が登録されたら、変更をすぐに有効にするために、Azure Firewall に対して更新を実行することを検討してください。

AzResourceProvider 登録の状態を確認するには、Azure PowerShell コマンドを実行します。

Get-AzProviderFeature -FeatureName "AFWEnableTcpConnectionLogging" -ProviderNamespace "Microsoft.Network"

ログを無効にする

ログを無効にするには、次のコマンドを使用してその登録を解除するか、前のポータルの例で [登録解除] を選択します。

Get-AzProviderFeature -FeatureName "AFWEnableTcpConnectionLogging" -ProviderNamespace "Microsoft.Network"

診断設定を作成し、リソース固有テーブルを有効にする

  1. [診断設定] タブで、[診断設定の追加] を選択します。
  2. [診断設定の名前] を入力します。
  3. [カテゴリ] の下の [Azure Firewall フロー トレース ログ] と、ファイアウォールでサポートするその他のログを選択します。
  4. [宛先の詳細] で、[Log Analytics ワークスペースに送信する] を選択します。
    1. 目的のサブスクリプションと事前構成済みの Log Analytics ワークスペースを選択します。
    2. [リソース固有] を有効にします。 Screenshot showing log destination details.

Azure Firewall フロー トレース ログを表示および分析する

  1. ファイアウォール リソースで、[監視] タブの [ログ] に移動します。

  2. [クエリ] を選択し、次に [Azure Firewall フロー トレース ログ] オプションの上にカーソルを合わせて [エディターに読み込む] を選択し、このオプションを読み込みます。

  3. クエリが読み込まれたら、[実行] を選択します。

    Screenshot showing the Trace flow log.

次のステップ