Route 53에서 DNS 레코드를 추가하는 방법
Overview
섹션 제목: “Overview”DNS 레코드를 추가하거나 수정할 때는 레코드 타입별 역할이 자주 헷갈린다. 여기서 Route 53에서 자주 다루는 레코드 종류와, 설정 후 dig로 확인하는 방법을 간단히 정리한다.
How to
섹션 제목: “How to”1) Root Domain
섹션 제목: “1) Root Domain”- Apex Domain 또는 Naked Domain이라고도 한다.
example.com처럼 앞에www,api같은 서브도메인이 붙지 않은 기본 도메인을 의미한다.- 루트 도메인에는 일반적인
CNAME레코드를 직접 사용하기 어렵다.
2) A 레코드
섹션 제목: “2) A 레코드”- 도메인을 IP 주소로 연결하는 레코드다.
www.example.com,api.example.com같은 이름에 서버 IP를 연결할 때 사용한다.
Route 53에서는 Alias를 켜면 A 레코드의 대상으로 IP 주소뿐 아니라 AWS 리소스도 연결할 수 있다.
- CloudFront 배포
- Application Load Balancer
- 정적 웹사이트 호스팅을 켠 S3 웹사이트 엔드포인트
3) CNAME 레코드
섹션 제목: “3) CNAME 레코드”- 다른 도메인 이름을 가리키는 별칭용 레코드다.
- 예를 들어
www.example.com이나api.example.com같은 서브도메인을 다른 호스트 이름으로 연결할 때 사용한다. - 예:
www.example.com CNAME sample.example.net
- 예를 들어
4) NS 레코드
섹션 제목: “4) NS 레코드”- 해당 도메인을 어떤 네임서버가 관리하는지 나타내는 레코드다.
- 도메인을 다른 DNS 서비스로 위임할 때 함께 확인하게 된다.
5) dig로 확인하기
섹션 제목: “5) dig로 확인하기”- 기본 형식은
dig @<네임서버> <도메인네임> <레코드타입>이다. - 네임서버와 레코드 타입은 상황에 따라 생략할 수 있다.
Example
섹션 제목: “Example”1) A 레코드 확인
섹션 제목: “1) A 레코드 확인”$ dig example.com A
...
;; QUESTION SECTION:;example.com. IN A
;; ANSWER SECTION:example.com. 172 IN A 104.18.26.120example.com. 172 IN A 104.18.27.120
...2) CNAME 확인
섹션 제목: “2) CNAME 확인”$ dig www.example.com CNAME
...
;; QUESTION SECTION:;www.example.com. IN CNAME
;; ANSWER SECTION:www.example.com. 300 IN CNAME sample.example.net.
...3) 웹에서 확인
섹션 제목: “3) 웹에서 확인”Notes
섹션 제목: “Notes”1) 루트 도메인과 CNAME
섹션 제목: “1) 루트 도메인과 CNAME”- 루트 도메인에는 일반적인
CNAME을 직접 두기 어렵다. - Route 53에서는 이런 경우 Alias A 레코드를 검토할 수 있다.
- 루트 도메인에는 NS, SOA 같은 레코드가 함께 존재해야 하는데, 일반적인 CNAME은 다른 레코드를 같이 두는 데 제약이 있다.
2) CNAME 동작 순서, 사용하는 이유, 리다이렉트와의 차이
섹션 제목: “2) CNAME 동작 순서, 사용하는 이유, 리다이렉트와의 차이”www.example.com CNAME sample.example.net이라면 동작 순서는 보통 다음과 같다.- 클라이언트가
www.example.com을 조회한다. - DNS는 이 이름이
sample.example.net의 별칭이라고 응답한다. - 클라이언트는 다시
sample.example.net의 실제 IP를 조회한다. - 조회한 IP로 연결한다.
- 클라이언트가
CNAME을 쓰는 이유는 다음과 같다.- 실제 대상 호스트 이름이 바뀌어도 별칭 레코드만 수정하면 된다.
- 서브도메인을 다른 호스트 이름으로 연결할 때 IP를 직접 관리하지 않아도 된다.
- CDN이나 외부 서비스처럼 대상이 다시 다른 DNS 이름을 가리키는 구조와 잘 맞는다.
CNAME은 DNS 단계에서 별칭을 해석하는 레코드이지, 브라우저를 다른 URL로 이동시키는 HTTP 리다이렉트는 아니다.- 따라서 실제 연결 대상은
sample.example.net을 기준으로 결정되더라도 주소창이 자동으로 바뀌지는 않는다.
- 따라서 실제 연결 대상은
3) dig 확인 포인트
섹션 제목: “3) dig 확인 포인트”QUESTION SECTION에서 조회한 도메인과 레코드 타입을 확인한다.- 실제 응답 값은
ANSWER SECTION에서 확인한다.