Skip to content

Route53 도메인 설정 가이드

date: 2026-03-11


배경 지식

도메인과 DNS란?

IP 주소 = 192.168.1.1 (컴퓨터가 이해하는 주소) 도메인 = leopark.me (사람이 이해하는 주소)

DNS의 역할 -> leopark.me를 192.168.1.1로 변환해주는 전화번호부? 같은 느낌

DNS 계층 구조

도메인은 오른쪽에서 왼쪽으로 읽는 계층 구조다:

.                                 -> Root (최상위, 생략됨)
└── me.                           -> TLD (Top Level Domain)
    └── leopark.me.               -> 구입한 도메인
        └── testing.leopark.me.   -> 서브도메인

DNS 조회 과정(예시)

사용자가 브라우저에 app.testing.leopark.me 입력 시:

1. 브라우저
   -> Local DNS 캐시 확인

2. Root DNS 서버
   -> ".me 담당은 저쪽이에요"

3. .me TLD DNS 서버
   -> "leopark.me 담당은 Route53이에요"

4. Route53 (leopark.me Hosted Zone)
   -> "testing.leopark.me 담당 NS는 이쪽이에요"

5. Route53 (testing.leopark.me Hosted Zone)
   -> "app.testing.leopark.me는 이 IP예요"

6. 브라우저
   -> 해당 IP로 접속

Hosted Zone이란?

DNS 설정을 저장하는 공간이다. 도메인 하나당 Hosted Zone 하나가 생성되며, 그 안에 DNS 레코드들을 관리한다.

주요 DNS 레코드 종류

레코드 역할 예시
NS 이 도메인의 DNS를 누가 관리하는지 leopark.me -> Route53 네임서버
SOA Hosted Zone의 기본 정보 (자동 생성) -
A 도메인을 IP 주소로 연결 app.leopark.me -> 1.2.3.4
CNAME 도메인을 다른 도메인으로 연결 www.leopark.me -> leopark.me
MX 이메일 서버 지정 -
TXT 도메인 소유권 인증 등 SSL 인증서 발급 시 사용

TTL (Time To Live)이란?

DNS 조회 결과를 얼마나 오래 캐시(저장)할지 설정하는 시간이다.

TTL 높음 (172800 = 48시간): DNS 조회 트래픽 감소, 빠른 응답, 레코드 변경 시 반영이 느림

TTL 낮음 (300 = 5분): DNS 조회 트래픽 증가, 레코드 변경 시 빠르게 반영,

나의 경우 기본값으로 300(5분)으로 두고 생성하였다.


도메인 구입

계정: production
설정 경로: Route53 -> Domains -> Register domains

구입 정보

항목 내용
도메인 leopark.me
TLD .me
연간 비용 $31/년
Registrar Amazon Registrar (자동)
Privacy Protection ON (개인정보 보호)

Privacy Protection이란?

도메인 소유자 정보는 WHOIS를 통해 공개적으로 조회될 수 있다. Privacy Protection을 활성화하면 본인 정보 대신 AWS 정보로 대체되어 개인정보를 보호할 수 있다. Route53에서 무료로 제공한다.

도메인 구입 시 자동으로 생성되는 것들

leopark.me Hosted Zone (production 계정)
├── leopark.me NS  -> Route53 네임서버 4개 (자동 설정)
└── leopark.me SOA -> 존 권한 시작 레코드 (자동 설정)

결제 방식

도메인 비용은 즉시 결제되지 않고, 월말에 다른 AWS 사용 비용과 통합 청구된다.


testing 서브도메인 위임 설정

production 계정에서 구입한 도메인을 testing 계정에서도 독립적으로 DNS 관리할 수 있도록 서브도메인을 위임했다.

목표 구조

production 계정
└── leopark.me Hosted Zone
    └── testing.leopark.me NS -> testing 계정으로 위임

testing 계정
└── testing.leopark.me Hosted Zone
    ├── app.testing.leopark.me(언젠가 필요하면 다음과 같이 계속 추가 예정)
    └── 등등...

Step 1 - testing 계정에서 Hosted Zone 생성

계정: testing
설정 경로: Route53 -> Hosted Zones -> Create hosted zone

항목
Domain name testing.leopark.me
Type Public hosted zone

생성 후 자동으로 NS 레코드 4개가 생성된다:

ns-625.awsdns-14.net.
ns-1681.awsdns-18.co.uk.
ns-1460.awsdns-54.org.
ns-151.awsdns-18.com.

Step 2 - production 계정에서 NS 레코드 추가

계정: production
설정 경로: Route53 -> Hosted Zones -> leopark.me -> Create record

항목
Record name testing
Type NS
TTL 300
Value testing 계정의 NS 레코드 4개

간단하게 정리하자면

누군가 app.testing.leopark.me 조회 시
-> Route53이 leopark.me Hosted Zone 확인
-> testing.leopark.me는 NS 서버들한테 문의
-> testing 계정 Hosted Zone으로 위임
-> testing 계정에서 독립적으로 DNS 관리 가능


4. 최종 구조 및 사용 방법

계정별 DNS 관리 범위

계정 Hosted Zone 관리 범위
production leopark.me 실제 서비스 도메인 (app.leopark.me, api.leopark.me 등)
testing testing.leopark.me 테스트/실습용 도메인 (k8s.testing.leopark.me 등)