Share via


Azure Firewall 상위 흐름 및 흐름 추적 로그를 사용하도록 설정

Azure Firewall 방화벽을 모니터링하는 데 사용할 수 있는 두 개의 새로운 진단 로그가 있습니다.

  • 상위 흐름
  • 흐름 추적

상위 흐름

상위 흐름 로그(업계에서 Fat Flows라고 함)는 방화벽을 통해 가장 높은 처리량에 기여하는 상위 연결을 보여줍니다.

Azure Firewall의 과도한 CPU 사용을 방지하기 위해 특정 문제를 해결할 때만 최상위 흐름 로그를 활성화하세요.

흐름 속도는 데이터 전송 속도(초당 메가비트 단위)로 정의됩니다. 즉, 방화벽을 통해 일정 기간 동안 네트워크를 통해 전송할 수 있는 디지털 데이터의 양을 측정한 것입니다. 상위 흐름 프로토콜은 3분마다 주기적으로 실행됩니다. 상위 흐름으로 간주되는 최소 임계값은 1Mbps입니다.

필수 조건

로그 사용

다음 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.

흐름 추적

현재 방화벽 로그는 SYN 패킷이라고 하는 TCP 연결의 첫 번째 시도에서 방화벽을 통한 트래픽을 표시합니다. 그러나 TCP 핸드셰이크에서 패킷의 전체 여정은 표시되지 않습니다. 따라서 패킷이 삭제되거나 비대칭 라우팅이 발생했는지 문제를 해결하기가 어렵습니다.

수명이 짧은 연결이 많은 Azure Firewall의 흐름 추적 로그로 인한 과도한 디스크 사용을 방지하려면 진단 목적으로 특정 문제를 해결할 때만 로그를 활성화하세요.

다음과 같은 추가 속성을 추가할 수 있습니다.

  • SYN-ACK

    SYN 패킷의 승인을 나타내는 ACK 플래그입니다.

  • FIN

    원래 패킷 흐름의 완료된 플래그입니다. TCP 흐름에서 더 이상 데이터가 전송되지 않습니다.

  • FIN-ACK

    FIN 패킷의 승인을 나타내는 ACK 플래그입니다.

  • RST

    플래그 다시 설정은 원래의 발신자가 더 많은 데이터를 받지 못했음을 나타냅니다.

  • 유효하지 않음(흐름)

    패킷을 식별할 수 없거나 상태가 없다는 것을 나타냅니다.

    예시:

    • TCP 패킷은 이 패킷에 대한 이전 기록이 없는 Virtual Machine Scale Sets 인스턴스에 배치됩니다.
    • 잘못된 체크섬 패킷
    • 커넥트이온 추적 테이블 항목이 꽉 찼고 새 연결을 수락할 수 없습니다.
    • 지나치게 지연된 ACK 패킷

SYN-ACK 및 ACK와 같은 흐름 추적 로그는 네트워크 트래픽에만 기록됩니다. 또한 SYN 패킷은 기본적으로 기록되지 않습니다. 그러나 네트워크 규칙 로그 내에서 초기 SYN 패킷에 액세스할 수 있습니다.

필수 조건

  • 구조적 로그를 사용하도록 설정합니다.
  • 진단 설정에서 Azure 리소스별 테이블 형식을 사용합니다.

로그 사용

다음 Azure PowerShell 명령을 사용하여 로그를 사용하도록 설정하거나 포털에서 탐색하고 TCP 사용 커넥트ion 로깅을 검색합니다.

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.

다음 단계