배포한 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 또한 적용되었다.
'서버개발' 카테고리의 다른 글
[Docker] Docker 기본 명령어 및 스프링 어플리케이션 배포(기록용) (0) | 2022.08.01 |
---|---|
[AWS CI/CD]ubuntu22.04환경에서 CI/CD 구축하기(Nginx, GitAction, CodeDeploy) (0) | 2022.08.01 |
[AWS] Ubuntu22.04 환경 EC2에서 스프링부트 런칭하기 (0) | 2022.07.26 |
[AWS] EC2 instance 접속 / RSA키 생성 / 공유그룹 (0) | 2022.07.24 |
JWT - Spring Boot JWT Tutorial 후기 및 오류 목록 (0) | 2022.07.19 |