dig 명령어로 DNS 경로 추적하기
Context
웹훅 처리 구조를 파악하다가 특정 도메인이 실제로 어느 서버를 가리키는지 확인해야 했다. Route53에서 도메인이 보이지 않아 DNS 경로를 직접 추적했다.
What I Learned
dig (Domain Information Groper)은 터미널에서 DNS 조회 결과를 직접 확인하는 CLI 도구다. macOS/Linux에 기본 설치돼 있다.
기본 사용법
# 도메인이 가리키는 IP 또는 CNAME 확인
dig +short global.example.com
# 이 도메인의 권한 있는 네임서버 확인
dig NS example.com +short
출력 해석:
- A 레코드 → IP 주소
- CNAME 레코드 →
xxx.elb.amazonaws.com같은 형태면 AWS ALB로 연결된 것
실제 확인 결과 예시
$ dig +short global.example.com
my-app-1234567890.ap-northeast-2.elb.amazonaws.com.
x.x.x.x
x.x.x.x
$ dig NS example.com +short
ns.somedns.co.kr.
ns1.somedns.co.kr.
→ CNAME이 .elb.amazonaws.com이면 AWS ALB 경유 확정
→ 네임서버에 awsdns가 없으면 Route53이 아닌 외부 DNS (Gabia, Cloudflare 등)에서 관리 중
확인된 웹훅 ingress 경로
global.example.com
│ (외부 DNS의 CNAME 레코드)
▼
my-app-xxxx.ap-northeast-2.elb.amazonaws.com
│ (AWS Application Load Balancer)
▼
Elastic Beanstalk environment (EC2 instances)
Route53에 도메인이 안 보이는 이유 후보
- AWS 계정이 다름 — 다른 계정의 Route53에 등록돼 있을 수 있음
- 외부 DNS 사용 — Cloudflare, Gabia 등 외부 레지스트라에 직접 레코드가 등록된 경우
- IAM 권한 부족 — 볼 수 있는 권한이 없을 수 있음
Note
dig NS <도메인> +short으로 네임서버를 먼저 확인하면 어디서 DNS를 관리하는지 바로 알 수 있다. Route53에서 못 찾겠으면 외부 DNS부터 의심하자.