도메인 DNS 설정 완전 정복 — A레코드·CNAME 차이와 설정법
도메인 DNS 설정, 처음엔 정말 어려웠어요
저도 처음 도메인을 구입하고 DNS 설정을 할 때 A레코드와 CNAME이 뭔지 몰라서 한참 헤맸거든요. DNS 설정 하나 잘못하면 사이트가 안 열리니까 정말 조심스럽더라고요. 이 글을 읽으시면 DNS의 기본 개념부터 A레코드와 CNAME의 차이점, 그리고 실제 설정 방법까지 완벽하게 이해하실 수 있어요.
DNS가 뭔지부터 알아보자
DNS는 Domain Name System의 줄임말로, 쉽게 말하면 인터넷의 전화번호부 같은 역할을 해요. 우리가 naver.com을 입력하면 실제로는 223.130.195.95 같은 IP 주소로 연결되는데, 이런 복잡한 숫자를 기억하기 어우니까 도메인 이름을 사용하는 거죠.
DNS 레코드의 종류
DNS에는 여러 종류의 레코드가 있어요:
- A 레코드: 도메인을 IPv4 주소로 연결
- AAAA 레코드: 도메인을 IPv6 주소로 연결
- CNAME 레코드: 도메인을 다른 도메인으로 연결
- MX 레코드: 메일 서버 설정
- TXT 레코드: 텍스트 정보 저장
이 중에서 가장 많이 사용하는 게 A레코드와 CNAME이에요.
A레코드 vs CNAME, 이것만 알면 끝
A레코드란?
A레코드는 도메인을 직접 IP 주소에 연결하는 방식이에요. 예를 들어 example.com을 192.168.1.1에 연결하고 싶다면 A레코드를 사용해야 해요.
A레코드 설정 예시: - 호스트명: @ (또는 공백) - 타입: A - 값: 192.168.1.1 - TTL: 3600
CNAME이란?
CNAME은 도메인을 다른 도메인으로 연결하는 방식이에요. 별명(alias)을 만드는 거라고 생각하면 돼요. www.example.com을 example.com으로 연결하거나, blog.example.com을 myblog.tistory.com으로 연결할 때 사용해요.
CNAME 설정 예시: - 호스트명: www - 타입: CNAME - 값: example.com - TTL: 3600
언제 A레코드를, 언제 CNAME을 쓸까?
A레코드를 사용하는 경우: 1. 루트 도메인(example.com) 설정할 때 2. IP 주소를 직접 알고 있을 때 3. 빠른 응답 속도가 필요할 때
CNAME을 사용하는 경우: 1. 서브도메인(www, blog, shop 등) 설정할 때 2. 외부 서비스(GitHub Pages, Netlify 등)에 연결할 때 3. IP 주소가 자주 바뀌는 서비스에 연결할 때
중요한 규칙이 하나 있어요. 루트 도메인(@)에는 CNAME을 설정할 수 없어요. 반드시 A레코드를 사용해야 해요.
실제 DNS 설정하는 방법
1단계: DNS 관리 페이지 접속
도메인을 구입한 업체(가비아, 후이즈, 고대디 등)의 관리자 페이지에 로그인해요. 'DNS 관리' 또는 '네임서버 관리' 메뉴를 찾아서 들어가세요.
2단계: 기본 설정 확인
대부분의 도메인 업체에서는 기본적으로 이런 레코드들이 설정되어 있어요: - @ A 레코드 (루트 도메인) - www CNAME 레코드 (www 서브도메인) - mail A 레코드 (메일 서버)
3단계: 새 레코드 추가
A레코드 추가하기: 1. '레코드 추가' 버튼 클릭 2. 타입: A 선택 3. 호스트: @ (루트 도메인) 또는 원하는 서브도메인 4. 값: IP 주소 입력 (예: 192.168.1.1) 5. TTL: 3600 (1시간) 권장
CNAME 추가하기: 1. '레코드 추가' 버튼 클릭 2. 타입: CNAME 선택 3. 호스트: 서브도메인 이름 (예: blog) 4. 값: 연결할 도메인 (예: myblog.github.io) 5. TTL: 3600 권장
4단계: 설정 적용 및 확인
설정을 저장한 후 실제로 적용되기까지 최대 48시간이 걸릴 수 있어요. 하지만 보통 10분~1시간 내에 적용돼요.
설정이 제대로 됐는지 확인하는 방법:
- Windows: 명령 프롬프트에서 nslookup 도메인주소
- Mac/Linux: 터미널에서 dig 도메인주소
- 온라인 도구: whatsmydns.net 같은 사이트 이용
자주 하는 실수와 해결법
실수 1: TTL 값을 너무 높게 설정
TTL(Time To Live)은 DNS 정보가 캐시에 저장되는 시간이에요. 처음 설정할 때는 300초(5분) 정도로 낮게 설정하고, 안정화된 후에 3600초(1시간)로 늘리는 게 좋아요.
실수 2: 루트 도메인에 CNAME 설정
앞서 말했듯이 루트 도메인(@)에는 CNAME을 설정할 수 없어요. 만약 GitHub Pages나 Netlify 같은 서비스를 루트 도메인으로 연결하려면, 해당 서비스에서 제공하는 IP 주소로 A레코드를 설정해야 해요.
실수 3: www와 루트 도메인 둘 다 설정 안 함
사용자는 www.example.com으로도, example.com으로도 접속할 수 있어야 해요. 둘 다 설정하거나, 하나는 다른 하나로 리다이렉트되도록 설정하세요.
실수 4: 기존 레코드 삭제 후 새로 추가
기존에 설정된 레코드가 있다면 삭제하지 말고 수정하세요. 삭제하면 일시적으로 사이트에 접속할 수 없게 될 수 있어요.
마무리
DNS 설정은 한 번 제대로 해두면 거의 건드릴 일이 없어요. A레코드는 IP 주소로 직접 연결할 때, CNAME은 다른 도메인으로 연결할 때 사용한다는 것만 기억하시면 돼요. 설정 후에는 반드시 확인해보시고, 문제가 있으면 TTL 값을 낮춰서 빠르게 수정할 수 있도록 하세요.
다음 글에서는 SSL 인증서 설정과 HTTPS 적용 방법에 대해 다룰 예정이에요.
댓글
댓글 쓰기
자유롭게 질문해주세요. 단, 광고성 댓글 및 비방은 사전 통보 없이 삭제됩니다.