Route53을 사용하게 되면 월 0.5$ 정도의 금액이 부과된다.
https://aws.amazon.com/ko/route53/pricing/
https://www.gabia.com
가비아 사이트에 들어가서 원하는 도메인 구매하기.
원하는 도메인을 검색하고 알맞은 비용에 도메인으로 구매하면 된다.
구매는 전부 기본 설정으로 진행함.
나는 gpterview.site
라는 도메인을 구매했다.
호스팅 영역 생성 클릭
생성하면 NS와 SOA 모두 AWS에서 자동으로 생성해준다.
Route 53에서 마지막이지만 가장 중요한 설정인 A 레코드를 설정해주자.
사용자가 웹 브라우저에서 도메인 이름을 입력하면 해당 도메인의 웹 서버 또는 다른 네트워크 서비스로 연결하는 데 사용하는 레코드이다.
Route 53에서 레코드 생성 버튼을 누르고, 다음과 같이 ec2 IP를 정확하게 입력하고 생성해주자.
https://www.gabia.com
My가비아 → 구매한 도메인 - 관리 버튼 클릭
네임서버 설정으로 이동
다음 화면에서 Route53에서 나온 NS 4개를 입력
다시 Route53으로 돌아가서 레코드를 생성하자.
EC2의 인바운드 아웃바운드는 다음과 같이 설정해주자.
이 부분은 나중에 HTTPS를 적용하면서
연결한 EC2 인스턴스에 접근해서 NGINX를 설치하고 NGINX가 정상적으로 실행되는지 확인한다.
-- 설치
sudo yum install nginx
-- 설치 확인
sudo service nginx status
-- EC2 재부팅 시에도 NGINX 자동 시작
sudo systemctl enable nginx
이제 가비아에서 구매한 도메인으로 들어가서 NGINX 화면이 제대로 나오는지 확인해보자.
Nginx는 80포트의 요청을 받아서 처리해준다.
Nginx에서 다음 설정을 진행하자.
# service-url.inc 파일 생성
sudo vim /etc/nginx/conf.d/service-url.inc
# 다음 코드를 입력 후 :wq로 종료
set $service_url http://127.0.0.1:8080;
나는 SpringBoot을 사용하고 있기 때문에 SpringBoot의 기본 설정 포트인 8080 포트로 설정했다.
이 부분은 서버 설정에 따라 변경해주면 된다.
# nginx 설정으로 가기
sudo vim /etc/nginx/nginx.conf
사진의 위치에 다음 코드를 추가해주면 된다.
사진출처: [무중단 배포] Nginx를 사용해 EC2에 무중단 배포 적용하기 < Hyun / Log >:티스토리
include /etc/nginx/conf.d/service-url.inc;
location / {
proxy_pass $service_url;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
이제 nginx 설정이 끝났으니 재시작해주자.
# nginx 재시작
sudo systemctl restart nginx
# 상태 확인
sudo systemctl status nginx
이제 나의 웹 서버 화면을 확인할 수 있다.