글에 들어가기 앞서 해당 글은 실제 AWS 환경에서 도메인-인스턴스 연결에 대해 구체적으로 서술하지 않습니다. 대략적인 흐름을 익히며 공부한 부분을 작성한 글임을 참고하시길 바랍니다!
라우팅이요?
어느 날 사수에게 미션을 받았다.
IP주소를 도메인 주소로 연결해 봐
정확하게는 http://0.000.000.000:8080를 https://domain:8080로 접속할 수 있도록 라우팅 하라는 것이었다.
여기서 잠깐..!
💡
라우팅 : 데이터가 네트워크 상에서 어디로 전송되어야 하는지 결정하는 것
Route 53 : DNS 서비스
사수가 전달한 IP 주소는 이미 게시된 인스턴스의 탄력적 IP였고, 등록된 도메인을 사용하여 인스턴스로 접근할 수 있도록 설정해야 했다.
미션을 수행하기 앞서 미리 지정되어 있던 것들은 아래와 같다.
- 인스턴스 게시 완!
- Route 53에 해당 도메인에 대한 호스팅 완!
다이어그램 파악하기
내가 이해한 대략적인 흐름은 위와 같다.
미리 지정되어 있던 것들과 다이어그램을 비교해 가며 해야 할 일들을 정리했다.
- Route53을 통해 해당 도메인의 요청을 라우팅 할 ELB를 지정한다.
- ELB에 Application Load Balancer를 생성한다.
- 리스너를 통해 지정된 포트로 요청이 들어올 경우 리다이렉트 할 주소를 지정한다.
- Target Group을 통해 접근할 인스턴스의 Health Status를 Check 할 수 있도록 설정한다.
ELB - Application Load Balancer 생성
로드 밸런서는 트래픽을 분산시키는 역할도 하지만, http 요청이 들어왔을 때 https 요청으로 변경이나 인스턴스와 다른 포트 번호로 요청이 들어왔을 때 리다이렉트 시켜주는 역할도 한다.
💥여기서부터 헷갈림
미션 자체를 제대로 이해하지 못해 http://0.000.000.000:8080 주소로 접근하였을 때, https://domain:8080로 접속이 되어야 하는 줄 알았다.
하지만 인스턴스 자체는 http로 되어있기 때문에 https로 들어온 요청을 http로 변경해야 할 필요가 있었으며 포트 번호는 같기 때문에 리다이렉트할 부분이 아니었다.
그림을 그려서 보면 매우 간단한 흐름이었다. (물론 이제 이해를 했기 때문에 간단해 보일지도..)
그 외
- Target Group 설정
Target Group은 인스턴스의 Health Check를 위해 설정하는 것이다. 그렇기 때문에 EC2의 포트번호와 같아야 한다!! 설정에 주의할 것!
또한 Health Check는 지정된 Path로 요청을 보냈을 때 Http Status Code가 200이 나와야 한다. 이 말은 즉 해당 Path에 대한 Api가 존재해야 한다는 의미이다.
- Route 53에 생성된 레코드
도메인 판매 사이트에 도메인 주소를 구매한 후 Route 53에 레코드를 생성하면 발행되는 네임서버를 도메인 사이트에 지정해줘야 한다.
그렇지만 회사 도메인인데 제가 맘대로 바꿔도 될까요? 사수가 마음대로 가지고 놀라하셨지만 이거는 건드리면 안 될 것 같은데요..? 다행히 이미 등록된 호스팅 영역에 레코드를 추가적으로 생성할 수 있어서 해결할 수 있었다.
이 미션을 하루종일 붙잡고 있었다면 믿으시겠습니까?
그래도 확실하게 이해하고 넘어갈 수 있어서 좋았고 재밌던 미션이었다ㅎㅎ
잘못된 부분은 언제든 댓글로 지적해 주시면 감사하겠습니다.😄
읽어주셔서 감사합니다🍀
'CS > AWS' 카테고리의 다른 글
[AWS S3] 업로드한 이미지 파일 URL 한번에 저장하는 법 (0) | 2024.08.25 |
---|---|
[EC2] SSH 접속 종료 후에도 서버를 유지 시키는 법 (0) | 2024.05.09 |