리소스 상태 및 인바운드 가용성 문제 해결
이 문서는 부하 분산 장치의 프런트 엔드 IP 및 백 엔드 리소스의 가용성에 영향을 주는 문제를 조사하는 데 도움이 될 수 있습니다.
Azure Load Balancer의 리소스 상태 기능을 사용하여 부하 분산 장치의 상태를 확인할 수 있습니다. 데이터 경로 가용성 메트릭을 분석하여 부하 분산 규칙과 함께 부하 분산 엔드포인트, 프런트 엔드 IP 및 프런트 엔드 포트 조합을 사용할 수 있는지 여부를 확인합니다.
참고 항목
기본 Load Balancer는 리소스 상태 기능을 지원하지 않습니다.
다음 표에서는 부하 분산 장치의 상태를 확인하기 위한 논리를 설명합니다.
Resource Health 상태 | Description |
---|---|
사용 가능 | 부하 분산 장치 리소스가 정상이며 사용할 수 있습니다. |
성능 저하 | 부하 분산 장치에는 성능에 영향을 주는 플랫폼 또는 사용자가 시작한 이벤트가 있습니다. 데이터 경로 가용성 메트릭은 90% 미만이지만 2분 이상 25% 이상의 상태를 보고했습니다. 보통에서 심각한 성능 저하가 발생할 수 있습니다. |
Unavailable | 부하 분산 장치 리소스가 정상이 아닙니다. 데이터 경로 가용성 메트릭은 2분 이상 25% 미만의 상태를 보고했습니다. 성능이 크게 저하되거나 인바운드 연결에 대한 가용성이 부족할 수 있습니다. 사용자 또는 플랫폼 이벤트로 인해 사용할 수 없게 될 수 있습니다. |
알 수 없음 | 부하 분산 장치 리소스의 리소스 상태는 지난 10분 동안 업데이트되거나 데이터 경로 가용성 정보를 받지 못했습니다. 이 상태는 일시적이거나 부하 분산 장치가 리소스 상태 기능을 지원하지 않을 수 있습니다. |
부하 분산 장치의 가용성 모니터링
Azure Load Balancer가 리소스 상태를 확인하는 데 사용하는 두 가지 메트릭은 데이터 경로 가용성 및 상태 프로브 상태입니다. 올바른 인사이트를 도출하려면 의미를 이해하는 것이 중요합니다.
데이터 경로 가용성
TCP ping은 부하 분산 규칙을 구성한 모든 프런트 엔드 포트에서 25초마다 데이터 경로 가용성 메트릭을 생성합니다. 그러면 이 TCP ping은 정상(프로브 업) 백 엔드 인스턴스로 라우팅됩니다. 메트릭은 샘플 기간 동안 각 부하 분산 규칙에 대한 각 프런트 엔드 IP/포트 조합에서 TCP ping의 집계된 성공률입니다.
상태 프로브 상태
상태 프로브에 정의된 프로토콜의 ping은 상태 프로브 상태 메트릭을 생성합니다. 이 ping은 백 엔드 풀의 각 인스턴스와 상태 프로브에 정의된 포트로 전송됩니다. HTTP 및 HTTPS 프로브의 경우 성공적인 ping에는 응답이 HTTP 200 OK
필요합니다. TCP 프로브를 사용하면 모든 응답이 성공한 것으로 간주됩니다.
Azure Load Balancer는 프로브가 프로브 임계값 속성에 대해 구성한 연속 성공 또는 실패 수에 도달할 때 각 백 엔드 인스턴스의 상태를 결정합니다. 각 백 엔드 인스턴스의 상태는 백 엔드 인스턴스가 트래픽을 수신할 수 있는지 여부를 결정합니다.
데이터 경로 가용성 메트릭과 마찬가지로 상태 프로브 상태 메트릭은 샘플링 간격 동안 평균 성공 및 총 ping을 집계합니다. 상태 프로브 상태 값은 프런트 엔드를 통해 트래픽을 보내지 않고 백 엔드 인스턴스를 검색하여 부하 분산 장치에서 격리된 백 엔드 상태를 나타냅니다.
Important
상태 프로브 상태는 1분 단위로 샘플링됩니다. 이 샘플링은 그렇지 않으면 안정적인 값의 사소한 변동으로 이어질 수 있습니다.
예를 들어 두 개의 백 엔드 인스턴스가 있는 활성/수동 시나리오를 고려합니다. 하나는 프로브업되고 다른 하나는 프로브 다운됩니다. 상태 프로브 서비스는 정상 인스턴스에 대한 7개의 샘플과 비정상 인스턴스에 대해 6개의 샘플을 캡처할 수 있습니다. 이 상황은 1분 간격으로 46.15로 표시된 50의 안정적인 값으로 이어집니다.
성능 저하되고 사용할 수 없는 부하 분산 장치 진단
리소스 상태에 대한 이 문서에 설명된 대로 성능이 저하된 부하 분산 장치는 데이터 경로 가용성에 대해 25%에서 90% 사이를 표시합니다. 사용할 수 없는 부하 분산 장치는 2분 동안 데이터 경로 가용성이 25% 미만인 부하 분산 장치입니다.
동일한 단계를 수행하여 구성한 상태 프로브 상태 또는 데이터 경로 가용성 경고에 표시되는 오류를 조사할 수 있습니다. 다음 단계에서는 리소스 상태를 확인하고 데이터 경로 가용성 값이 0%인 부하 분산 장치를 사용할 수 없는 경우 수행할 작업을 탐색합니다. 서비스가 중단되었습니다.
Azure Portal에서 부하 분산 장치 인사이트에 대한 페이지의 자세한 메트릭 보기로 이동합니다. 부하 분산 장치 리소스의 페이지 또는 리소스 상태 메시지의 링크에서 보기에 액세스합니다.
프런트 엔드 및 백 엔드 가용성에 대한 탭으로 이동하여 성능이 저하되거나 사용할 수 없는 상태가 발생한 기간의 30분 기간을 검토합니다. 데이터 경로 가용성 값이 0%인 경우 모든 부하 분산 규칙에 대한 트래픽을 차단하는 것이 있음을 알 수 있습니다. 이 문제가 얼마나 오래 지속되었는지도 확인할 수 있습니다.
트래픽을 처리할 정상 백 엔드 인스턴스가 없으므로 상태 프로브 상태 메트릭을 확인하여 데이터 경로를 사용할 수 없는지 확인합니다. 모든 부하 분산 및 인바운드 규칙에 대해 하나 이상의 정상 백 엔드 인스턴스가 있는 경우 구성이 데이터 경로를 사용할 수 없게 만드는 원인이 아니라는 것을 알 수 있습니다. 이 시나리오는 Azure 플랫폼 문제를 나타냅니다. 플랫폼 문제는 드물지만 신속한 해결을 위해 팀에 자동화된 경고를 트리거합니다.
상태 프로브 오류 진단
상태 프로브 상태 메트릭이 백 엔드 인스턴스가 비정상임을 나타내는 경우 다음 검사 목록을 사용하여 일반적인 구성 오류를 배제하는 것이 좋습니다.
리소스의 CPU 사용률을 확인하여 부하가 높은지 확인합니다.
메트릭 페이지를 통해 리소스의 CPU 백분율 메트릭을 확인하여 확인할 수 있습니다 . 자세한 내용은 Azure Windows 가상 머신에 대한 높은 CPU 문제 해결을 참조 하세요.
HTTP 또는 HTTPS 프로브를 사용하는 경우 애플리케이션이 정상이고 응답성이 있는지 확인합니다.
백 엔드 인스턴스와 연결된 개인 IP 주소 또는 인스턴스 수준 공용 IP 주소를 통해 애플리케이션에 직접 액세스하여 애플리케이션이 작동하는지 확인합니다.
백 엔드 리소스에 적용된 NSG(네트워크 보안 그룹)를 검토합니다. 상태 프로브를 차단하는 것보다
AllowAzureLoadBalancerInBound
우선 순위가 높은 규칙이 없는지 확인합니다.백 엔드 VM 또는 가상 머신 확장 집합의 네트워크 설정을 방문하여 이 작업을 수행할 수 있습니다. 이 NSG 문제가 있는 경우 기존
Allow
규칙을 이동하거나 우선 순위가 높은 새 규칙을 만들어 Azure Load Balancer 트래픽을 허용합니다.OS를 확인합니다. VM이 프로브 포트에서 수신 대기하는지 확인합니다. 또한 VM에 대한 OS 방화벽 규칙을 검토하여 IP 주소
168.63.129.16
에서 발생하는 프로브 트래픽을 차단하지 않는지 확인합니다.Windows 명령 프롬프트에서
netstat -a
또는 Linux 터미널에서netstat -l
을 실행하여 수신 포트를 확인할 수 있습니다.올바른 프로토콜을 사용하고 있는지 확인합니다. 예를 들어 HTTP를 사용하여 비 HTTP 애플리케이션을 수신 대기하는 포트를 검색하는 프로브가 실패합니다.
Azure Firewall을 부하 분산 장치의 백 엔드 풀에 배치하지 마세요. 자세한 내용은 Azure 표준 Load Balancer Azure Firewall 통합을 참조하세요.