A 레코드란?
A 레코드(주소 레코드)는 도메인 이름을 IPv4 주소에 매핑하는 기본 DNS 레코드입니다. 브라우저가 도메인을 요청하면 DNS 서버가 A 레코드를 조회해 웹 서버의 IP 주소를 찾습니다.
A 레코드의 작동 방식
사용자가 example.com을 방문할 때:
1. DNS 질의: 브라우저가 example.com의 IP 주소를 묻습니다.
2. A 레코드 조회: DNS 서버가 A 레코드를 찾습니다.
3. IP 반환: IPv4 주소(예: 93.184.216.34)를 반환합니다.
4. 연결 수립: 브라우저가 해당 IP에 연결합니다.
example.com. IN A 93.184.216.34
이 형식은 도메인, 인터넷 클래스, 레코드 유형, IPv4 주소를 나타냅니다.
A 레코드 구성
기본 설정
대부분의 도메인에는 최소한 다음 구성이 필요합니다.
@ IN A 203.0.113.50 ; Root domain
www IN A 203.0.113.50 ; www subdomain
@는 www가 없는 루트 도메인(example.com)을 나타냅니다.
여러 A 레코드
로드 밸런싱을 위해 여러 A 레코드를 설정할 수 있습니다.
example.com. IN A 203.0.113.50
example.com. IN A 203.0.113.51
example.com. IN A 203.0.113.52
DNS 리졸버는 주소를 라운드 로빈으로 순환하거나 지리적 위치에 따라 선택합니다.
TTL(유효 시간)
A 레코드의 TTL은 리졸버가 레코드를 캐시할 시간을 지정합니다.
example.com. 300 IN A 203.0.113.50
300초(5분) TTL이면 DNS 변경이 5분 안에 전파될 수 있습니다. TTL을 낮추면 변경은 빨라지지만 질의량은 늘어납니다.
A 레코드의 일반적인 사용 사례
웹 호스팅
도메인이 웹 서버를 가리키도록 설정합니다.
@ → Your server's IPv4 address
www → Your server's IPv4 address (or use CNAME)
하위 도메인
서비스별로 A 레코드를 만듭니다.
api.example.com → API server IP
blog.example.com → Blog server IP
shop.example.com → E-commerce server IP
CDN 구성
일부 CDN은 에지 IP를 가리키는 A 레코드를 요구합니다.
example.com → CDN edge IP
A 레코드와 다른 레코드 유형 비교
| 레코드 | 목적 | 가리키는 대상 |
|---|---|---|
| A | IPv4 주소(도메인을 IPv4로 연결) | 93.184.216.34(주소) |
| AAAA | IPv6 주소(도메인을 IPv6로 연결) | 2606:2800:220:1:...(주소) |
| CNAME | 다른 도메인을 가리키는 별칭 | another.domain.com(대상) |
| ALIAS/ANAME | 루트 도메인의 별칭 | another.domain.com(대상) |
정확한 IP 주소를 알면 A 레코드를 사용하고 다른 도메인을 가리키면 CNAME을 사용합니다. 루트 도메인(@)에는 CNAME을 사용할 수 없으므로 A, AAAA 또는 ALIAS가 필요합니다.
A 레코드 확인
dig 사용(Linux/Mac):dig example.com A
nslookup 사용(Windows):
nslookup example.com
DomScan 상태 확인 사용:
curl "https://domscan.net/v1/health?domain=example.com"
# Returns DNS configuration including A records
모범 사례
1. @와 www를 모두 설정: 두 방식의 도메인 요청을 처리합니다.
2. 적절한 TTL 사용: 일반적으로 300~3600초로 설정하고 변경 전에는 낮춥니다.
3. AAAA 레코드도 고려: IPv6의 중요성이 커지고 있습니다.
4. 레코드 모니터링: 잘못된 A 레코드는 사이트 중단을 일으킬 수 있습니다.
5. 변경 문서화: 각 IP 주소의 용도를 기록합니다.
A 레코드는 웹 호스팅의 기반이며 도메인 인프라를 관리하는 개발자에게 필수적인 지식입니다.