🐊 aws

awselb/2.0 503 error

읏차 2024. 4. 29. 00:14

서버 연결을 완료했다고 생각하고 프로젝트를 진행하고 있었는데...

 

대환장 파티

동일한 요청에 대해서 말 그대로 대환장 파티가 일어나고 있었다.

201.. 503.. CORS

 

일단 CORS에 대한 처리를 해줬다. origin을 확인하고.  OPTIONS 메서드로 들어오는 preflight 처리를 해주니 CORS에러는 사라졌지만 503은 그대로였다.

 

요청을 눌러보니 awsalb/2.0 이라는 에러가 떠서 검색해보니 
https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html

 

Application Load Balancer 문제 해결 - Elastic Load Balancing

리소스 맵 내의 상태 점검 요약 및 오류 메시지를 보려면 리소스 세부 정보 표시를 활성화해야 합니다. 활성화되지 않은 경우 각 리소스를 선택하여 해당 세부 정보를 확인해야 합니다.

docs.aws.amazon.com

 

문제가 되는 상황이 많이 뜨긴하는데 우리 문제가 어떤 문제인지 감을 잡기 어려운 상황이였다.
stackoverflow에서 nginx로 프록시서버를 만들어서 트래픽을 전달해주면 된다고 해서 해봤지만 여전히 503은 사라지지않았다. ( 생각해보면 alb에서 에러가 나는데.. nginx로 프록시 서버를 만드는게 무슨 의미가 있을까 )

 

그러다 실마리를 찾게해준..!

https://stackoverflow.com/questions/60840048/aws-elb-503-service-temporarily-unavailable

 

AWS ELB: 503 Service Temporarily Unavailable

I am trying to deploy microservices to AWS ECS following this example repo. Here, a load balancer is utilized for networking between different docker services. I have adjusted the cloudformation

stackoverflow.com

 

ALB의 "/" 경로에 대한 타겟 그룹을 설정해주면 해결된다는 것이였다.

현재 우리 ALB는 /chat, /user에 대해서만 타겟 그룹이 설정되어 있고 /에 대한 처리가 안되어 있는 상황이였다.

그래서 일단 /chat -> / 로 타겟 그룹의 경로를 바꿔줬다.

 

두둔..

 

허허.. 이후 리스너 규칙에 각각 /chat/*, /user/*을 추가해주고 대상그룹과 연결해주니 역시 동일하게 정상 동작했다.

 

ALB에서 경로기반 라우팅을 적용하면서 보았던 글인데 중간에 리스너 규칙에 대해 언급되어있다..

더 꼼꼼히..

https://repost.aws/ko/knowledge-center/elb-achieve-path-based-routing-alb