← Notes

DNS

network
3분 읽기

DNS

개념

  • 컴퓨터는 IP로 통신하는데 사람이 외우기 힘드니까 도메인 이름을 씀
  • DNS는 google.com 같은 도메인을 142.250.80.46 같은 IP로 바꿔주는 전화번호부

조회 흐름

브라우저 입력
  → 내 컴퓨터 캐시 확인
  → /etc/hosts 확인
  → Resolver (ISP or 8.8.8.8) 에게 질문
      → Root 서버: ".com 담당은 저쪽이야"
      → TLD 서버: "google.com 담당은 저쪽이야"
      → Authoritative 서버: "142.250.80.46 이야"
  → IP 반환 → 연결

레코드 종류

레코드 연결 대상 언제 씀
A 도메인 → IPv4 기본 서버 연결
AAAA 도메인 → IPv6 IPv6 지원
CNAME 도메인 → 도메인 별칭, Vercel/Netlify 같은 외부 서비스 연결
MX 메일 서버 지정 이메일 수신
NS 네임서버 지정 DNS 정보 어느 서버가 갖고 있는지
TXT 텍스트 도메인 소유권 인증, 스팸 방지

캐싱 & TTL

  • 매번 전체 조회하면 느리니까 결과를 캐시에 저장
  • TTL = 캐시 유효 시간 (초 단위), 지나면 다시 조회
  • IP 바꿔도 TTL 지나야 반영됨 → 도메인 이전할 때 TTL 먼저 줄이는 이유

실무에서 쓰는 상황

  • 서비스 배포: 서버 IP 받으면 A 레코드 등록해서 도메인 연결
  • 서브도메인: api.myapp.com, admin.myapp.com 각각 다른 서버로 연결
  • 도메인 이전: 서버 바꿀 때 A 레코드 수정, TTL 때문에 바로 안 바뀜
  • HTTPS 인증서: TXT 레코드로 도메인 소유권 증명
  • 메일 설정: MX 레코드로 메일 서버 지정, TXT로 스팸 방지
  • CDN: Cloudflare 붙일 때 NS를 Cloudflare로 위임

A 레코드 등록하면 끝이 아님

DNS는 첫 번째 단계일 뿐, 그 뒤에도 필요한 것들:

도메인 구매
→ A 레코드 등록 (DNS)
→ 웹서버 설정 (Nginx 등)
→ SSL 인증서 발급 (HTTPS)
→ 포트 오픈 (80, 443)
→ 끝

CNAME 패턴

myapp.com      →  A      →  123.456.789.0
www.myapp.com  →  CNAME  →  myapp.com      # IP 바뀌면 여기도 자동 반영
myapp.com      →  CNAME  →  cname.vercel-dns.com  # Vercel 배포 시

Related Notes

5개

sunshinemoon · 2026