[AWS] [Error] https연결

Vorhandenheit ·2022년 6월 1일
0

AWS

목록 보기
10/10

프로젝트 시작하고 둘째주에 https 설정까지 다해놨었지만 프로젝트 끝나기 한 주남은 시점에 다시 키니 https뿐만 아니라 http까지 작동이 되지않았습니다.
별거 아니라고 생각했지만, 오류를 잡다보니 일요일에 시작한게 목요일이되서 끝났습니다.

Error..Error..Error

제일 문제가 되는 부분은 target Group을 부분이었습니다. 아무리 target Group을 생성해서 ALB와 연결해도 계속해서 unhealthy가 떴습니다.

1. Not Found

첫 번쨰 계속해서 부딪힌 에러는 404 Not Found 입니다.
ec2 서버를 켰을 때는 정상적으로 작동하고 있었습니다. 그리고 ALB로 만든 서버역시도 작동하고 있었지만 unhealth가 계속 떠서, ec2와 ALB사이에 무언가 문제가 생겨서 연결이 안되고 있구나 라고 생각할 수 있었습니다.

이 문제를 해결하기위해서 그전까지 단순하게 따라하고 역할만 알고 있었는데, aws에서 ec2의 역할과 ALB, target Group에 흐름을 체크 할 수 있었습니다.
ec2에서 서버를 실행하고 alb는 routeS3로 설정해놓은 웹사이트를 읽어와서 리스너로 설정해놓은걸로 서버를 분산합니다. 그리고 ec2와 연결된 target Group으로 보냅니다.
( ec2에서 포트 설정, alb에서 리스너 설정, target Group에서 포트설정 각각 경우의 수 모든걸 다 적용해보면서 알게되었습니다 )

혹시나 똑같은 에러에 부딪힌다면, 일일히 하지말고 셋팅을 하면 어떤 역할을 하는지 먼저 꼭 공부하시는게 꼭 도움될꺼에요

2. Service Unavailable

https://velog.io/@nnakki/AWS-EC2ELB 를 읽고 이용시간이 문제인가 싶어서, ALB와 targetGroup에 시간을 조정했으나 해결되지않고 health check Error로 넘어갔습니다. 어쨋든 시간 문제가 아님을 알았고, 왔다갔다 검증하는 과정에서 시간 값을 잘못 세팅하면 이러한 에러가 발생할 수 있다는 걸 알게되었습니다.

https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/load-balancer-troubleshooting.html#http-503-issues

3. Bad Gateway

https://study-ihl.tistory.com/117 를 읽고 targetGroup에 상태 체크를 어떻게 사용하는지 알게되었씁니다. 덕분에 targetGroup 이 성공적으로 작동하는지 확실하게 확인할수있는 방법을 배울 수 있었습니다.

4. Request timed out

https://aws-hyoh.tistory.com/133

결국..

위의 모든 과정을 겪고나서 ec2에서 포트 3000으로 실행시키고 ALB에서 리스너 80과 443을 세팅하고 target Group 3000으로 하고나서야 그디어 첫 health가 나옴을 확인할 수 있었습니다.
authbind byport80이 셋팅해놨는데 작동이 되지않았씁니다.(아직도 왜안됬는지 모르겠습니다..) 그래도 찾는 중에 iptables이라고 우분투 방화벽 셋팅하는 걸 알게되어서 authbind와 비슷하게 우회할 수 있다는 걸 찾게되었고 이걸 셋팅해서 https역시 작동하는걸 완료했습니다.

알게된 점

코드 스테이츠 측에서 제시해 준 걸 따라하고 실행되었을 때는 각각이 어떠한 역할을 하는지만 알고 있었는데, 무수한 에러를 겪으면서 각각이 어떻게 데이터가 넘어가고 역할을 통해서 어떻게 변화되는지 알 수가 있었습니다.

더 공부하고 싶은 것

  • iptables
  • apache
profile
읽고 기록하고 고민하고 사용하고 개발하자!

1개의 댓글

comment-user-thumbnail
2023년 7월 3일

안녕하세요 우선 좋은 내용 공유해주셔서 너무 감사드립니다!
다름이 아니라 같은 문제를 해결중이어서 혹시 질문을 드려도 될까하여 댓글 남깁니다 .. !
혹시 타겟 그룹 unhealthy 문제를 해결하기 위해서는 헬스체크하는 코드가 필수로 있어야 하나요..? Requested time out 을 어떤 방식으로 해결하신지도 궁금합니다! 감사합니다

답글 달기