A 레코드란?
A 레코드 (주소 레코드)는 도메인 이름을 IPv4 주소로 매핑하는 가장 기본적인 DNS 레코드 유형입니다. 누군가 "example.com"을 방문할 때 DNS 시스템은 A 레코드를 찾아서 웹 서버의 IP 주소 (예: "192.0.2.1")를 검색합니다.
A 레코드 구조
A 레코드는 다음과 같이 구성됩니다:
example.com. 3600 IN A 192.0.2.1
│ │ │ │ │
│ │ │ │ └── IPv4 주소
│ │ │ └── 레코드 유형
│ │ └── 클래스 (인터넷)
│ └── TTL (초 단위)
└── 도메인 이름
A 레코드 예제
기본 설정
Domain TTL Type IPv4 Address
example.com. 300 A 93.184.216.34
www.example.com. 300 A 93.184.216.34
api.example.com. 300 A 192.0.2.10
여러 A 레코드
단일 도메인은 여러 A 레코드를 가질 수 있습니다 (로드 밸런싱):
example.com. A 192.0.2.1
example.com. A 192.0.2.2
example.com. A 192.0.2.3
A 레코드 설정
레지스트라 또는 호스팅 제공자를 통해 설정
대부분의 호스팅 제공자는 웹 인터페이스를 제공하여:
1. 호스팅 제어판에 로그인
2. "DNS" 또는 "DNS 영역" 찾기
3. "추가 레코드" 클릭
4. 입력:
- 호스트 이름: 예) www (또는 @ 루트의 경우)
- 유형: A
- 값: 192.0.2.1
명령줄을 통해
자체 호스팅 DNS를 사용하는 경우 BIND 영역 파일을 편집합니다:
www IN A 192.0.2.1
api IN A 192.0.2.10
mobile IN A 192.0.2.20
TTL (Time To Live)
TTL은 DNS 응답이 캐시될 수 있는 기간을 초 단위로 나타냅니다:
| TTL | 기간 | 사용 사례 |
|---|---|---|
| 300 | 5분 | 자주 변경되는 IP |
| 3600 | 1시간 | 일반적인 설정 |
| 86400 | 24시간 | 안정적인 IP |
TTL을 낮게 설정하면 변경이 빠르게 전파되지만 DNS 쿼리가 증가합니다.
A 레코드와 AAAA 레코드
IPv4 (A 레코드) 외에 IPv6을 지원하려면 AAAA 레코드도 필요합니다:
example.com. A 192.0.2.1
example.com. AAAA 2606:2800:220:1:248:1893:25c8:1946
일반적인 A 레코드 문제
IP 주소 변경
IP가 변경되면 A 레코드가 업데이트될 때까지 웹사이트가 작동하지 않습니다:
1. 호스팅 제공자가 서버 IP 변경
2. A 레코드 업데이트 (TTL 지나갈 때까지 캐시됨)
3. 전 지구적 DNS 전파 (최대 48시간)
잘못된 IP
# 잘못됨 - 잘못된 IP
example.com. A 256.256.256.256 (256은 유효한 옥텟이 아님)
# 올바름
example.com. A 192.0.2.1 (0-255 범위)
DNS 전파
A 레코드 변경 후 모든 nameserver가 업데이트될 때까지 최대 48시간이 걸릴 수 있습니다.
A 레코드와 CDN
CDN을 사용할 때 A 레코드 구조가 변경됩니다:
# CDN 없음
example.com. A 192.0.2.1 (원본 서버)
# Cloudflare CDN 사용
example.com. A 198.41.200.1 (CDN 엣지)
→ 라우트 → 192.0.2.1 (원본)
A 레코드 조회
A 레코드를 확인하려면:
# dig 사용
dig example.com A
# nslookup 사용
nslookup example.com
# host 사용
host example.com
모범 사례
1. 중복 제공: 로드 밸런싱을 위해 여러 A 레코드 사용
2. TTL 계획: 안정성과 업데이트 속도 균형
3. IP 문서화: 각 A 레코드의 목적 추적
4. 변경 전 계획: DNS 전파에 시간이 걸림을 알고 변경 일정
5. IPv6도 추가: AAAA 레코드로 현대적 지원 제공
A 레코드는 도메인이 작동하는 기본 메커니즘입니다. A 레코드가 없으면 도메인 이름이 어떤 웹 서버를 가리켜야 하는지 알 수 없습니다.