HA 프록시가 "호스트에 대한 경로 없음"에서 복구되지 않음

HA 프록시가 "호스트에 대한 경로 없음"에서 복구되지 않음

우리는 Amazon EC2 인스턴스에서 HA 프록시를 사용하여 특정 요청을 EC2 ELB(Elastic Load Balancer)인 두 개의 서로 다른 내부 로드 밸런서로 라우팅하고 있습니다.

HA 프록시 구성은 다음과 같습니다.

defaults
    mode                    http
    log                     global
    no option               redispatch
    retries                 25
    timeout connect 10000 # default 10 second time out if a backend is not found
    timeout client 30000
    timeout server 30000
    maxconn     20000
    stats uri /haproxy?stats
    option http-server-close
    timeout http-request    100s
    timeout http-keep-alive 124s

backend main-service-backend
    option httpchk GET /ping
    server main-service internal-main-service:80 check inter 5s fall 10

backend micro-service-backend
    option httpchk GET /ping
    server micro-service internal-micro-service:80 check inter 5s fall 10

frontend shared-frontend *:80
    acl is-micro-service-url path_reg ^/(/rest/user/.*/?)
    use_backend micro-service-backend if is-micro-service-url
    default_backend main-service-backend

일반적으로 서버 중 하나를 잠시 종료하면 HA 프록시가 복구됩니다. 그러나 일부 네트워크/라우팅 오류가 발생하고 HA 프록시가 복구되지 않는 것 같습니다.

HA 프록시 로그는 다음과 같습니다.

Server micro-service-backend/micro-service is DOWN, reason: Layer4 connection problem, info: "No route to host", check duration: 998ms. 0 active and 0 backup servers left. 1 sessions active, 0 requeued, 0 remaining in queue.
 backend micro-service-backend has no server available!

HA 프록시는 서버 검사를 중지하고 계속 DOWN으로 표시합니다. 그러나 HA 프록시 상자에서 내부 로드 밸런서까지 http 상태 확인을 성공적으로 수행할 수 있습니다.

curl -i http://internal-micro-service:80/ping 
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Date: Fri, 12 Jun 2015 23:08:29 GMT
Server: Apache-Coyote/1.1
Content-Length: 2
Connection: keep-alive

UP

무엇이 잘못되었을지 아시나요? 또 무엇을 조사해야 합니까?

답변1

인터넷 검색을 통해 HA 프록시는 시작 시에만 DNS를 확인한다는 사실을 발견했습니다. HA 프록시는 상태 확인을 수행하기 전에 DNS 확인을 수행하지 않으므로 EC2 ELB는 IP 주소를 무작위로 변경하여 상태 확인이 실패할 수 있습니다.

Elastic Load Balancer는 IP 주소를 변경합니다.

HA 프록시는 시작 시 DNS 확인을 수행합니다.

HA 프록시 DNS 확인에 대한 자세한 내용

관련 정보