[AWS] 도메인 기초지식 (Route 53)
들어가기 앞서 . . .
전 포스팅에서 EC2를 통해 탄력적 IP를 할당받고, IP를 통해 웹 페이지도 접속해보았다.
하지만 우리가 네이버, 혹은 구글등을 사용할 때 일일이 IP주소를 치고 들어갈까? 그렇지 않다. www.naver.com 혹은 www.google.com 이라는 url로 들어가게 된다. 서버를 배포하였으면 이런식으로 사용자들이 이용하기 쉽게 도메인을 연결해주어야한다.
도메인 연결 실습 전, 간단한 이론을 정리하고 도메인을 사용해야하는 이유를 알아보자.
Route 53이란?
한 줄로 요약하자면 “도메인을 발급하고 관리해주는 서비스”이다.
여기서 도메인은 www.naver.com, www.google.com과 같은 문자로 표현된 인터넷 주소를 뜻한다.
Route 53을 더 전문적인 용어로 표현하자면 DNS(Domain Name System)이라고 할 수 있다.
DNS(Domain Name System)이란?
도메인이 없던 시절에는 특정 컴퓨터와 통신하기 위해서 IP(ex. 12.123.456.78)를 사용했다.
하지만 IP 주소는 긴 숫자들로 이루어져있어 일일이 외우기 불편하다는 단점이 존재했다. 이 때문에 사람들이 기억하기 쉬운 문자로 컴퓨터 주소를 나타낼 수 있는 방법에 대해 고민을 하기 시작했다.
애초에 IP를 문자로 설계하면 되지 않나? 라는 생각을 할 수 있지만, 컴퓨터는 문자 처리보다 숫자 처리를 더 쉽게 하기에 처음부터 IP를 문자로 설계하는데에 어려움이 있었다.

이를 해결하기 위해 IP 주소를 변환해주는 DNS 라는 하나의 서버(시스템)를 만들게 되었다.
DNS가 생기고나서부터 사람들은 특정 컴퓨터와 통신하기 위해 긴 숫자로 나열된 IP 주소를 일일이 외울 필요가 없게 됐다.
gcorelabs.com이라는 도메인을 입력하면 DNS에서 gcorelabs.com의 IP를 반환해준다. DNS 내부적으로 설계되어있기에 따로 설계를 하지 않아도 된다.
현업에서 Route53을 활용할까?
프론트 웹 페이지든, 백엔드 서버든 일반적으로 IP가 아닌 도메인으로 통신한다.
여러가지 이유가 존재하지만 가장 큰 이유는 HTTPS 적용 때문이다.
IP 주소에는 HTTPS를 적용할 수 없기 떄문에 도메인 주소를 사용해야만 HTTPS를 적용할 수 있다. (HTTPS는 보안에 취약한 HTTP에 데이터 암호화가 추가된 프로토콜이다. 비밀번호와 주민등록번호등의 개인정보가 제 3자에게 조회되면 안되기 때문에 반드시 HTTPS를 사용해야한다.) 이 때문에 특정 서비스를 운영할 때 도메인을 필수록 사용해야한다.
하지만 DNS 역할을 하는 서비스는 AWS의 Route 53뿐만 아니라, 가비아, 후이즈 등에서도 도메인을 구매하고 관리할 수 있다.
즉 DNS의 역할을 서비스하고있다. 현업에서는 무조건적으로 AWS Route 53을 고집하진 않는다.
각 서비스마다 구매할 수 있는 도메인의 종류가 다르기 때문에 내가 원하는 도메인이 존재하는 곳의 DNS 서비스를 활용하자.
(ex. 가비아는 haen.com등의 도메인을 제공하는데, Route 53에서는 haen.co.kr등의 도메인을 제공하는 등.)
도메인(Domain)연결하기
Route 53과 DNS에 대한 기초 이론을 쌓았으면 이제 도메인을 연결해보자. 저번 포스팅에서 사용한 EC2 인스턴스는 종료하였기때문에 다시 EC2 인스턴스를 만든 뒤 배포해보자.
EC2 인스턴스 생성 방법이 기억나지 않으면 해당 포스팅으로 이동하자.

성공적으로 배포했다.
하지만 진짜 서비스를 배포하는 것도 아니고, 도메인 연결 테스트를 하기 위해서 10달러가 넘는 돈을 내는건 좀 아깝지않은가..
그래서 무료로 도메인을 제공해주는 사이트를 이용해보기로 했다.
https://xn--220b31d95hq8o.xn--3e0b707e/
내도메인.한국 - 한글 무료 도메인 등록센터
한글 무료 도메인 내도메인.한국, 웹포워딩, DNS 등 무료 도메인 기능 제공
xn--220b31d95hq8o.xn--3e0b707e
근데 굳이 왜 돈을 내서 도메인을 사는걸까?
위처럼 무료로 제공되는 도메인을 사용하면 쉽게 나만의 웹 사이트를 도메인을 이용해서 배포할 수 있다.
하지만 왜 Route 53이나 가비아같은 서비스를 이용해서 굳이 돈을내며 도메인을 사는걸까 ?
이런 무료 도메인은 단점이 존재한다.
- 주소가 이상하다 (http://haennni.kro.kr)
- 도메인 서버(DNS)자체가 불안정하다.
도메인은 어느 순간 요청을 보냈는데 서버가 끊기기도 한다.
그래서 실제 운영하는 서버에서 무료 도메인을 사용하지 않는 걸 추천한다. 도메인 서버 문제가 생겨서 서비스가 중단될 수도 있기 떄문이다.
그러니 무료로 도메인을 구매하는 것은 연습용으로만 사용하고 프로젝트를 진행하며 실제로 서비스를 운영해보고싶다면 도메인을 사서 사용하는 것을 추천한다.
마무리하며
이론만 보면 좀 어렵게 느껴졌는데, 실제로 왜 도메인을 쓰는지, IP랑 무슨 차이인지, 왜 HTTPS를 위해서 도메인이 꼭 필요한지를 하나하나 정리하다 보니 개념이 조금씩 머리에 들어오는 느낌이었다.
특히 무료 도메인도 써볼 수 있다는 걸 처음 알게 돼서, 부담 없이 실습할 수 있다는 점이 마음에 들었다.
다만, 실제 운영을 하려면 안정적인 서비스를 위해 돈을 조금 들여서라도 제대로 된 도메인을 사는 게 좋겠다는 생각도 들었고..!
이제 도메인이 뭔지, 왜 쓰는지 감은 잡았으니까
다음 포스팅에서는 직접 도메인을 연결해서 내 EC2 서버와 이어주는 과정을 하나하나 실습해보려고 한다!
그럼 다음 글에서 이어서 도메인 연결 실습을 해보자!