도메인 연결과 DNS 설정
A 레코드, CNAME, MX, NS 레코드, DNS 전파 과정, Cloudflare 설정, 서브도메인 관리를 배웁니다.
DNS(Domain Name System) 기본 개념
인터넷의 전화번호부 - DNS의 작동 원리
DNS(Domain Name System)는 인터넷의 "전화번호부"입니다. 사람이 읽을 수 있는 도메인 이름(예: example.com)을 컴퓨터가 이해하는 IP 주소(예: 203.0.113.50)로 변환하는 분산 데이터베이스 시스템입니다. DNS가 없다면 우리는 웹사이트에 접속할 때마다 IP 주소를 직접 기억하고 입력해야 합니다. DNS는 1983년에 Paul Mockapetris가 설계했으며, 인터넷의 가장 핵심적인 인프라 중 하나입니다.
DNS의 계층 구조:
DNS는 트리(Tree) 형태의 계층 구조로 설계되어 있습니다. 최상위에 루트(Root) DNS 서버가 있고, 그 아래에 TLD(Top-Level Domain) 서버(.com, .net, .org, .kr 등), 그 아래에 권한 네임서버(Authoritative Name Server)가 위치합니다. 전 세계에 13개의 루트 서버 그룹이 있으며, 이들이 인터넷 DNS의 최상위 역할을 담당합니다.
웹 브라우저에 https://example.com을 입력하면 다음 과정이 순차적으로 일어납니다:
- 브라우저 캐시 확인 - 이전에 조회한 결과가 브라우저 내부 DNS 캐시에 있는지 확인합니다. 있으면 즉시 해당 IP로 접속합니다.
- OS 캐시 확인 - 브라우저 캐시에 없으면 운영체제의 DNS 캐시를 확인합니다. hosts 파일도 이 단계에서 참조됩니다.
- 리졸버(Resolver) 서버 질의 - OS 캐시에도 없으면 ISP(인터넷 서비스 제공자)의 DNS 리졸버에 질의합니다. 또는 Google(8.8.8.8), Cloudflare(1.1.1.1) 같은 퍼블릭 DNS를 사용할 수 있습니다.
- 루트 서버 - 리졸버가 루트 서버에 질의하면, .com을 담당하는 TLD 서버의 주소를 반환합니다.
- TLD 서버 - .com TLD 서버에 질의하면, example.com의 네임서버(NS) 주소를 반환합니다.
- 권한 네임서버 - example.com의 네임서버에 질의하면, 실제 A 레코드(IP 주소)를 반환합니다.
- IP 주소로 접속 - 최종적으로 얻은 IP 주소로 웹 서버에 HTTP/HTTPS 요청을 보냅니다.
이 전체 과정은 보통 20~100밀리초 안에 완료되며, 캐시가 있으면 즉시(1~2ms) 처리됩니다. DNS 조회 결과는 TTL(Time To Live) 값에 따라 각 계층에서 캐시됩니다.
example.com 입력
(ISP/1.1.1.1)
(Route53/CF)
203.0.113.50
HTTP 응답
DNS 레코드 유형 상세 가이드
모든 DNS 레코드 유형 완벽 정리
DNS 레코드는 도메인에 대한 다양한 정보를 저장하는 데이터 항목입니다. 각 레코드 유형은 특정 목적을 가지고 있으며, WordPress 사이트를 운영할 때 어떤 레코드가 필요한지 이해하는 것이 중요합니다. 아래에서 모든 주요 레코드 유형을 상세히 설명합니다.
| 레코드 유형 | 용도 | 값 형식 | 예시 | WordPress 관련 |
|---|---|---|---|---|
| A | 도메인을 IPv4 주소에 매핑 | IPv4 주소 | example.com → 203.0.113.50 | 필수 |
| AAAA | 도메인을 IPv6 주소에 매핑 | IPv6 주소 | example.com → 2001:db8::1 | 권장 |
| CNAME | 도메인을 다른 도메인의 별칭(Alias) | 도메인명 | www → example.com | 중요 |
| MX | 메일 서버 지정 | 우선순위 + 메일서버 | 10 mail.example.com | 이메일 필요시 |
| TXT | 텍스트 정보 (인증, SPF 등) | 임의의 텍스트 | v=spf1 include:_spf.google.com ~all | 이메일/인증 시 |
| NS | 도메인의 네임서버 지정 | 네임서버 도메인 | ns1.cloudflare.com | DNS 이전 시 |
| SRV | 서비스 위치 정보 (포트 포함) | 우선순위/가중치/포트/타겟 | _sip._tcp 10 60 5060 sip.example.com | 드물게 |
| CAA | SSL 인증서 발급 기관 제한 | flag tag value | 0 issue "letsencrypt.org" | 보안 강화 |
| PTR | IP를 도메인으로 역방향 조회 | 도메인명 | 50.113.0.203 → example.com | 이메일 발신 시 |
| SOA | 도메인의 핵심 정보 (시리얼, 갱신주기 등) | 네임서버/이메일/시리얼 등 | ns1.example.com admin.example.com | 자동 관리 |
각 레코드 유형의 상세 설명
A 레코드 (Address Record)
가장 기본적이고 필수적인 레코드입니다. 도메인을 서버의 IPv4 주소에 직접 연결합니다. WordPress 사이트를 운영하려면 반드시 A 레코드를 설정해야 합니다. 루트 도메인(example.com)은 CNAME을 사용할 수 없으므로(RFC 제약) 반드시 A 레코드를 사용합니다. 하나의 도메인에 여러 A 레코드를 설정하면 라운드 로빈 방식으로 부하를 분산할 수 있습니다.
AAAA 레코드 (IPv6 Address Record)
A 레코드의 IPv6 버전입니다. IPv4 주소 고갈 문제로 IPv6 채택이 증가하고 있으며, 최신 서버와 CDN은 대부분 IPv6를 지원합니다. IPv6 주소는 128비트로 구성되어 있어 거의 무한한 주소 공간을 제공합니다. A 레코드와 AAAA 레코드를 동시에 설정하면 듀얼 스택(Dual Stack) 구성이 되어 IPv4와 IPv6 모두로 접근 가능합니다.
CNAME 레코드 (Canonical Name Record)
한 도메인을 다른 도메인의 별칭(Alias)으로 설정합니다. 가장 흔한 사용 사례는 www.example.com을 example.com으로 연결하는 것입니다. CNAME은 항상 다른 도메인을 가리켜야 하며, IP 주소를 직접 지정할 수 없습니다. 중요한 제약: 루트 도메인(@)에는 CNAME을 설정할 수 없습니다. 이는 CNAME이 해당 이름의 다른 모든 레코드를 무효화하기 때문입니다.
MX 레코드 (Mail Exchanger Record)
이메일 수신을 처리할 메일 서버를 지정합니다. 우선순위(Priority) 값이 낮을수록 우선적으로 사용됩니다. 여러 MX 레코드를 설정하여 장애 시 백업 메일 서버로 전환할 수 있습니다. Google Workspace를 사용한다면 Google이 제공하는 MX 레코드를 설정해야 합니다.
TXT 레코드 (Text Record)
임의의 텍스트 정보를 저장하는 범용 레코드입니다. 주요 용도는 SPF(이메일 발신자 인증), DKIM(이메일 서명 검증), DMARC(이메일 정책), 도메인 소유권 인증(Google Search Console, Facebook 등)입니다. 하나의 도메인에 여러 TXT 레코드를 설정할 수 있습니다.
NS 레코드 (Name Server Record)
도메인의 DNS를 관리하는 네임서버를 지정합니다. 도메인을 구매하면 등록 업체의 기본 NS가 설정되어 있으며, Cloudflare나 AWS Route53 같은 DNS 서비스로 변경할 수 있습니다. NS 변경은 전파에 최대 48시간이 소요될 수 있습니다.
SRV 레코드 (Service Record)
특정 서비스의 위치(호스트와 포트)를 지정합니다. VOIP, 메시징, LDAP 등의 서비스에서 사용됩니다. WordPress에서는 일반적으로 필요하지 않지만, 특수한 통합(예: Microsoft 365 Teams, SIP 서비스)에서 요구될 수 있습니다. 형식: _service._protocol.name TTL class SRV priority weight port target.
CAA 레코드 (Certificate Authority Authorization)
도메인에 대해 SSL/TLS 인증서를 발급할 수 있는 인증 기관(CA)을 제한합니다. 보안 강화를 위해 설정하며, Let's Encrypt만 허용하려면 0 issue "letsencrypt.org"으로 설정합니다. 와일드카드 인증서 발급을 제한하려면 0 issuewild "letsencrypt.org"을 추가합니다.
무료 가입하면 이어서 볼 수 있고, 강의를 완료할 때마다 XP와 레벨이 쌓입니다.