이번 포스팅에서는 배포한 서버에 도메인을 입히는 방법에 대해 알아보고자 한다. 도메인을 입히기 위해서는 먼저 도메인 등록 업체에서 도메인을 구입해야만 한다. 각자 도메인을 구입한 사이트 내에서 DNS를 변경할 수 있는 공간으로 이동해서 아래의 과정을 진행해주면 된다. 필자는 "가비아" 사이트에서 도메인을 구입하였으므로 가비아 사이트를 기준으로 작성하고자 한다.
( 도메인 구입 사이트 : 가비아 )
< 목차 >
- Route 53 / 도메인 연결하기
- HTTPS
1. Route 53 / 도메인 연결하기
가비아 사이트에서 도메인을 구입하였다면, 도메인 관리 페이지에서 네임서버 부분을 수정해줘야 한다. 네임서버를 설정할 때 AWS에서 생성한 인스턴스의 내용을 토대로 설정해줘야 하기 때문에 AWS 사이트에 다시 접속하도록 하자.
AWS에서 Route 53 대시보드로 들어가준다. Route 53 에서 도메인 관련 내용들을 처리할 수 있다.
Route 53의 호스팅 영역에서 도메인을 등록해주면 된다. 호스팅 영역 생성 버튼을 클릭해주자.
각자 구입한 도메인 이름을 작성해준 다음 "호스팅 영역 생성" 버튼을 눌러주면 된다.
호스팅 영역을 생성했다면 도메인 이름을 클릭해서 레코드를 조회해보도록 하자.
레코드에서 NS (Name Server) 유형에 해당하는 내용 (빨간색 부분) 을 가비아 사이트의 네임서버 설정 항목 안에 작성해주면 된다.
추가 (설정 화면)
그리고 레코드 생성 버튼을 눌러서 A 유형과 CNAME 유형을 생성해주어야 한다. A 유형의 내용으로는 탄력적 IP값 (고정된 IP값) 을 넣어주고 CNAME의 내용으로는 A 유형의 레코드 이름을 넣어준다. CNAME은 서브도메인을 설정해주는 유형이기 때문에 www.ingoos.co.kr로 접속했을 때 ingoos.co.kr로 이동되게끔 해주는 개념이다.
혹시 서브도메인을 만들어주고 싶다면 A 유형의 레코드를 추가로 생성하여 레코드 이름에 서브도메인 이름을 같이 작성해주면 된다. 그렇게 되면 프론트와 백을 따로 배포했을 때 하나의 도메인으로 두개의 IP를 사용할 수 있게되는 셈이다.
이로써 AWS에 있는 IP 주소와 가비아에서 구매한 도메인 주소의 연결이 끝났다. 하지만 Nginx를 이용해서 리버스 프록시를 하고 있다면 Nginx의 default 파일을 수정해주는 작업을 추가로 진행해줘야 한다. default 파일 안에 도메인 주소를 작성해줘야 하는 것이다.
## default 파일 경로
cd /etc/nginx/sites-enabled/
## 관리자 권한으로 default 파일 열기
sudo vi default
server_name 부분에 연결한 도메인 주소를 작성해주기만 하면 된다. default 파일을 수정했다면 반드시 아래의 명령어를 입력해 오류를 체크하고 Nginx를 재시작 해주도록 하자.
## 문법 오류 체크
sudo nginx -t
## nginx 재시작
sudo service nginx restart
2. HTTPS
이제 마지막으로 보안적인 이슈를 해결하기 위해 https를 설정해주도록 하자. 우리가 배포한 서버에 https를 적용하기 위해서 모질라에서 제공해주는 3개월짜리 무료 https 인증을 사용하도록 하겠다. (3개월마다 재발급 받기만 하면 계속해서 무료로 이용이 가능하다고 한다.)
(사이트 참고)
Nginx 와 Ubuntu 20을 선택해주도록 하자.
선택을 완료하면 설치하고 적용하는 명령어들이 나오게 되는데 가이드라인에 나온대로 진행해주기만 하면 된다.
## https://certbot.eff.org/
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
## /snap/bin/certbot
## certbot 실행파일에 링크 걸기
sudo ln -s /snap/bin/certbot /usr/bin/certbot
## nginx 관련 certbot 실행하기
sudo certbot --nginx
certbot을 실행하면 https가 적용되면서 Nginx의 default 파일 내용이 수정될 것이다. 계속해서 강조하지만 default 파일의 내용이 수정되었다면 반드시 오류 체크를 하고 Nginx를 재시작 해주도록 하자.
## 문법 오류 체크
sudo nginx -t
## nginx 재시작
sudo service nginx restart
드디어 5부작에 걸친 "AWS EC2 배포하기"가 마무리 되었다.
도움이 되었다면,, 공감과 좋아요,, 부탁드립니다...
추가 내용)
certbot을 사용하면 3개월 마다 인증서를 재발급 받아야만 한다. 스케줄링 관리가 필요한 순간이다. 특정한 시간에 어떠한 코드를 실행하고 싶을 때 clonetab을 이용하면 수월하게 처리를 할 수 있을 것이다.
## clonetab
## 인증서 재발급 명령어
sudo certbot renew
## 인증서 재발급 체크
sudo certbot renew --dry-run
'AWS' 카테고리의 다른 글
AWS EC2 배포 - (4) PM2 & Nginx 설정하기 (0) | 2022.06.02 |
---|---|
AWS EC2 배포 - (3) Nginx & 탄력적 IP (0) | 2022.06.01 |
AWS EC2 배포 - (2) 서버컴퓨터 환경설정 (0) | 2022.06.01 |
AWS EC2 배포 - (1) 인스턴스 생성 및 연결 (1) | 2022.06.01 |