

# Network Flow Monitor의 구성 요소 및 기능
<a name="CloudWatch-NetworkFlowMonitor-components"></a>

Network Flow Monitor는 다음과 같은 개념을 사용하거나 참조합니다.

**에이전트**  
Network Flow Monitor의 *에이전트*는 AWS 컴퓨팅 리소스(Amazon EC2 및 Amazon EKS)에 설치하는 소프트웨어 애플리케이션입니다. 애플리케이션은 2가지 부분으로 구성됩니다.  
+ 첫 번째 부분은 TCP 연결과 관련된 이벤트를 수신하며, eBPF를 사용하여 Linux 커널 내에 등록됩니다. eBPF는 지정된 프로그램이 Linux 커널에서 발생하는 특정 이벤트를 수신할 수 있도록 허용하는 Linux 확장 Berkley 패킷 필터(eBPF) 기능입니다.
+ 두 번째 부분은 eBPF 부분에서 수집한 통계를 집계합니다. 에이전트는 약 30초마다 집계된 지표를 Network Flow Monitor 백엔드로 전송하며, 5초간 지터가 발생할 가능성이 있습니다(즉, 25\$135초).
에이전트에 관한 자세한 내용은 [작동 방식](CloudWatch-NetworkFlowMonitor-inside-network-flow-monitor.md) 섹션을 참조하십시오.

**상위 기여자**  
*상위 기여자*는 Network Flow Monitor 범위 내의 특정 지표 또는 모니터에서 추적 중인 네트워크 흐름 중의 특정 지표(예: 재전송 횟수)에 대해 가장 높은 값을 가진 네트워크 흐름입니다. 성능 지표 측정에 대해 보고된 횟수가 가장 많은 흐름을 검토하면 장애 여부를 조사해야 할 가능성이 있는 위치를 파악하는 데 도움이 될 수 있습니다. Network Flow Monitor는 *워크로드 인사이트*를 위해 모니터링 범위의 상위 기여자에 대한 성능 지표를 반환합니다. 또한 모니터를 생성하면 Network Flow Monitor는 모니터에 대해 선택한 네트워크 흐름의 상위 기여자에 대한 성능 지표를 반환합니다.

**로컬 및 원격 리소스**  
*로컬 리소스*는 Network Flow Monitor 에이전트가 설치된 호스트 위치 또는 여러 호스트의 위치입니다. 이러한 리소스는 서브넷, VPC, 가용 영역, Amazon EKS 클러스터 또는 AWS 리전일 수 있습니다. 예를 들어 DynamoDB와 같은 웹 서비스와 백엔드 데이터베이스 간 상호 작용으로 구성된 워크로드를 고려합니다. 이 시나리오에서 로컬 리소스는 웹 서비스를 호스팅하는 EC2 인스턴스의 서브넷으로, 여기에서는 에이전트도 실행합니다. 네트워크 흐름은 일반적으로 방향성을 가지지만 양방향으로 구성할 수 있습니다.  
*원격 리소스*는 네트워크 흐름의 다른 쪽 끝입니다. 백엔드 RDS 데이터베이스가 있는 웹 서비스의 이 예제에서는 DynamoDB가 원격 리소스입니다. 원격 리소스는 서브넷, VPC, 가용 영역, AWS 서비스 또는 AWS 리전일 수 있습니다. 리전을 원격 리소스로 지정하면 Network Flow Monitor는 리전의 엣지까지 네트워크 흐름의 성능을 측정합니다. 리전 내 특정 엔드포인트에 대한 성능은 측정하지 않습니다.  
리소스는 리소스의 ARN, AWS 서비스의 이름 또는 가용 영역이나 리전의 경우 영역 또는 리전의 이름으로 식별됩니다.

**워크로드 인사이트**  
*워크로드 인사이트*에는 범위 내의 모든 네트워크 흐름에 대해 반환된 성능 지표가 포함됩니다. AWS Management Console의 **워크로드 인사이트** 페이지에서는 워크로드 인스턴스에 Network Flow Monitor 에이전트를 설치한 워크로드에 대한 성능 데이터를 제공합니다. **워크로드 인사이트** 페이지에서는 전송된 데이터 양과 워크로드 범주로 그룹화된 여러 다른 지표를 포함한 애플리케이션을 볼 수 있습니다. 예를 들어 가용 영역(AZ) 간의 트래픽 또는 AZ 내의 트래픽이 있는 워크로드에 대한 모든 지표를 볼 수 있습니다. 이러한 인사이트를 사용하면 모니터를 생성하려는 워크로드를 선택하여 세부 정보를 확인하고, 네트워크 성능을 지속적으로 추적할 수 있습니다.

**모니터**  
*모니터*를 생성하여 하나 이상의 특정 워크로드에 대한 네트워크 성능을 지속적으로 모니터링하고, 네트워크 흐름에 대한 자세한 정보를 확인할 수 있습니다. Network Flow Monitor는 각 모니터에 대해 엔드 투 엔드 성능 지표와 장애의 원인을 확인하는 데 사용할 수 있는 네트워크 상태 지표(NHI)를 게시합니다. **워크로드 인사이트** 페이지의 정보를 검토하여 중점을 두려는 네트워크 흐름을 확인한 다음, 해당 흐름에 대한 모니터를 생성하는 것이 좋습니다. 그런 다음, **워크로드 인사이트**를 정기적으로 검토하여 필요한 모니터가 있는지 또는 새 모니터를 생성하는 것이 도움이 될지 확인할 수 있습니다.

**네트워크 상태 지표(NHI)**  
*네트워크 상태 지표*(NHI)는 선택한 기간 동안 모니터가 추적하는 하나 이상의 네트워크 흐름에 AWS 네트워크 문제가 있었는지 여부를 알려주는 이진 값입니다. NHI 값이 1 또는 **성능 저하됨**인 경우, 하나 이상의 네트워크 흐름에 AWS 네트워크 문제가 있는 것입니다. NHI 지표를 사용하면 AWS 네트워크 문제 또는 워크로드에서 발생하는 네트워크 문제를 해결하려는 작업을 중점적으로 수행할지 여부를 신속하게 결정할 수 있습니다.  
자세한 내용은 [CloudWatch에서 Network Flow Monitor 지표 보기](CloudWatch-NetworkFlowMonitor-cw-metrics.md) 섹션을 참조하세요.

**범위**  
Network Flow Monitor에서 *범위*는 네트워크 성능 지표를 볼 때 관찰할 수 있는 계정입니다. 관리 계정으로 로그인하고 CloudWatch를 사용하여 AWS Organizations를 구성하는 경우 범위를 조직의 2개 이상 계정(총 최대 100개 계정)으로 설정할 수 있습니다. 그렇지 않으면 Organizations에 관리 권한이 없는 AWS 계정으로 로그인하거나 CloudWatch로 Organizations를 구성하지 않은 경우 Network Flow Monitor는 범위를 로그인한 계정으로 설정합니다.  
Organizations를 구성한 후에는 계정을 추가하거나 제거하여 범위를 변경할 수 있습니다. 그러나 범위가 변경될 때마다 Network Flow Monitor는 범위에 있는 리소스의 새 토폴로지를 생성해야 합니다. 자세한 내용은 [범위에 여러 계정 추가](CloudWatch-NetworkFlowMonitor-multi-account.md#CloudWatch-NetworkFlowMonitor-multi-account.config-scope) 섹션을 참조하세요.  
Network Flow Monitor는 범위에 대한 고유한 **범위 ID**를 생성합니다. 지표 데이터에 대한 쿼리는 범위 ID를 사용하여 Network Flow Monitor가 지표를 생성하는 리소스를 확인합니다. (Network Flow Monitor를 사용하여 계정의 성능 지표를 보려면 우선 지표 데이터를 수집하고 제출할 에이전트를 설치해야 합니다.)

**쿼리 ID**  
Network Flow Monitor는 모니터의 최상위 기여자에 대한 쿼리 같은 성능 지표 데이터를 검색하기 위해 생성된 각 쿼리에 대해 고유한 *쿼리 ID*를 생성합니다. Network Flow Monitor에서 API 직접 호출과 함께 쿼리 ID를 사용하면 쿼리의 상태를 확인하거나, 쿼리를 중지하거나, 쿼리를 다시 실행하거나, 다른 방식으로 쿼리를 사용할 수 있습니다.

**성능 지표**  
Network Flow Monitor는 Network Flow Monitor 범위에 있는 각 흐름에 대해 전송된 TCP 왕복 시간(RTT), TCP 재전송 횟수, TCP 재전송 제한 시간, 바이트를 비롯한 엔드 투 엔드 *성능 지표*를 수집하고 계산합니다. 서비스는 이러한 지표를 집계하여 서비스 백엔드로 반환합니다. 지표 유형별로 상위 기여자를 볼 수 있습니다. Network Flow Monitor에서 이상이 표시되면 네트워크 상태 지표(NHI)를 확인하여 기본 AWS 네트워크 문제가 있는지 확인할 수도 있습니다.  
RTT가 항상 계산되는 것은 아니므로 RTT 데이터는 희소할 수 있습니다.  
Amazon CloudWatch 기능을 사용하여 이러한 지표를 기준으로 대시보드, 경보, 알림을 생성할 수도 있습니다. 예를 들어 [Network Flow Monitor를 사용하여 경보 생성](CloudWatch-NetworkFlowMonitor-create-alarm.md)의 정보를 검토하여 Network Flow Monitor 지표로 경보를 설정하는 방법을 알아볼 수 있습니다.