Summary
1. 두 레코드에서 같은 콘텐츠를 서빙하는 상태를 넘어서, 아예 도메인 자체를 리디렉션 시키기 위해서는 어떻게 해야 할까요?
(ex. www.example.com을 칠 경우, example.com으로 브라우저 레벨에서 아예 리디렉션이 일어남)
2. www.example.com과 example.com 중 둘 중 하나의 도메인으로 통일하려고 하는데, 어느 쪽으로 통일하는 게 좋을까요?
보안이나 인증 등에 있어서 정해진 표준이나 혹은 검색 엔진에 노출되는 데 있어서 조금 더 유리한 측면이 있다거나 하는 등의 차이가 있는 지 궁금합니다.
Solution
1. 두 레코드에서 같은 콘텐츠를 서빙하는 상태를 넘어서, 아예 도메인 자체를 리디렉션 시키기 위해서는 어떻게 해야 할까요?
이를 위해서는 2가지 방법이 존재합니다.
Route 53에서 CNAME 처리하는 방법
CNAME 레코드를 사용하여 도메인을 매핑할 경우 브라우저에 URL을 입력할 때 도메인 이름이 동일하게 유지됩니다. 예를 들어, CNAME 레코드를 사용하여 “www.example.com”을 “www.example.net”에 매핑하는 경우 URL은 http://www.example.com으로 유지됩니다.[1]
Amazon S3와 Amazon CloudFront를 사용한 도메인 리디렉션
Amazon S3 콘솔에서 정확한 이름 example.com을 사용하여 S3 버킷을 생성하여 Route53 호스팅 영역에서 레코드를 생성하여 리디렉션할 수 있습니다.[2]
2. www.example.com과 example.com 중 둘 중 하나의 도메인으로 통일하려고 하는데, 어느 쪽으로 통일하는 게 좋을까요?
현재 제가 파악한 구조는 다음과 같습니다.
www.example.com ----> CNAME ----> example.com ----> A record ----> CF domain
루트 도메인 (example.com) 에는 CNAME 처리를 할 수 없기 때문에 위와 같은 구조로 하는 것이 일반적입니다. 따라서 현재 구조의 반대인 example.com -> CNAME -> www.example.com 의 구조가 불가능하기 때문에 example.com의 도메인 사용을 원하신다면 위와 같이 설정하시는 것이 맞습니다.
보안이나 인증 또는 서비스 운영 측면에 있어서 example.com과 www.example.com 이용은 동일하며, 둘 중 무엇을 사용할지는 기호의 문제라고 말씀 드릴 수 있습니다.
현재 설정한 구조와 같이 redirect 되도록 운영하는 경우 CF IP를 확인하기 위해 두 개의 record를 거치게 됩니다. 이러한 구조는 주소 창에 꼭 루트 도메인을 표시하고 싶은 경우에 많이 사용합니다.
www.example.com ----> CNAME ----> example.com ----> A record ----> CF domain
루트 도메인을 반드시 사용해야 하는 목적이 아니시라면, 기존에 담당자님께서 설정하신 구조와 같이 A record로 각각 생성하여 운영하시는 것이 일반적입니다.
example.com ----> A record ----> CF
www.example.com ----> A record ----> CF
이렇게 하게 되면 두 도메인이 모두 개별적으로 작동하여 CF의 IP 주소를 확인하기 위해 두 개의 레코드를 거칠 필요가 없습니다. 따라서 쿼리 수가 줄어들며, 요금 또한 줄어들 수 있습니다.
Reference
[1] Route 53에서 도메인을 다른 도메인으로 리디렉션하려면 어떻게 해야 합니까? -
https://aws.amazon.com/ko/premiumsupport/knowledge-center/route-53-redirect-to-another-domain/
[2] Amazon S3 및 Amazon Route 53를 사용하여 도메인을 다른 도메인으로 리디렉션하는 방법이 있습니까? - https://repost.aws/ko/knowledge-center/redirect-domain-route-53