[AWS] EC2 ALB 연결 후 503 Service Temporarily Unavailable
서버개발

[AWS] EC2 ALB 연결 후 503 Service Temporarily Unavailable

배포한 EC2에 SSL를 이용하여 HTTPS를 적용하기 위해서 ALB를 만들고 타겟그룹을 지정해서

- 80포트로 접근 시 443으로 redirection

- 443포트로 접근 시 80포트(타겟그룹 EC2 instance)으로 변경 후 서버 내에서 8080포트(Spring Application)로 포트포워딩 하도록 설계했다. 그런데 서버를 접속해보니 503 Service Temporarily Unavailable 에러가 발생하였다.

80포트로 접속했을 때 443으로 리다이렉션은 잘 수행되지만, 서버로는 연결이 되지 않았다.

타겟그룹의 모니터링을 살펴봐도 Unused로 사용기록이 없어 타겟그룹에 접속하지 못한다는 걸 알게되었다.

하루정도 시간이 걸렸고 서버 아키텍처를 조금 더 이해하고 나서야 원인을 찾을 수 있었다.

AZ(availability zone)는 각 Region내에서 격리된 구역이고 서로 침범하지 못한다. 

내 EC2는 ap-northeast-2d에 있었고, ALB는 subnet-2a, 2c에 설정되어 있었다. 이걸 해결하기 전에도 ALB를 제대로 이해하지 못해서 문제가 많아 고쳤는데, 결정적인 이유는 이것인 것 같다.

 

ALB의 서브넷을 2a, 2d로 수정하자 정상 작동하였고, HTTPS 또한 적용되었다.