우당탕탕
AWS Route53 도메인 연결할 때 제가 막혔던 DNS 설정 단계별 해결법 본문
AWS Route53에서 도메인 연결을 직접 해봤더니, 저는 DNS 설정에서 생각보다 삽질을 많이 했어요. 특히 네임서버(NS) 변경과 레코드 설정 순서가 헷갈려서 시간이 꽤 걸렸거든요.
이 글에서는 제가 실제로 AWS Route53에 도메인을 연결하면서 겪었던 문제와 해결법을 단계별로 자세하게 정리해봤습니다. 특히 네임서버 변경부터 A레코드, CNAME 설정까지 순서대로 알려드릴 테니, 이 글 하나면 AWS DNS 설정은 모두 해결할 수 있을 거예요.
개발 환경 / 버전 정보
저는 AWS Route53 콘솔을 사용했고, 도메인은 타사에서 구매했습니다. AWS CLI는 버전 2.13.10을 사용했으며, MacOS 환경에서 작업했어요.
1단계: 도메인 등록 및 호스팅 영역 생성
먼저 도메인을 등록한 후 AWS Route53에서 호스팅 영역을 만들어야 하더라고요. 저는 타사 도메인 구매 후 콘솔에 들어가서 바로 호스팅 영역을 생성했어요.
$ aws route53 create-hosted-zone --name example.com --caller-reference myunique12345
{
"HostedZone": {
"Id": "/hostedzone/Z123456ABCDEF",
"Name": "example.com.",
"CallerReference": "myunique12345",
"ResourceRecordSetCount": 2
},
"DelegationSet": {
"NameServers": [
"ns-1234.awsdns-56.org",
"ns-7890.awsdns-12.co.uk",
"ns-3456.awsdns-78.com",
"ns-9012.awsdns-34.net"
]
}
}
위 명령어가 호스팅 영역을 만들면서 네임서버 네 개를 받아오는데요, 이 NS 주소들을 복사해두세요. 이걸 도메인 등록처에서 네임서버로 등록해야 제대로 연결됩니다.
2단계: 도메인 등록처에서 네임서버(NS) 변경하기
여기가 사실 가장 헷갈리는 부분 중 하나였는데요, 도메인 구입처 관리 화면에 들어가서 도메인의 네임서버(NS)를 AWS Route53에서 받은 네임서버로 정확히 바꿔야 합니다. 저는 이걸 미리 안 하고 그냥 진행했다가 DNS가 안 잡혀서 한참 해맸어요.
예를 들어, 타 도메인 사이트에서는 보통 다음과 같이 입력합니다.
- ns-1234.awsdns-56.org
- ns-7890.awsdns-12.co.uk
- ns-3456.awsdns-78.com
- ns-9012.awsdns-34.net
변경 후에는 DNS 전파 시간이 최대 24~48시간 걸릴 수 있으니 바로 테스트하려고 하지 마세요. 저는 그래서 막상 레코드 바꿨는데 안 돼서 뭔가 잘못된 줄 알았는데, 기다려 보니 자연스럽게 연결됐거든요.
3단계: A 레코드와 CNAME 레코드 설정하기
네임서버 변경 후에는 AWS Route53 콘솔로 돌아와서 DNS 레코드를 설정했어요. 저는 홈페이지 IP를 A 레코드로 등록하고, 서브도메인은 CNAME으로 연결했는데 이 부분도 헷갈리는 분이 많더라고요.
콘솔에서 호스팅 영역에 들어가 "Create record"를 클릭한 후 다음과 같이 입력했습니다.
- 레코드 이름: 비워두거나 @ (루트 도메인)
- 레코드 유형: A
- 값: 웹 서버 IP 주소 예)
203.0.113.25 - TTL: 300 (기본값 유지)
서브도메인(예: www) 연결은 CNAME으로 해줬어요.
- 레코드 이름: www
- 레코드 유형: CNAME
- 값: 도메인 루트 주소 예)
example.com
이렇게 하면 www.example.com이 example.com으로 잘 연결되거든요.
4단계: 레코드 변경 후 바로 확인하는 법
저는 설정 후 바로 결과를 확인하려고 해서 꽤 당황했는데요, DNS 변경이 즉시 반영되지 않는 경우가 많아요. 그럴 땐 dig 명령어가 유용했어요.
$ dig example.com NS +short
ns-1234.awsdns-56.org.
ns-7890.awsdns-12.co.uk.
ns-3456.awsdns-78.com.
ns-9012.awsdns-34.net.
$ dig example.com A +short
203.0.113.25
$ dig www.example.com CNAME +short
example.com.
특히 네임서버(NS)가 제대로 변경됐는지 확인할 때 dig example.com NS +short를 자주 썼어요. 여기서 받은 네임서버 목록과 실제 도메인 등록처에 입력한 값이 일치하는지 꼭 확인해야 합니다.
여기서 막혔던 부분들
처음에 제가 네임서버 정보 변경을 깜빡하고, 그냥 Route53에서만 레코드 만든 상태로 웹 사이트 접속을 시도했는데, DNS 조회가 안 되는 문제가 있었어요.
$ dig example.com A +short
(결과 없음)
이걸 보고 뭔가 문제가 있다고 생각했지만, 원인은 도메인 등록처에 AWS 네임서버가 등록되어 있지 않아서 전혀 DNS가 전파되지 않았던 거였죠.
또 CNAME 설정 시 www 대신 다른 이름을 적었는데, 그 도메인이 실제 서비스하지 않는 영역이라 접속 불가 오류가 났던 적도 있어요. 이 부분은 레코드 이름과 값 매핑을 정확히 하는 게 중요합니다.
심화: TTL 값과 DNS 캐시 이해하기
DNS TTL(Time To Live)은 레코드가 DNS 서버에 얼마나 오래 캐시될지 정하는 값인데, 저는 처음에 기본값인 300초(5분)를 3600초(1시간)로 바꿨다가 변경이 늦게 반영돼서 애먹었어요.
특히 도메인을 새로 연결하거나 IP 주소를 바꾸는 초기 세팅 때는 TTL을 낮게 유지하는 게 좋아요. 그래야 변경사항이 빨리 전파되거든요. 안정화가 되면 TTL을 다시 높여 트래픽을 줄일 수 있고요.
자주 물어보시는 것들
Q. 왜 도메인 등록처 네임서버와 Route53 네임서버가 다르면 안 되나요?
A. 네임서버는 도메인이 어느 DNS 서버에서 정보를 받아올지 결정하는 거라 둘이 다르면 충돌이 납니다. Route53 네임서버로 지정해야 AWS에서 만든 레코드로 올바르게 연결돼요.
Q. Route53에서 서브도메인 CNAME 대신 A 레코드로도 연결 가능할까요?
A. 직접 IP가 있다면 A 레코드 등록도 가능하지만, 보통 서브도메인은 루트 도메인을 가리키도록 CNAME 쓰는 게 관리가 편해요. IP가 바뀌면 모든 A 레코드를 바꿔야 해서 번거롭거든요.
AWS Route53 도메인 연결은 처음에는 네임서버 변경이 핵심이고, 그다음 레코드 등록 순서대로 하면 크게 틀릴 일 없어요. 저도 이 순서대로 하면서 결국 문제없이 세팅할 수 있었거든요.
'Tech > AWS' 카테고리의 다른 글
| AWS CodeDeploy로 무중단 배포 적용하며 겪은 삽질과 해결법 (0) | 2026.06.08 |
|---|---|
| AWS VPC 서브넷 구성 처음 할 때 헷갈렸던 개념과 꼭 확인할 체크리스트 (0) | 2026.06.08 |
| AWS SES로 이메일 발송 구현하며 막힌 2026년 변화와 해결법 (0) | 2026.06.06 |
| AWS Lambda 비용 없이 사용하는 방법, 직접 세팅하며 겪은 삽질과 해결법 (0) | 2026.05.30 |
| AWS Lambda 비용 없이 사용하는 방법, 직접 세팅하며 겪은 삽질과 해결법 (0) | 2026.05.25 |
