IT/실수하지말자

Network Load Balancer Unhealthy

Terriermon 2021. 2. 5. 14:57

아마존 공식 홈페이지에 잘 나와 있다.

https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-troubleshooting.html

 

하지만 번역 투는 쉽게 읽히지 않는다.

 

Healthy Check

  • 로드 밸런서가 인스턴스의 상태를 확인하는 것
  • 정상적인 대상에만 요청을 보냄

 

Unhealthy Check

  • 인스턴스의 상태를 정상적으로 확인하지 못함
  • 인스턴스의 상태가 정상적이지 않음

 

원인

1. 등록 된 대상이 서비스 중이 아닙니다
    • 보안 그룹이 로드 밸런서의 접근을 막고 있는 경우

      🌞 로드 밸런서로 접근하는 Port를 보안 그룹에서 Open

    • 네트워크 액세스 제어 목록 (ACL)이 트래픽을 허용하지 않는 경우

      ACL: 인터페이스로 들어오고 나가는 패킷을 분석해 정해진 규칙에 따라 패킷을 전송/차단하여 네트워크의 접속을 제어함 라우터의 방화벽

       

      🌞 인스턴스의 서브넷/로드밸런서의 서브넷과 연결된 ACL이 로드 밸런서의 트래픽 및 상태 확인을 허용해야 함
2. 요청이 대상으로 라우팅되지 않았습니다.
      • 보안 그룹 확인 --> 1번 참고

        🌞 인스턴스 보안그룹, 로드 밸런서 노드의 리스너 포트 ▶ 트래픽 허용

      • ACL 트래픽 허용 --> 1번 참고

        🌞 VPC 서브넷과 연결된 ACL은 로드 밸런서 및 리스너 포트에서 양방향 통신 허용

      • 활성화 되지 않은 가용 영역에 있을 때

        ⚠ 로드 밸런서 트래픽 수신 ❌

      • 인스턴스가 로드 밸런서 VPC와 피어링 된 VPC에 있을 때

        IP 주소로 로드 밸런서에 인스턴스 등록(인스턴스 ID ❌)

        🌞 같은 VPC에 있으면 인스턴스 ID ⭕️

         

3. 대상이 예상보다 더 많은 상태 확인 요청을 받습니다.
      • HealthCheckIntervalSeconds 설정을 통해 구성된 상태 확인 수보다 더 많이 수신하는 지 확인]

 

4. 대상이 예상보다 적은 상태 확인 요청을 받습니다.
      • net.ipv4.tcp_tw_recycle 가 활성화 되어 있으면 문제 발생

        ▶ net.ipv4.tcp_tw_reuse 설정

 

5. 비정상 대상은 로드 밸런서에서 요청을 받습니다.
      • 비정상 등록된 대상만 있으면 로드 밸런서는 모든 대상으로 요청을 라우팅
      • 정상/비정상 등록 대상이 있으면 정상으로만 라우팅 요청

 

6. 호스트 헤더 불일치로 인해 대상이 HTTP 또는 HTTPS 상태 확인에 실패
      • 상태 확인 요청 HTTP 호스트 헤더에 로드 밸런서 노드의 IP 주소와 리스너 포트 포함
      • 수신 호스트 헤더 별로 매핑 -> 모든 HTTP 호스트 헤더와 일치하는 지 확인

 

7. 대상에서 로드 밸런서로의 요청에 대한 연결 시간 초과
      • 인스턴스 ID 대상의 내부 부하 분산기 확인
      • 인스턴스 ID 대신 IP 주소로 인스턴스 등록

 

8. 대상을 NLB로 이동할 때 성능 저하
      • 연결 멀티 플렉싱 사용❌

        CLB와 ALB는 사용

         

      • ▶ TCP 연결을 더 많이 수신 ⭕️
9. AWS PrviateLink를 통해 연결하는 포트 할당 오류
      • 55,000 개의 동시 연결 초과 시 포트 할당 오류 발생

 

발생한 문제

      • 80 port를 통해 정상적으로 로드밸런싱을 했지만 unhealthy가 발생
      • 연결된 EC2에서 아파치를 아직 배포하지 않았기 때문

▶▶ EC2와 로드밸런서의 상태를 잘 확인하자

'IT > 실수하지말자' 카테고리의 다른 글

[Network] FTP 작동 방식  (0) 2021.06.17
[Terraform] terraform apply가 계속 적용되는 현상  (0) 2021.04.29
[Terraform] Cycle 에러  (0) 2021.03.24
DNS ip 주소 확인  (0) 2021.02.16
AWS Terraform instance - EBS 붙이기 팁  (0) 2021.01.28