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 ビュー] を選択できます。 次に例を示します。
診断設定を作成し、リソース固有テーブルを有効にする
- [診断設定] タブで、[診断設定の追加] を選択します。
- [診断設定の名前] を入力します。
- [カテゴリ] の下の [Azure Firewall Fat Flow ログ] と、ファイアウォールでサポートするその他のログを選択します。
- [宛先の詳細] で、[Log Analytics ワークスペースに送信する] を選択します。
- 目的のサブスクリプションと事前構成済みの Log Analytics ワークスペースを選択します。
- [リソース固有] を有効にします。
Azure Firewall ログを表示して分析する
ファイアウォール リソースで、[監視] タブの [ログ] に移動します。
[クエリ] を選択し、次に [Azure Firewall 上位フロー ログ] オプションの上にカーソルを合わせて [エディターに読み込む] を選択し、このオプションを読み込みます。
クエリが読み込まれたら、[実行] を選択します。
フロー トレース
現在、ファイアウォール ログには、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"
ログを無効にする
ログを無効にするには、次のコマンドを使用してその登録を解除するか、前のポータルの例で [登録解除] を選択します。
Unregister-AzProviderFeature -FeatureName AFWEnableTcpConnectionLogging -ProviderNamespace Microsoft.Network
診断設定を作成し、リソース固有テーブルを有効にする
- [診断設定] タブで、[診断設定の追加] を選択します。
- [診断設定の名前] を入力します。
- [カテゴリ] の下の [Azure Firewall フロー トレース ログ] と、ファイアウォールでサポートするその他のログを選択します。
- [宛先の詳細] で、[Log Analytics ワークスペースに送信する] を選択します。
- 目的のサブスクリプションと事前構成済みの Log Analytics ワークスペースを選択します。
- [リソース固有] を有効にします。
Azure Firewall フロー トレース ログを表示および分析する
ファイアウォール リソースで、[監視] タブの [ログ] に移動します。
[クエリ] を選択し、次に [Azure Firewall フロー トレース ログ] オプションの上にカーソルを合わせて [エディターに読み込む] を選択し、このオプションを読み込みます。
クエリが読み込まれたら、[実行] を選択します。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示