부자 되기 위한 블로그, 머니킹

안녕하세요. 오늘도 열심히 개발중입니다! 최근 프로젝트가 어느정도 완성되어서 실제 AWS EC2 서버로 배포하였는데요. EC2에서 고정 IP와 연결하여 실제 웹 브라우저에서 ip와 스프링 기본 시작 포트 8080을 통해 접속할 수 있게 되었지만 사이트가 실제 서비스하려면 도메인과 연결하여 접속할 수 있게 해야겠죠. 오늘은 그 방법에 대해서 알아보겠습니다.

 

가비아 도메인 구매

아마 가장 많이 도메인을 구매하는 사이트는 가비아일 것입니다. 가비아에서 원하는 사이트 주소를 검색하여 구매하면 위와 같이 도메인 관리에서 사이트가 목록으로 나옵니다. 

 

 

AWS Route 53 설정

 

AWS에서는 도메인과 연결을 쉽게 할 수 있도록 Route 53 서비스를 운영하고 있습니다. 이는 EC2와 별개의 서비스로 Route53 서비스를 이용하여 EC2 서버의 IP와 연결해 실제 도메인 연결 및 호스팅 준비를 하시면 됩니다.

 

호스팅 영역 생성을 클릭해줍니다.

 

구매한 도메인 이름을 입력해주세요 호스팅 영역을 생성해줍니다.

 

그 후 사이트를 선택하고 레코드 생성을 눌러줍니다. 

 

레코드 이름은 서브 도메인을 사용하신다면 입력해주시면 됩니다. 입력이 필수적인 부분은 EC2 서버의 고정 IP를 값에 입력해줍니다. 설정은 상황에 맞게 하시면 됩니다. 이 후 레코드 생성을 누릅니다.

 

이 후 나온 레코드 목록에서 기본 레코드 이름 옆의 [값/트래픽 라우팅 대상] 4개를 복사해줍니다.

 

 

 

가비아 네임서버 설정

이후 다시 가비아로 돌아가서 해당 도메인 관리창으로 가신 뒤에 [도메인 정보 변경 - 네임 서버 설정]에서 복사한 4개의 값을 각각 1~4차까지 입력하신 후에 적용하시면 됩니다. (적용 버튼을 누르면 소유자 인증이 뜨는데 인증 후에 해당 도메인과 ec2 서버가 연결됩니다)

 

가비아 네임서버 설정

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

해당 과정까지 마무리하면 [도메인 서버]:[포트] URL로 접속이 가능한데요. 하지만 대부분이 도메인 주소만 입력하면 사이트로 접속되길 바라실 것입니다. 따라서 포트포워딩 설정을 해줘야 합니다.

 

ec2 서버로 접속하여 해당 명령어를 입력해줍시다. 해당 명령어는 80 포트 (보통 웹 브라우저의 접속 포트)로 들어오는 모든 연결에 대해 8080으로 바인딩 해주어 포트 번호를 입력해주지 않아도 자동적으로 사이트에 접속됩니다.