-
[ALB] ALB에 EC2 연결하면서 만난 문제들클라우드/AWS 2024. 10. 20. 15:15
- 인스턴스 한대에 어떤 서비스 포트가 (80, 7443) 두 개 열려져 있는 상황
- 로드밸런서 alb를 연결하면서 생각해봤던 문제들을 다시 떠올려본다...
1) 80 번포트
- alb의 리스너를 http 80으로 열어주고 타겟그룹을 https 443으로 설정했음
- 이유는 curl http://ip:80 했을때 301 에러가 뜸 -> 리디렉션 된것으로 판단 (서버자체에서 리다이렉션 시켜줌)
- curl --insecure https://ip:443 으로 테스트해보면 잘 나옴
- 타겟그룹을 https:443으로 붙여야 트래픽이 잘 전달될 것 ( http로 접속하면 알아서 https로 리디렉션 되도록 설정)
따라서, 리스너를 80으로 열어주면 알아서 443으로 리디렉션 되도록 설정하자
alb dns 주소를 입력하면 알아서 443 으로 열려있는 서비스를 띄워줌!
2) 7443 포트
- alb의 리스너를 http 7443으로 열어주고 타겟그룹을 https / http 7443 으로 열어도 모두 가능함
- curl http://ip:7443 -> 400 에러
- curl https://ip:7443 -> 잘 뜸
-> 400에러를 통해 http 요청이 거부가 됐다고 판단됨
-> 애초에 7443 포트는 Https 용이 맞긴 함
-> 따라서 로드밸런서 설정을 통해 http 요청이 들어오면 https 으로 리디렉션 되도록 설정해주자
-> http://alb dns 주소:7443을 하면 자동으로 https로 리디렉션 시켜줌
dns:80
dns:7443
으로 브라우저에 url을 치면 알아서 https로 리디렉션 시키고, 서비스 웹페이지를 띄워줌!
400 -> 내잘못, 500 -> 니잘못.. https://studysteadily.tistory.com/17
HTTP 상태 코드 (Response Status Code) 200, 300, 400, 500 정리 | 404 에러
코드 상태 메시지 설명 200번대 성공 200 OK 요청 성공 300번대 리다이렉션 301 Moved Permanently 요청한 리소스는 변경된 URL에서 찾음 400번대 클라이언트 오류 403 Forbidden 요청 거부 (클라이언트가 콘텐
studysteadily.tistory.com
이상했던게 뭐냐면
80번 포트의 대상 그룹 프로토콜 : 포트는 https만 되는데
7443번 포트의 대상 그룹 프로코콜: 포트는 http, https 모두 허용이 됐음
이유를 유추해 보자면
1) 80번 포트는 서버 내부에서 Https으로만 응답을 설정했으면 http으로 트래픽이 아예 허용이 안된다고 생각할 수 있다 -> 301 응답이면 해당 이유로 유추가능
2) 7443 번 포트는 커스텀 포트로, 서버가 http와 https의 트래픽을 모두 처리하도록 설정되어 있을 수 있다. 따라서 alb가 둘 다 시도해도 성공할 수 있는것
추가로 대상그룹의 프로토콜과 상태검사의 프로토콜은 독립적으로 설정할 수 있음
대상 그룹의 프로토콜:포트는 ALB가 실제 사용자 트래픽을 전달할 때 사용하는 프로토콜과 포트
상태검사의 프로토콜은 ALB가 서버의 상태를 점검할 때 사용하는 프로토콜로, 트래픽 전달과는 별개의 설정
'클라우드 > AWS' 카테고리의 다른 글
[Terraform] 테라폼 기초 (1) 2024.11.23 [AWS] Route53에 대한 고찰 (0) 2024.11.18 [RDS] MySQL 5.7 to 8.0 업그레이드 기록 (2) 2024.07.27 [AWS] AWS IoT Greengrass V2 Workshop 2 (1) 2023.12.05 [AWS] IoT Greengrass V2 Workshop 1 (2) 2023.12.05