Network Load Balancer의 CloudWatch 지표
Elastic Load Balancing은 로드 밸런서와 대상을 위해 Amazon CloudWatch에 데이터 포인트를 게시합니다. CloudWatch를 사용하면 이러한 데이터 포인트에 대한 통계를 정렬된 시계열 데이터 세트로 검색할 수 있습니다. 이러한 통계를 지표라고 합니다. 지표를 모니터링할 변수로 생각하면 데이터 요소는 시간에 따른 변수의 값을 나타냅니다. 예를 들어 지정된 기간 동안 로드 밸런서에 대한 정상 상태 대상의 총 수를 모니터링할 수 있습니다. 각 데이터 요소에는 연결된 타임스탬프와 측정 단위(선택 사항)가 있습니다.
지표를 사용하여 시스템이 예상대로 수행되고 있는지 확인할 수 있습니다. 예를 들어 CloudWatch 경보를 생성하여 지정된 지표를 모니터링할 수 있으며, 지표가 허용 범위를 벗어난다고 간주되는 경우 작업(예: 이메일 주소로 알림 전송)를 시작할 수 있습니다.
Elastic Load Balancing은 요청이 로드 밸런서를 통과하는 경우에만 지표를 CloudWatch에 보고합니다. 로드 밸런서를 통과하는 요청이 있는 경우 Elastic Load Balancing은 60초 간격으로 지표를 측정하고 전송합니다. 로드 밸런서를 통과하고 있는 요청이 없는 경우나 지표에 대한 데이터가 없는 경우에는 지표가 보고되지 않습니다. 보안 그룹이 있는 Network Load Balancer의 경우 보안 그룹에서 거부한 트래픽은 CloudWatch 지표에 캡처되지 않습니다.
자세한 설명은 Amazon CloudWatch 사용자 가이드를 참조하세요.
목차
Network Load Balancer 지표
AWS/NetworkELB
네임스페이스에는 다음 지표가 포함되어 있습니다.
지표 | 설명 |
---|---|
ActiveFlowCount |
클라이언트에서 대상까지의 동시 흐름(또는 연결)의 총 수입니다. 이 지표에는 SYN_SENT 및 ESTABLISHED 상태의 연결만 포함됩니다. TCP 연결은 로드 밸런서에서 종료되지 않으므로 대상에 대한 TCP 연결을 여는 클라이언트는 단일 흐름으로 계산됩니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
ActiveFlowCount_TCP |
클라이언트에서 대상까지의 동시 TCP 흐름(또는 연결)의 총 수입니다. 이 지표에는 SYN_SENT 및 ESTABLISHED 상태의 연결이 포함됩니다. TCP 연결은 로드 밸런서에서 종료되지 않으므로 대상에 대한 TCP 연결을 여는 클라이언트는 단일 흐름으로 계산됩니다. 보고 기준: 0이 아닌 값이 있을 때 통계: 가장 유용한 통계는 차원
|
ActiveFlowCount_TLS |
클라이언트에서 대상까지의 동시 TLS 흐름(또는 연결)의 총 수입니다. 이 지표에는 SYN_SENT 및 ESTABLISHED 상태의 연결이 포함됩니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ActiveFlowCount_UDP |
클라이언트에서 대상까지의 동시 UDP 흐름(또는 연결)의 총 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ActiveZonalShiftHostCount |
현재 영역 전환에 참여하고 있는 대상 수입니다. 보고 기준: 로드 밸런서가 영역 전환에 대해 옵트인된 경우 보고됩니다. 통계: 가장 유용한 통계는 차원
|
ClientTLSNegotiationErrorCount |
클라이언트와 TLS 리스너 간의 협상 중에 실패한 전체 TLS 핸드셰이크의 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ConsumedLCUs |
로드 밸런서에서 사용하는 로드 밸런서 용량 단위(LCU) 수. 시간 단위로 사용한 LCU 수만큼 요금을 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금 보고 기준: 항상 보고. 통계: 모두 차원
|
ConsumedLCUs_TCP |
TCP의 로드 밸런서에서 사용하는 로드 밸런서 용량 단위(LCU) 수. 시간 단위로 사용한 LCU 수만큼 요금을 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금 보고 기준: 0이 아닌 값이 있을 때. 통계: 모두 차원
|
ConsumedLCUs_TLS |
TLS의 로드 밸런서에서 사용하는 로드 밸런서 용량 단위(LCU) 수. 시간 단위로 사용한 LCU 수만큼 요금을 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금 보고 기준: 0이 아닌 값이 있을 때. 통계: 모두 차원
|
ConsumedLCUs_UDP |
UDP의 로드 밸런서에서 사용하는 로드 밸런서 용량 단위(LCU) 수. 시간 단위로 사용한 LCU 수만큼 요금을 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금 보고 기준: 0이 아닌 값이 있을 때. 통계: 모두 차원
|
HealthyHostCount |
정상 상태로 간주되는 대상 수. 이 지표에는 대상으로 등록된 Application Load Balancer가 포함되지 않습니다. 보고 기준: 등록된 대상이 있는 경우 보고됩니다. 통계: 가장 유용한 통계는 차원
|
NewFlowCount |
해당 기간 동안 클라이언트에서 대상까지 설정되는 새로운 흐름(또는 연결)의 총 수입니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
NewFlowCount_TCP |
해당 기간 동안 클라이언트에서 대상까지 설정되는 새로운 TCP 흐름(또는 연결)의 총 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
NewFlowCount_TLS |
해당 기간 동안 클라이언트에서 대상까지 설정되는 새로운 TLS 흐름(또는 연결)의 총 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
NewFlowCount_UDP |
해당 기간 동안 클라이언트에서 대상까지 설정되는 새로운 UDP 흐름(또는 연결)의 총 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
PeakPacketsPerSecond |
샘플링 기간 동안 10초마다 계산되는 최고 평균 패킷 속도(초당 처리되는 패킷)입니다. 이 지표에는 상태 확인 트래픽이 포함됩니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
PortAllocationErrorCount |
클라이언트 IP 변환 작업 중 임시 포트 할당 오류의 총 수입니다. 0이 아닌 값은 클라이언트 연결이 끊어졌음을 나타냅니다. 참고: Network Load Balancers는 클라이언트 주소 변환을 수행할 때 각각의 고유 대상(IP 주소 및 포트)에 대해 55,000건의 동시 연결 또는 분당 약 55,000건의 연결을 지원합니다. 포트 할당 오류를 해결하려면 대상 그룹에 더 많은 대상을 추가하세요. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ProcessedBytes |
TCP/IP 헤더를 포함하여 로드 밸런서가 처리하는 총 바이트 수. 이 수는 대상부터의 트래픽, 대상까지의 트래픽, 마이너스 상태 확인 트래픽을 포함합니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
ProcessedBytes_TCP |
TCP 리스너에서 처리한 총 바이트 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ProcessedBytes_TLS |
TLS 리스너에서 처리한 총 바이트 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ProcessedBytes_UDP |
UDP 리스너에서 처리한 총 바이트 수입니다. 보고 기준: 0이 아닌 값이 있을 때 통계: 가장 유용한 통계는 차원
|
ProcessedPackets |
로드 밸런서에서 처리한 총 패킷 수입니다. 여기에는 대상부터의 트래픽, 대상까지의 트래픽, 상태 확인 트래픽을 포함합니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
RejectedFlowCount |
로드 밸런서에서 거부한 총 흐름(또는 연결) 수입니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
RejectedFlowCount_TCP |
로드 밸런서에서 거부한 TCP 흐름(또는 연결) 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Inbound_ICMP |
로드 밸런서 보안 그룹의 인바운드 규칙에서 거부한 새 ICMP 메시지 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Inbound_TCP |
로드 밸런서 보안 그룹의 인바운드 규칙에서 거부한 새 TCP 흐름 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Inbound_UDP |
로드 밸런서 보안 그룹의 인바운드 규칙에서 거부한 새 UDP 흐름 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Outbound_ICMP |
로드 밸런서 보안 그룹의 아웃바운드 규칙에서 거부한 새 ICMP 메시지 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Outbound_TCP |
로드 밸런서 보안 그룹의 아웃바운드 규칙에서 거부한 새 TCP 흐름 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
SecurityGroupBlockedFlowCount_Outbound_UDP |
로드 밸런서 보안 그룹의 아웃바운드 규칙에서 거부한 새 UDP 흐름 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
TargetTLSNegotiationErrorCount |
TLS 리스너와 대상 간의 협상 중에 실패한 전체 TLS 핸드셰이크의 수입니다. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
TCP_Client_Reset_Count |
클라이언트에서 대상까지 전송된 재설정(RST) 패킷의 총 수입니다. 이러한 재설정은 클라이언트에 의해 생성되고 로드 밸런서에 의해 전달됩니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
TCP_ELB_Reset_Count |
로드 밸런서에 의해 생성되는 재설정(RST) 패킷의 총 수입니다. 자세한 내용은 문제 해결을 참조하세요. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
TCP_Target_Reset_Count |
대상에서 클라이언트로 전송된 재설정(RST) 패킷의 총 수입니다. 이러한 재설정은 대상에 의해 생성되고 로드 밸런서에 의해 전달됩니다. 보고 기준: 항상 보고. 통계: 가장 유용한 통계는 차원
|
UnHealthyHostCount |
비정상 상태로 간주되는 대상 수. 이 지표에는 대상으로 등록된 Application Load Balancer가 포함되지 않습니다. 보고 기준: 등록된 대상이 있는 경우 보고됩니다. 통계: 가장 유용한 통계는 차원
|
UnhealthyRoutingFlowCount |
라우팅 장애 조치 작업(페일 오픈)을 사용하여 라우팅된 흐름(또는 연결) 수. 보고 기준: 0이 아닌 값이 있을 때. 통계: 가장 유용한 통계는 차원
|
ZonalHealthStatus |
이 지표는 가용 영역별 Network Load Balancer의 상태를 나타냅니다. 보고 기준: 상태 확인을 활성화한 경우 보고됩니다. 통계: 가장 유용한 통계는 차원
|
Network Load Balancer의 지표 차원
로드 밸런서 측정치를 필터링하려면 다음 차원을 사용하십시오.
차원 | 설명 |
---|---|
AvailabilityZone |
가용 영역을 기준으로 지표 데이터를 필터링합니다. |
LoadBalancer |
로드 밸런서를 기준으로 지표 데이터를 필터링합니다. 로드 밸런서는 다음과 같이 지정합니다. net/load-balancer-name/1234567890123456(로드 밸런서 ARN의 마지막 구간). |
TargetGroup |
대상 그룹을 기준으로 지표 데이터를 필터링합니다. 대상 그룹은 다음과 같이 지정합니다. targetgroup/target-group-name/1234567890123456(대상 그룹 ARN의 마지막 구간). |
Network Load Balancer 지표에 대한 통계
CloudWatch는 Elastic Load Balancing에서 게시한 지표 데이터 포인트를 기반으로 통계를 제공합니다. 통계는 지정한 기간에 걸친 지표 데이터 집계입니다. 통계를 요청하면 지표 이름 및 차원으로 반환된 데이터 스트림이 식별됩니다. 차원이란 지표를 고유하게 식별하는 데 도움이 되는 이름/값 쌍을 말합니다. 예를 들어 특정 가용 영역에서 시작된 로드 밸런서를 지원하는 정상 상태의 모든 EC2 인스턴스에 대한 통계를 요청할 수 있습니다.
Minimum
및 Maximum
통계는 각 샘플링 창에서 개별 로드 밸런서 노드가 보고한 최소 및 최대 데이터 포인트 값을 반영합니다. HealthyHostCount
최댓값을 늘리면 UnHealthyHostCount
최솟값이 감소합니다. 최대 HealthyHostCount
값을 모니터링하여 최대 HealthyHostCount
값이 필요한 최솟값 아래로 떨어지거나 0
이 되면 알람을 호출하는 것이 좋습니다. 이렇게 하면 대상이 비정상 상태가 된 시기를 식별하는 데 도움이 될 수 있습니다. 또한 최소 UnHealthyHostCount
값을 모니터링하여 최소 UnHealthyHostCount
값이 0
을 초과했을 때 알람을 호출하는 것이 좋습니다. 이렇게 하면 등록된 대상이 더 없을 때 이를 알 수 있습니다.
Sum
통계는 모든 로드 밸런서 노드의 집계 값입니다. 지표에는 기간별 보고서가 여러 개 있기 때문에 Sum
은 모든 로드 밸런서 노드에서 집계된 지표에만 적용할 수 있습니다.
SampleCount
통계는 측정된 샘플의 수입니다. 지표는 샘플링 간격 및 이벤트를 토대로 수집이 되기 때문에 일반적으로 이 통계는 유용하지 않습니다. 예를 들어 HealthyHostCount
에 대해 SampleCount
는 각 로드 밸런서 노드가 보고하는 샘플 수를 기반으로 하며 정상 호스트 수는 아닙니다.
로드 밸런서에 대한 CloudWatch 지표 보기
Amazon EC2 콘솔을 사용하여 로드 밸런서에 대한 CloudWatch 지표를 볼 수 있습니다. 이 측정치들은 모니터링 그래프로 표시됩니다. 로드 밸런서가 활성 상태로 요청을 수신 중에 있으면 모니터링 그래프에 데이터 요소가 표시됩니다.
또는 CloudWatch 콘솔을 사용하여 로드 밸런서에 대한 지표를 볼 수 있습니다.
콘솔을 사용한 메트릭 확인
https://console.aws.amazon.com/ec2/
에서 Amazon EC2 콘솔을 엽니다. -
대상 그룹을 기준으로 필터링한 지표를 보려면 다음 작업을 수행합니다.
-
탐색 창에서 대상 그룹을 선택합니다.
-
대상 그룹을 선택하고 모니터링을 선택합니다.
-
(선택 사항) 시간을 기준으로 결과를 필터링하려면 다음에 대한 데이터 표시에서 시간 범위를 선택합니다.
-
단일 지표를 크게 보려면 그래프를 선택합니다.
-
-
로드 밸런서를 기준으로 필터링한 지표를 보려면 다음 작업을 수행합니다.
-
탐색 창에서 [Load Balancers]를 클릭합니다.
-
로드 밸런서를 선택하고 [Monitoring]을 선택합니다.
-
(선택 사항) 시간을 기준으로 결과를 필터링하려면 [Showing data for]에서 시간 범위를 선택합니다.
-
단일 지표를 크게 보려면 그래프를 선택합니다.
-
CloudWatch 콘솔을 사용하여 지표를 보려면
-
https://console.aws.amazon.com/cloudwatch/
에서 CloudWatch 콘솔을 엽니다. -
탐색 창에서 [지표(Metrics)]를 선택합니다.
-
[NetworkELB] 네임스페이스를 선택합니다.
-
(선택 사항) 모든 차원의 지표를 보려면 검색 필드에 이름을 입력합니다.
를 사용하여 지표를 보려면AWS CLI
사용 가능한 지표의 목록을 표시하려면 아래 list-metrics 명령을 사용하세요.
aws cloudwatch list-metrics --namespace AWS/NetworkELB
AWS CLI를 사용하여 지표에 대한 통계를 구하려면
지정된 지표 및 차원에 대한 통계를 구하려면 아래 get-metric-statistics 명령을 사용하세요. CloudWatch는 각각의 고유한 차원의 조합을 별도의 지표로 처리합니다. 특별 게시가 되지 않은 차원의 조합을 사용해 통계를 검색할 수는 없습니다. 지표 생성 시 사용한 것과 동일하게 차원을 지정해야 합니다.
aws cloudwatch get-metric-statistics --namespace AWS/NetworkELB \ --metric-name UnHealthyHostCount --statistics Average --period 3600 \ --dimensions Name=LoadBalancer,Value=net/my-load-balancer/50dc6c495c0c9188 \ Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \ --start-time 2017-04-18T00:00:00Z --end-time 2017-04-21T00:00:00Z
다음은 예제 출력입니다.
{
"Datapoints": [
{
"Timestamp": "2017-04-18T22:00:00Z",
"Average": 0.0,
"Unit": "Count"
},
{
"Timestamp": "2017-04-18T04:00:00Z",
"Average": 0.0,
"Unit": "Count"
},
...
],
"Label": "UnHealthyHostCount"
}