이 문서에서는 Azure Network Watcher의 트래픽 분석 기능에 대한 가장 자주 묻는 질문에 대한 답변을 제공합니다.
트래픽 분석을 사용하는 데 필요한 RBAC 권한은 무엇인가요?
필요한 RBAC 역할 및 권한의 전체 목록은 트래픽 분석 권한을 참조하세요.
내 작업 영역과 다른 지역에 있는 리소스에 흐름 로그를 사용하도록 설정할 수 있나요?
예, 가상 네트워크 및 네트워크 보안 그룹은 Log Analytics 작업 영역 지역과 다른 지역에 있을 수 있습니다.
단일 작업 영역 내에서 여러 네트워크 보안 그룹을 구성할 수 있나요?
예.
트래픽 분석이 내 트래픽 분석 지원 네트워크 보안 그룹에 대한 데이터를 표시하지 않는 이유는 무엇인가요?
트래픽 분석 대시보드의 리소스 선택 드롭다운에서 가상 머신 또는 네트워크 보안 그룹의 리소스 그룹이 아닌 Virtual Network 리소스의 리소스 그룹을 선택해야 합니다.
트래픽 분석에서 일부 리소스가 "알 수 없음"으로 표시되는 이유는 무엇인가요?
트래픽 분석은 6시간마다 리소스 검색 검사를 수행하여 새 VM, NIC, 가상 네트워크 및 서브넷을 식별합니다. 가장 최근의 검색 주기 후에 새 VM 또는 NIC가 생성되고 흐름 데이터가 다음 검색 전에 수집되는 경우 트래픽 분석은 아직 알려진 리소스와 트래픽을 연결할 수 없습니다. 따라서 해당 리소스는 분석 보기에서 알 수 없는 것으로 일시적으로 레이블이 지정됩니다.
트래픽 분석에서 만든 DCE(데이터 수집 엔드포인트) 리소스에 대한 공용 액세스를 제한할 수 있나요?
예, 공용 액세스를 사용하지 않도록 설정하여 DCE 리소스에 대한 공용 인바운드 트래픽을 제한할 수 있습니다.
기존 작업 영역을 사용해도 되나요?
예. 기존 작업 영역을 선택하는 경우 새 쿼리 언어로 마이그레이션되었는지 확인합니다. 작업 영역을 업그레이드하지 않으려면 새 작업 영역을 만들어야 합니다. KQL(Kusto 쿼리 언어)에 대한 자세한 내용은 Azure Monitor의 로그 쿼리를 참조하세요.
Azure Storage 계정과 Log Analytics 작업 영역이 서로 다른 구독에 있어도 되나요?
네, Azure Storage 계정이 한 구독에 있고, Log Analytics 작업 영역이 다른 구독에 있어도 됩니다.
원시 로그를 네트워크 보안 그룹 또는 가상 네트워크에 사용되는 구독과 다른 구독에 저장할 수 있나요?
예. 적절한 권한이 있고 스토리지 계정이 네트워크 보안 그룹(네트워크 보안 그룹 흐름 로그) 또는 가상 네트워크(가상 네트워크 흐름 로그)와 동일한 지역에 있는 경우 다른 구독에 있는 스토리지 계정으로 전송되도록 흐름 로그를 구성할 수 있습니다. 대상 스토리지 계정은 네트워크 보안 그룹 또는 가상 네트워크의 동일한 Microsoft Entra 테넌트를 공유해야 합니다.
내 흐름 로그 리소스와 스토리지 계정이 다른 테넌트에 있을 수 있나요?
아니요. 네트워크 보안 그룹(네트워크 보안 그룹 흐름 로그), 가상 네트워크(가상 네트워크 흐름 로그), 흐름 로그, 스토리지 계정 및 Log Analytics 작업 영역(트래픽 분석이 사용하도록 설정된 경우)을 포함한 모든 리소스는 동일한 테넌트에 있어야 합니다.
Log Analytics 작업 영역과 다른 스토리지 계정에 대한 보존 정책을 구성할 수 있나요?
예.
흐름 로깅에 사용되는 스토리지 계정을 삭제하면 Log Analytics 작업 영역에 저장된 데이터가 손실될까요?
아니요. 흐름 로그에 사용되는 스토리지 계정을 삭제하는 경우 Log Analytics 작업 영역에 저장된 데이터는 영향을 받지 않습니다. Log Analytics 작업 영역에서 기록 데이터를 볼 수 있지만(일부 메트릭에 영향을 주지만) 다른 스토리지 계정을 사용하도록 흐름 로그를 업데이트할 때까지 트래픽 분석은 더 이상 새 흐름 로그를 처리하지 않습니다.
"찾을 수 없음" 오류로 인해 트래픽 분석을 위한 네트워크 보안 그룹을 구성할 수 없으면 어떻게 하나요?
지원되는 지역을 선택합니다. 지원되지 않는 영역을 선택할 경우 "찾을 수 없음" 오류가 표시됩니다. 자세한 내용은 트래픽 분석 지원 지역을 참조하세요.
흐름 로그 페이지에 상태가 “로드 실패”로 표시되면 어떻게 하나요?
흐름 로깅이 제대로 작동하려면 Microsoft.Insights
공급자를 등록해야 합니다. 공급자가 구독에 Microsoft.Insights
등록되어 있는지 확실하지 않은 경우 등록 방법에 대한 NSG 흐름 로그 관리 지침을 참조하세요.
솔루션을 구성했습니다. 그런데 왜 대시보드에 아무 것도 표시되지 않나요?
대시보드에 처음으로 보고서가 표시되는 데 최대 30분이 걸릴 수 있습니다. 솔루션은 먼저 의미 있는 인사이트를 도출할 수 있을 만큼 충분한 데이터를 집계한 다음 보고서를 생성해야 합니다.
"선택한 시간 간격 동안 이 작업 영역에서 데이터를 찾을 수 없습니다. 시간 간격을 변경하거나 다른 작업 영역을 선택해 보세요.”
다음 옵션을 시도해 보세요.
- 위쪽 메뉴에서 시간 간격을 변경합니다.
- 위쪽 메뉴에서 다른 Log Analytics 작업 영역을 선택합니다.
- 트래픽 분석이 최근에 설정된 경우, 30분 후에 액세스해 봅니다.
문제가 지속되면 Microsoft Q&A에 문제를 제기하세요.
다음 메시지가 표시되면 어떻게 하나요? "NSG 흐름 로그를 처음으로 분석하는 중입니다. 이 프로세스를 완료하는 데 20-30분 정도 걸릴 수 있습니다. 잠시 후 다시 확인하세요."
다음 이유로 메시지가 표시될 수 있습니다.
- 트래픽 분석이 최근에 설정되었으며 의미 있는 인사이트를 얻는 데 필요한 데이터를 아직 충분히 수집하지 못했을 수 있습니다.
- Log Analytics 작업 영역의 체험판 버전을 사용하고 있고 할당량 한도를 초과했습니다. 용량이 큰 작업 영역을 사용해야 할 수도 있습니다.
이전 질문에 대해 제안된 솔루션을 시도해 보세요. 문제가 지속되면 Microsoft Q&A에 문제를 제기하세요.
다음 메시지가 표시되면 어떻게 하나요? “리소스 데이터(토폴로지)는 있는데 흐름 정보가 표시되지 않습니다. 자세한 내용은 여기를 클릭하여 리소스 데이터를 확인하고 FAQ를 참조하세요.”?
대시보드에서 리소스 정보를 보고 있지만 흐름 관련 통계가 없습니다. 리소스 간 통신이 없어 데이터가 없는 것일 수 있습니다. 60분 후에 상태를 다시 확인하세요. 문제가 지속되고 리소스 간 통신 흐름이 있다고 확신하는 경우 Microsoft Q&A에 문제를 제기하세요.
트래픽 분석의 비용은 얼마인가요?
트래픽 분석은 요금이 측정됩니다. 계량은 서비스에 의한 원시 흐름 로그 데이터의 처리를 기반으로 합니다. 자세한 내용은 Network Watcher 가격 책정을 참조하세요.
Log Analytics 작업 영역에서 수집된 향상된 로그는 최대 처음 31일(또는 작업 영역에서 Microsoft Sentinel을 사용하도록 설정된 경우 90일) 동안 무료로 보존할 수 있습니다. 자세한 내용은 Azure Monitor 가격을 참조하세요.
트래픽 분석은 얼마나 자주 데이터를 처리하나요?
트래픽 분석의 기본 처리 간격은 60분이지만, 10분 간격으로 가속 처리를 선택할 수 있습니다. 자세한 내용은 트래픽 분석의 데이터 집계를 참조하세요.
내 작업 영역으로 만든 다른 리소스는 무엇인가요?
트래픽 분석은 접두사 NWTA
로 지정된 작업 영역과 동일한 리소스 그룹에 DCR(데이터 수집 규칙) 및 DCE(데이터 수집 엔드포인트) 리소스를 만들고 관리합니다. 이러한 리소스에 대해 작업을 수행하는 경우 트래픽 분석이 예상대로 작동하지 않을 수 있습니다. 자세한 내용은 트래픽 분석의 데이터 집계를 참조하세요. 자세한 내용은 Azure Monitor의 데이터 수집 규칙 및 Azure Monitor의 데이터 수집 엔드포인트를 참조하세요.
트래픽 분석은 어떻게 IP가 악성임을 결정하나요?
트래픽 분석은 Microsoft 내부 위협 인텔리전스 시스템을 사용하여 IP를 악성으로 간주합니다. 이러한 시스템은 Microsoft 제품 및 서비스, Microsoft DCU(Digital Crimes Unit), MSRC(Microsoft 보안 대응 센터) 및 외부 피드와 같은 다양한 원격 분석 원본을 사용하고 그 위에 인텔리전스를 구축합니다. 해당 데이터 중 일부는 Microsoft Internal입니다. 알려진 IP가 악성으로 표시되는 경우 지원 티켓을 제출하여 세부 정보를 확인합니다.
트래픽 분석 데이터에 대한 경고를 설정하려면 어떻게 해야 하나요?
트래픽 분석에는 경고가 기본적으로 지원되지 않습니다. 그러나 트래픽 분석 데이터가 Log Analytics에 저장되므로 사용자 지정 쿼리를 작성하고 경고를 설정할 수 있습니다. 다음 단계를 수행합니다.
- 트래픽 분석에서 Log Analytics 링크를 사용할 수 있습니다.
- 쿼리를 작성하려면 트래픽 분석 스키마를 사용합니다.
- 경고를 만들려면 새 경고 규칙을 선택합니다.
- 경고를 만들려면 새 경고 규칙 만들기를 참조하세요.
대부분의 온-프레미스 트래픽을 수신하는 가상 머신을 확인하려면 어떻게 해야 하나요?
다음 쿼리를 사용합니다.
AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowType_s == "S2S"
| where <Scoping condition>
| mvexpand vm = pack_array(VM1_s, VM2_s) to typeof(string)
| where isnotempty(vm)
| extend traffic = AllowedInFlows_d + DeniedInFlows_d + AllowedOutFlows_d + DeniedOutFlows_d // For bytes use: | extend traffic = InboundBytes_d + OutboundBytes_d
| make-series TotalTraffic = sum(traffic) default = 0 on FlowStartTime_t from datetime(<time>) to datetime(<time>) step 1 m by vm
| render timechart
IP의 경우 다음 쿼리를 사용합니다.
AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowType_s == "S2S"
//| where <Scoping condition>
| mvexpand IP = pack_array(SrcIP_s, DestIP_s) to typeof(string)
| where isnotempty(IP)
| extend traffic = AllowedInFlows_d + DeniedInFlows_d + AllowedOutFlows_d + DeniedOutFlows_d // For bytes use: | extend traffic = InboundBytes_d + OutboundBytes_d
| make-series TotalTraffic = sum(traffic) default = 0 on FlowStartTime_t from datetime(<time>) to datetime(<time>) step 1 m by IP
| render timechart
시간에는 yyyy-mm-dd 00:00:00 형식을 사용합니다.
온-프레미스 컴퓨터에서 내 가상 머신이 수신한 트래픽의 표준 편차를 확인하려면 어떻게 해야 하나요?
다음 쿼리를 사용합니다.
AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowType_s == "S2S"
//| where <Scoping condition>
| mvexpand vm = pack_array(VM1_s, VM2_s) to typeof(string)
| where isnotempty(vm)
| extend traffic = AllowedInFlows_d + DeniedInFlows_d + AllowedOutFlows_d + DeniedOutFlows_d // For bytes use: | extend traffic = InboundBytes_d + utboundBytes_d
| summarize deviation = stdev(traffic) by vm
IP의 경우:
AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and FlowType_s == "S2S"
//| where <Scoping condition>
| mvexpand IP = pack_array(SrcIP_s, DestIP_s) to typeof(string)
| where isnotempty(IP)
| extend traffic = AllowedInFlows_d + DeniedInFlows_d + AllowedOutFlows_d + DeniedOutFlows_d // For bytes use: | extend traffic = InboundBytes_d + OutboundBytes_d
| summarize deviation = stdev(traffic) by IP
NSG 규칙을 사용하여 IP 쌍 간에 연결할 수 있거나 차단된 포트를 확인하려면 어떻게 하나요?
다음 쿼리를 사용합니다.
AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog" and TimeGenerated between (startTime .. endTime)
| extend sourceIPs = iif(isempty(SrcIP_s), split(SrcPublicIPs_s," "), pack_array(SrcIP_s)),
destIPs = iif(isempty(DestIP_s), split(DestPublicIPs_s," "), pack_array(DestIP_s))
| mvexpand SourceIp = sourceIPs to typeof(string)
| mvexpand DestIp = destIPs to typeof(string)
| project SourceIp = tostring(split(SourceIp, "|")[0]), DestIp = tostring(split(DestIp, "|")[0]), NSGList_s, NSGRule_s, DestPort_d, L4Protocol_s, FlowStatus_s
| summarize DestPorts= makeset(DestPort_d) by SourceIp, DestIp, NSGList_s, NSGRule_s, L4Protocol_s, FlowStatus_s