웹사이트 개설에는 도메인이 필수적입니다.
도메인은 인터넷상의 주소로,
등록을 통해 사용자들이 웹사이트에 접속할 수 있게 해 주는데요.
오늘은 도메인과 관련된 용어들을 이해하고,
실제 가비아에서 등록하는 과정까지를 알아보겠습니다.
1. 도메인
1-1. 도메인
인터넷은 수많은 컴퓨터들이 서로 연결되어 있는 거대한 네트워크인데,
각 컴퓨터는 인터넷에 연결되 있는 동안,
유일한 IP 주소를 가지도록 되어 있습니다.
이때 IP주소들은 모두 숫자로 구성되어 있는데요.
예를 들면, '192.0.2.1'과 같습니다.
실제로 궁금하다면,
주소창에, "ifconfig.me"를 입력해 보세요.
여러분 컴퓨터의 ip주소가 나오는 것을 볼 수 있습니다.
그런데, 이런 숫자로 된 주소는 기억하기 매우 어렵습니다.
그래서, 네트워크의 컴퓨터들의 구분은 이러한 숫자로 하되,
사람들에게는 매칭되는 기억하기 쉬운 이름을 사용할 수 있도록 하고 있는데요.
'192.0.2.1'이라는 IP 주소 대신,
'example.com'이라는 도메인을 사용하는 것입니다.
네이버서버의 ip주소를 외우는 사람은 없지만,
'naver.com'은 모두 외우고 있는것 처럼요.
1-2. DNS(Domain Name System)
위에서 '192.0.2.1'과 같은 IP주소를,
'example.com'과 같은 도메인으로 매칭해서 사용한다고 하였는데요.
이때 사용되는 것이 바로 DNS라고 하는 'Domain Name System'입니다.
이 시스템이 도메인 이름('example.com')을 해당 컴퓨터의 IP 주소로 변환해 주는 데,
이를 Name Resolution이라고 합니다.
다시 한번 정리하면,
모든 서버 컴퓨터는 ip주소를 가지고 있고,
도메인 이름과 ip주소를 DNS에 등록해,
유저가 도메인을 브라우저에 입력했을 때,
등록된 ip주소로 유저가 접속할 수 있게 해 주는 것입니다.
1-3. DNS 매칭 과정
그런데, 어떻게 도메인 이름과 IP주소를 매칭해 줄 수 있을까요?
그것은 전 세계에 분산되 저장된 DNS서버에,
이름과 IP주소가 매칭된 기록이 있기 때문입니다.
이 서버들에 이름과 IP주소가 매칭된 기록을 저장하고,
그것을 가져오면 되는 것입니다.
그래서 도메인을 파는 업체들은 도메인 이름만 파는 것이 아니라,
이러한 DNS서버 호스팅서비스까지 같이 제공합니다.
이 과정을 좀 더 자세히 보면 다음과 같습니다.
- 도메인 이름을 업체에서 구매
- 해당 도메인 이름에 대한 DNS 레코드를 설정
- 도메인이름과 IP주소를 매칭한 A레코드 설정
- 필요한 경우 CNAME레코드 설정
- 글로벌 DNS서버 업데이트
- (자격이 있는) 도메인 업체에서 위에서 설정한 것을 DNS서버에 배포
1-4. A 레코드와 CNAME 레코드
위에서 언급한,
'A 레코드'는 "Address Record"의 약자인데요.
도메인 이름을 IP 주소(IPv4프로토콜)로 직접 매칭하는 것을 말합니다.
도메인 업체에 도메인을 사서,
도메인이름과 자신이 가진 서버의 ip주소를 매칭시키기 위해서,
A레코드를 설정해서 도메인과 서버를 연결합니다.
'CNAME 레코드'는 "Canonical Name Record"의 이고요.
도메인을 다른 도메인으로 연결할 때 사용하는데요.
예를 들어 보겠습니다.
'http://www.example.com'이 'example.com'으로 연결되어 있다면,
이 정보는 CNAME 레코드에 저장됩니다.
이 경우 'http://www.example.com'은 별칭이고,
'example.com'은 그것의 정규 이름입니다.
이렇게 함으로써 다음과 같은 장단점을 가지게 됩니다.
- 장점
- 원본 도메인 IP가 변경되더라도 연결시킬 수 있음
- 여러 서비스를 연동시킬 때 유용
- 단점
- 루트 도메인(test.com 같이 도메인 앞에 아무것도 붙이지 않는 것을 가리킴)에는 사용이 불가함
- ip주소로는 연결할 수 없고, 도메인이름끼리만 연결
다시 한번 표로 간단히 정리해 보면 다음과 같습니다.
구분 | 연결 |
A레코드 | 도메인을 IP주소로 연결 도메인회사에서 도메인을 구매해, A레코드를 설정해 도메인과 서버의 ip주소를 연결함 |
CNAME 레코드 |
도메인을 다른 도메인으로 연결 도메인회사에서 도메인을 구매해, CNAME레코드를 통해, 기존의 특정한 도메인과, 새로운 도메인을 연결시킴 |
3. 브라우저에서 도메인 입력 후 IP주소 호출 과정
사용자가 브라우저에 도메인을 입력하고 나면,
다음과 같은 과정으로 IP주소가 호출됩니다.
- 도메인 이름을 입력
- 사용자의 컴퓨터가 먼저 로컬 DNS 서버에 요청을 보내 도메인 이름에 대한 IP 주소를 질의
- 로컬 DNS 서버에 해당 정보가 없는 경우, 요청은 상위 DNS 서버로 전달
- 필요한 경우 루트 DNS 서버까지 거슬러 올라갈
- 해당 도메인의 정보를 관리하는 DNS 서버가 찾아지게 됨
- 해당 DNS 서버가 도메인 이름에 해당하는 IP 주소 정보를 제공
4. 도메인 이름과 URL
도메인 이름과 URL(Universal Resource Locator)은 종종 혼동되지만,
두 용어는 서로 다른 개념입니다.
도메인 이름은 특정 서버의 주소이고요.
URL은 인터넷상의 특정 리소스인 웹페이지나 이미지 파일 등을 가리킵니다.
즉, URL이 도메인 이름을 포함한 넓은 개념이라는 뜻입니다.
예를 들어, 'http://www.example.com/index.html'은 URL인데,
여기서 'http://www.example.com'이 도메인 이름입니다.
5. 도메인 이름과 매칭된 IP주소 확인해 보기
터미널에서 ping 명령어와 함께,
도메인이름을 입력하면,
매칭되는 ip 주소를 볼 수 있습니다.
ping <도메인네임>
잘 알고 있는 사이트들의 주소를 입력해 보시면, 매칭된 IP주소를 확인해 볼 수 있습니다.
위에서 알아보았던 DNS시스템에 따라서 등록된 주소로 매칭이 되는 것이지요.
6. 등록된 도메인을 서버의 IP 주소와 연결하기
6-1. 도메인 연결설정으로 이동 ( DNS 레코드 설정 )
도메인 업체에서 구매한 도메인을,
자신이 가지고 있는 서버에 등록하는 방법도 알아야 하겠지요.
여러 업체가 있겠지만,
여기서는 가비아를 기준으로 정리해 보겠습니다.
'홈페이지 > My가비아'로 이동합니다.
이용 중인 서비스 목록에서 '도메인'을 클릭해 줍니다.
그러면, 자신이 구매한 도메인 리스트들이 보이는데요.
여기서 '관리'버튼을 클릭해 줍니다.
여기서 도메인 관리 화면이 나오는데요.
여기서 핵심은 도메인 설정 화면입니다.
'DNS 정보'에서 DNS 레코드 설정으로 이동해 줍니다.
6-2. 루트 도메인 레코드 추가하기
'레코드 수정'버튼을 누르면 나오는 아래 화면에서,
'+ 레코드 추가'버튼을 눌러줍니다.
메뉴에서 각각 다음의 값들을 선택해 줍니다.
- 타입: 드롭다운 메뉴에서 A타입 선택
- 호스트: 서브도메인주소 입력
- 루트 도메인으로 연결 시에, '@'를 입력
*www.test.com이라면, 루트 도메인은 test.com(즉, 앞에 아무것도 안 붙이는 것)
- 루트 도메인으로 연결 시에, '@'를 입력
- 값/위치: 값에는 서버 컴퓨터의 ip주소를 입력해 주고 확인을 누른 다음, 저장해 주면 됩니다.
- ex) 123.456.789.012같이 순수한 ip주소만 입력
값들을 다 넣고, 우측의 확인 버튼을 누른 후, 우측 하단의 '저장'버튼을 눌러주면 됩니다.
참고로 위의 TTL은 DNS 레코드가 캐시에 저장되는 시간을 초 단위로 지정하는 것인데요.
600초면 10분이 되겠지요.
값이 낮을수록 DNS변경사항이 더 빨리 전파됩니다.
대신, 서버에 대한 쿼리수가 증가해서 부하가 커질 수 있고요.
너무 높으면, 변경사항 전파에 시간이 오래 걸립니다.
DNS 설정 변경 시, 최대 48시간까지 연결이 불안정할 수 있는데요.
중요한 변경 전에는 TTL을 낮추어 변경 사항이 빨리 전파되도록 할 수 있습니다.
특별한 요구사항이 없다면,
도메인 설정 시 나와있는 디폴트값을 사용하시고,
DNS변경이 필요한 경우에만 일시적으로 낮추었다 다시 올려서 사용하는 것이 좋습니다.
6-3. 서브도메인 레코드 추가
위와 똑같은 방법으로 하되,
이번에는 호스트에 서브도메인으로 'www'를 추가해 줍니다.
그럼 앞의 서브도메인 주소에 www 없이 또는 www 있는 경우 모두 유저가 접속할 수 있게 됩니다.
일반 유저들이 주소창에 www 없이,
도메인 주소를 입력하는 경우도 많기 때문입니다.
이렇게 하면 도메인 등록이 끝나게 됩니다.
도메인 등록이 어려워 보이지만,
결국 알아야 할 것은,
A레코드와 ip주소, 그리고 원하는 서브도메인뿐입니다.
서브도메인도 그저 www.example.com 같이,
대중적인 이름을 쓰고자 한다면 정할 필요도 없고요.
처음에 등록하는 것만 낯설어서 어렵게 느껴지실 거고요.
한번 이 글과 함께 해 보시면,
이 글만 있으면,
빠르게 등록하실 수 있게 될 것입니다.
'SSL, HTTP, Network Basics' 카테고리의 다른 글
Websocket Protocol 에 대해서 이해해 보자 # Stomp (1) | 2023.05.08 |
---|
댓글