# DNS 기초: A 레코드, MX, CNAME, TXT 완벽 정리

Source: https://support.kapsulehost.com/ko-kr/dns-basics

DNS는 모든 것이 올바르게 작동할 때는 보이지 않게 동작하지만, 문제가 생기면 반드시 이해해야 하는 것 중 하나입니다. 이 글에서는 DNS가 무엇인지, 각 레코드 유형이 어떤 역할을 하는지, 그리고 KPanel에서 DNS 레코드를 관리하는 방법을 설명합니다.

---

## DNS란 무엇인가요?

DNS(Domain Name System)를 인터넷의 전화번호부라고 생각해 보세요. 브라우저에 `yourdomain.com`을(를) 입력하면, 컴퓨터는 어떤 서버에 연결해야 하는지 자동으로 알지 못합니다. DNS는 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 올바른 서버를 찾는 데 사용하는 숫자로 된 IP 주소로 변환해줍니다.

DNS가 없다면 모든 웹사이트를 방문할 때마다 `192.168.1.200` 같은 것을 입력해야 할 것입니다. DNS는 우리가 기억하기 쉬운 이름을 사용할 수 있게 해줌으로써 인터넷을 사용 가능하게 만듭니다.

모든 도메인에는 디렉터리 목록처럼 작동하는 일련의 DNS 레코드가 있습니다: 웹 트래픽을 어디로 보낼지, 이메일을 어디로 전달할지, 어떤 서비스가 해당 도메인을 대신해 이메일을 보낼 권한이 있는지 등을 나타냅니다.

---

## DNS 레코드는 어디에서 관리되나요?

도메인의 DNS 레코드는 네임서버가 가리키고 있는 곳에서 관리됩니다. 도메인이 KapsuleHost의 네임서버(ns1.kapsulecloud.com, ns2.kapsulecloud.com, ns3.kapsuledns.com, ns4.kapsuledns.com)를 사용하고 있다면, 모든 DNS 레코드는 KPanel > **도메인** > 해당 도메인 > **DNS 및 네임서버**에서 관리됩니다.

다른 제공업체의 네임서버를 사용 중이라면 DNS 레코드는 KPanel이 아니라 해당 제공업체에서 관리합니다.

---

## 가장 중요한 DNS 레코드 유형

### A 레코드

A 레코드는 도메인 이름을 IPv4 주소에 매핑합니다. 이는 브라우저가 누군가 웹사이트를 방문할 때 어떤 서버에 연결해야 하는지 알 수 있게 해주는 방식입니다.

**예시:**
```
yourdomain.com.    A    203.0.113.10
www.yourdomain.com.    A    203.0.113.10
```

루트 도메인과 www 서브도메인 모두 보통 같은 서버 IP를 가리키는 A 레코드를 가지고 있습니다.

**사용 시점:** 웹사이트를 호스팅하는 모든 도메인에는 최소 하나의 A 레코드가 필요합니다. KapsuleHost는 도메인을 추가할 때 이를 자동으로 생성합니다.

---

### AAAA 레코드

AAAA 레코드는 A 레코드의 IPv6 버전입니다. IPv6 주소는 더 길며(예: `2001:db8::1`), 인터넷이 IPv4에서 전환되어 감에 따라 점점 더 일반화되고 있습니다. 기능은 동일합니다: 도메인 이름을 서버 주소에 연결합니다.

**사용 시점:** 대부분의 웹사이트는 AAAA 레코드를 수동으로 구성할 필요가 없습니다. 호스팅 서버가 IPv6을 지원하면 자동으로 처리됩니다.

---

### CNAME 레코드

CNAME(Canonical Name) 레코드는 별칭을 생성하여, IP 주소가 아니라 한 도메인 이름을 다른 도메인 이름으로 연결합니다. 브라우저는 CNAME을 따라가 최종 A 레코드를 찾습니다.

**예시:**
```
shop.yourdomain.com.    CNAME    yourdomain.com.
```

이는 `shop.yourdomain.com`이(가) `yourdomain.com`과(와) 같은 곳으로 연결된다는 의미입니다.

**사용 시점:** [CNAME](https://support.kapsulehost.com/ko-kr/cname-records)은 서브도메인에, 타사 서비스(예: Google Search Console)로 도메인 소유권을 인증하는 데, 그리고 서브도메인을 호스팅된 헬프 센터나 예약 플랫폼 같은 외부 서비스로 연결하는 데 일반적으로 사용됩니다.

> **Warning:** 루트 도메인(yourdomain.com)에는 MX나 다른 레코드와 함께 CNAME을 사용할 수 없습니다. 루트 도메인에는 A 레코드를 사용하고, CNAME 레코드는 서브도메인에만 사용하세요.

---

### MX 레코드

MX(Mail Exchanger) 레코드는 도메인의 주소로 발송된 이메일을 어디로 전달해야 하는지 이메일 서버에 알려줍니다. 올바른 MX 레코드가 없으면 you@yourdomain.com으로 보낸 이메일은 전달되지 않습니다.

**예시:**
```
yourdomain.com.    MX    10    mail.kapsulehost.com.
```

숫자(예시에서는 10)는 우선순위입니다. MX 레코드가 여러 개 있다면 낮은 숫자가 먼저 시도됩니다. 이를 통해 백업 메일 서버를 구성할 수 있습니다.

**사용 시점:** 이메일을 사용하는 모든 도메인에는 최소 하나의 [MX 레코드](https://support.kapsulehost.com/ko-kr/mx-records)가 있어야 합니다. 도메인이 KapsuleHost의 네임서버를 사용하는 경우, 메일박스를 생성하면 MX 레코드가 자동으로 설정됩니다.

---

### TXT 레코드

TXT 레코드는 도메인과 연결된 임의의 텍스트 데이터를 담습니다. 다양한 용도로 사용됩니다:

**SPF(Sender Policy Framework):** 어떤 서버가 도메인을 대신해 이메일을 보낼 권한이 있는지 지정합니다. 이메일 스푸핑을 방지합니다.

**DKIM(DomainKeys Identified Mail):** 도메인에서 보낸 이메일이 실제로 해당 메일 서버에서 보낸 것이며 위조되지 않았음을 확인하는 데 사용되는 암호화 키입니다.

**DMARC:** SPF나 DKIM 검사를 통과하지 못한 이메일을 수신 메일 서버가 어떻게 처리해야 하는지 알려주는 정책입니다.

**도메인 인증:** Google Search Console, Microsoft 365 등의 서비스는 도메인 소유를 증명하기 위해 TXT 레코드를 추가하도록 요청합니다.

**예시:**
```
yourdomain.com.    TXT    "v=spf1 include:mail.kapsulehost.com ~all"
```

도메인이 KapsuleHost의 네임서버를 사용하는 경우, KapsuleHost 메일박스에 대해 [SPF, DKIM, DMARC 레코드](https://support.kapsulehost.com/ko-kr/spf-dkim-dmarc)가 자동으로 설정됩니다.

---

### NS 레코드

NS(Name Server) 레코드는 도메인에 대해 권한을 가진 DNS 서버가 어디인지를 지정합니다. 이는 인터넷에 도메인의 다른 모든 DNS 레코드를 찾으려면 어디로 가야 하는지를 알려줍니다.

**예시:**
```
yourdomain.com.    NS    ns1.kapsulecloud.com.
yourdomain.com.    NS    ns2.kapsulecloud.com.
yourdomain.com.    NS    ns3.kapsuledns.com.
yourdomain.com.    NS    ns4.kapsuledns.com.
```

**사용 시점:** NS 레코드는 DNS 관리 패널이 아니라 등록기관에서 설정됩니다. NS 레코드를 변경하면 DNS 제어 권한이 한 제공업체에서 다른 제공업체로 넘어갑니다. [도메인을 KapsuleHost로 연결하기 위해 네임서버 변경하기](https://support.kapsulehost.com/ko-kr/nameservers)를 참고하세요.

> **Note:** KPanel에서 NS 레코드를 직접 수정해서는 안 됩니다. NS 변경은 도메인 등록기관에서 이루어집니다. NS 레코드를 잘못 편집하면 도메인 전체에 접속할 수 없게 될 수 있습니다.

---

## TTL: DNS 변경에 시간이 걸리는 이유

TTL(Time to Live)은 각 DNS 레코드에 붙는 값으로, 다른 DNS 서버가 업데이트를 확인하기 전까지 해당 레코드를 얼마나 오래 캐시(저장)해야 하는지를 알려줍니다. 초 단위로 측정됩니다.

**예시:** TTL이 `3600`이면 레코드가 한 시간 동안 캐시된다는 의미입니다. 그 한 시간 동안, 레코드를 변경하더라도 이전 값을 이미 캐시한 컴퓨터들은 캐시가 만료될 때까지 계속 이전 값을 사용합니다.

일반적인 TTL 값:

| TTL 값 | 기간 |
|---|---|
| 300 | 5분 |
| 900 | 15분 |
| 3600 | 1시간 |
| 14400 | 4시간 |
| 86400 | 24시간 |

**이것이 중요한 이유:** DNS 레코드를 변경해도 모든 사람에게 즉시 변경 사항이 나타나지는 않습니다. 이전 레코드를 캐시한 전 세계의 사용자와 시스템은 TTL이 만료될 때까지 계속 이전 값을 사용합니다. 이것이 "DNS 전파"에 시간이 걸리는 이유이며, TTL 값이 매우 높은 경우 최대 48시간까지 걸릴 수 있습니다.

> **Tip:** DNS를 변경할 예정이라는 것을 미리 알고 있다면(예: 사이트를 새 서버로 이전하는 경우), 하루 전에 TTL을 300초로 낮추세요. 그러면 변경을 적용한 후 이전에 캐시된 값이 빠르게 만료되어 전파 시간이 크게 줄어듭니다. 변경이 안정화된 후에는 TTL을 다시 더 높은 값으로 설정하세요.

---

![KPanel의 도메인 DNS 레코드 페이지](https://support.kapsulehost.com/help/screenshots/dns-basics.6c2b772f.webp)

## KPanel에서 DNS 레코드를 보고 편집하는 방법

1. [kpanel.kapsulehost.com](https://kpanel.kapsulehost.com)에 로그인합니다
2. 사이드바에서 **도메인**를 클릭합니다
3. 도메인 이름을 클릭합니다
4. 왼쪽 메뉴에서 **DNS 및 네임서버**를 클릭합니다

여기에서 다음을 할 수 있습니다:

- **보기**: 기존의 모든 레코드 보기
- **추가**: **Add Record**를 클릭하고 레코드 유형을 선택하여 새 레코드 추가
- **편집**: 편집 아이콘을 클릭하여 기존 레코드 편집
- **삭제**: 삭제 아이콘을 클릭하여 레코드 삭제

> **Warning:** 잘못된 DNS 레코드를 삭제하면 웹사이트나 이메일이 중단될 수 있습니다. 레코드의 용도를 확실히 알지 못한다면 삭제하지 마세요. 확신이 서지 않는 레코드를 제거하기 전에 support@kapsulehost.com으로 문의해 주세요.

---

## DNS 레코드 확인하기

KPanel에는 레코드가 올바르게 전파되었는지 확인할 수 있는 DNS 확인 도구가 포함되어 있습니다:

1. **도메인** > 해당 도메인 > **DNS 및 네임서버**로 이동합니다
2. **Check DNS** 또는 **DNS Checker** 옵션을 찾습니다
3. 확인하려는 레코드 유형과 도메인을 입력합니다

또한 공개적으로 사용 가능한 DNS 조회 도구를 사용하여 KapsuleHost 네트워크 외부에서 레코드를 확인할 수 있으며, 이는 변경 사항이 전 세계적으로 전파되었는지 확인하는 데 도움이 됩니다.

---

## 빠른 참조

| 레코드 유형 | 가리키는 대상 | 용도 |
|---|---|---|
| A | IP 주소 | 웹사이트 호스팅 |
| AAAA | IPv6 주소 | IPv6 호스팅 |
| CNAME | 다른 도메인 이름 | 서브도메인, 별칭 |
| MX | 메일 서버 호스트명 | 이메일 전달 |
| TXT | 텍스트 문자열 | SPF, DKIM, DMARC, 도메인 인증 |
| NS | DNS 서버 호스트명 | 네임서버 위임 |
