504 게이트웨이 타임 아웃이 나왔기 때문에 ALB 유휴 타임 아웃 설정 변경

1668 단어 ALBerrorelb

ALB를 도입하면 브라우저에서 504 Gateway Time-out 오류가 나오게 되었다



해결을 위해 먼저 확인한 것은,
  • ALB의 CloudWatch 모니터링
  • Apache 액세스 로그
  • PHP 사이트의 응용 프로그램 로그

  • 어떤 로그를 봐도, 에러가 증가하지는 않는다.

    웹 서버까지 도달할 수 없는 것을 생각하면, 이것은 Apache나 어플리케이션이 원인이 아니다.
    아마도 로드 밸런서에서 뭔가 두고 있을 것이라고 당첨을 해서 ALB의 사양을 확인한다.

    ALB 문서

    HTTP 504: Gateway Timeout

    가능한 원인:
  • 로드 밸런서가 연결 시간 초과가 만료되기(10초) 전에 대상에 대한 연결을 설정하지 못했습니다.
  • 로드 밸런서가 대상에 대한 연결을 설정했지만 유휴 시간 초과 기간이 경과하기 전에 대상이 응답하지 않았습니다.
  • 서브넷의 네트워크 ACL에서 대상에서 임시 포트(1024-65535)의 로드 밸런서 노드로의 트래픽이 허용되지 않았습니다.
  • 대상이 엔터티 본문보다 큰 Content-Length 헤더를 반환했습니다. 로드 밸런서가 누락된 바이트를 기다리고 시간 초과되었습니다.

  • 과연, ALB의 타임 아웃 설정이 너무 짧으면, 웹 서버로부터의 응답을 기다리지 않고 에러가 발생했는가.

    ALB 설정 화면에서 아이들 타임아웃의 초수를 확인했다


  • AWS 관리 콘솔 > EC2 > 로드 밸런서
  • 대상 로드 밸런서 선택


  • 설명 탭 선택

  • 속성 > 유휴 시간 초과 항목 확인
  • 60 초로 설정되었습니다


  • 설정값을 늘려 업데이트
  • 유휴 시간 제한 범위는 1~3,600초입니다.


  • 안전, 504 게이트웨이 타임 아웃 오류가 발생하지 않습니다!

    참고



    504 Gateway Time-out이 나올 때 Elastic Load Balancing 설정에도주의하십시오.

    좋은 웹페이지 즐겨찾기