Search
⚖️

AWS ALB TimeOut

Tags
AWS
Date
2024/06/08

개요

AWS Application Load Balencer는 둘 이상의 가용 영역에서 EC2, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산시킨다. 여러 클라이언트에 대한 단일 접점 역할을 하기 때문에 EC2로 서버 어플리케이션을 배포할 때 보안(SSL 연결 등)이나 트래픽 분산에 있어서 필수적인 옵션이다.
다만 End To End로 클라이언트와 서버를 연결할 때 ALB가 접점 역할을 함에 따라 발생하는 여러 문제가 있는데, 그중에서 가장 대표적인 TimeOut 문제가 외주 개발 중 발생하여 기록하고자 한다.

ALB 속성; Connection Idle TimeOut

ALB에서 속성 편집 메뉴로 들어가면 다음과 같은 세부정보, 트래픽 구성 등 ALB의 구성 정보를 변경하거나 확인할 수 있는 창이 있다.
여기서 Connection Idle Timeout은 ALB가 외부 클라이언트로부터 연결이 되었을 때(Request가 왔을 때) 얼마나 연결 시간을 유지할 것인지에 대한 속성값이다.
최초 생성 시 별다른 설정이 없으면 60초로 설정된다.
이미지
따라서 맨 위에 참조한 이 이미지에서 해당 속성값을 늘렸을 때 문제없이 작동함을 확인할 수 있다.
하지만 TimeOut으로 판단하는 시간을 늘린다는 건 그만큼 내부 에러가 발생했을 때 타임아웃 에러인지 내부 에러인지 아니면 서버가 터졌는지 등을 더 모호하게 만들 수 있는 요소라고 생각해서 개발한 어플리케이션 속성에 맞춰서 시간을 정하면 좋을 것 같다.

참고 문서