본문 바로가기
CS/AWS

[AWS] 도메인 주소와 인스턴스 연결하기

by Hyeri.dev 2024. 3. 17.
글에 들어가기 앞서 해당 글은 실제 AWS 환경에서 도메인-인스턴스 연결에 대해 구체적으로 서술하지 않습니다. 대략적인 흐름을 익히며 공부한 부분을 작성한 글임을 참고하시길 바랍니다!

라우팅이요?

어느 날 사수에게 미션을 받았다.

IP주소를 도메인 주소로 연결해 봐

정확하게는 http://0.000.000.000:8080https://domain:8080로 접속할 수 있도록 라우팅 하라는 것이었다.

 

여기서 잠깐..!

💡
라우팅
: 데이터가 네트워크 상에서 어디로 전송되어야 하는지 결정하는 것
Route 53 : DNS 서비스

 

사수가 전달한 IP 주소는 이미 게시된 인스턴스의 탄력적 IP였고, 등록된 도메인을 사용하여 인스턴스로 접근할 수 있도록 설정해야 했다.

 

미션을 수행하기 앞서 미리 지정되어 있던 것들은 아래와 같다.

  1. 인스턴스 게시 완!
  2. Route 53에 해당 도메인에 대한 호스팅 완!

다이어그램 파악하기

내가 이해한 대략적인 흐름은 위와 같다. 

 

미리 지정되어 있던 것들과 다이어그램을 비교해 가며 해야 할 일들을 정리했다.

  1. Route53을 통해 해당 도메인의 요청을 라우팅 할 ELB를 지정한다.
  2. ELB에 Application Load Balancer를 생성한다.
    1. 리스너를 통해 지정된 포트로 요청이 들어올 경우 리다이렉트 할 주소를 지정한다.
  3. 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에 레코드를 생성하면 발행되는 네임서버를 도메인 사이트에 지정해줘야 한다. 

 

그렇지만 회사 도메인인데 제가 맘대로 바꿔도 될까요? 사수가 마음대로 가지고 놀라하셨지만 이거는 건드리면 안 될 것 같은데요..? 다행히 이미 등록된 호스팅 영역에 레코드를 추가적으로 생성할 수 있어서 해결할 수 있었다.


 

이 미션을 하루종일 붙잡고 있었다면 믿으시겠습니까? 

그래도 확실하게 이해하고 넘어갈 수 있어서 좋았고 재밌던 미션이었다ㅎㅎ

 

잘못된 부분은 언제든 댓글로 지적해 주시면 감사하겠습니다.😄

읽어주셔서 감사합니다🍀