[Route 53] CNAME vs Alias

hi·2024년 8월 21일
0

AWS-SAA

목록 보기
52/91
post-custom-banner

AWS를 사용하여 애플리케이션을 배포할 때, 도메인 이름을 AWS 리소스와 연결하는 것이 일반적인 작업입니다. 예를 들어, 로드 밸런서나 CloudFront와 같은 리소스를 사용하면서 사용자 지정 도메인 이름을 해당 리소스에 매핑하는 경우가 있습니다. 이때, DNS 설정을 통해 두 가지 주요 옵션을 고려할 수 있습니다: CNAME 레코드별칭(Alias) 레코드입니다. 이 블로그에서는 이 두 가지 옵션의 차이점과 각각의 장단점에 대해 살펴보겠습니다.

CNAME 레코드란

CNAME 레코드(Canonical Name Record)는 한 도메인 이름을 다른 도메인 이름으로 매핑하는 DNS 레코드입니다. 예를 들어, app.mydomain.com이라는 도메인을 blabla.anything.com으로 리다이렉션하고 싶을 때 CNAME 레코드를 사용할 수 있습니다. 이 방식은 여러 애플리케이션에서 널리 사용되며, 도메인 간의 연관성을 쉽게 관리할 수 있습니다.

하지만 CNAME 레코드에는 몇 가지 제한사항이 있습니다. 루트 도메인(Zone Apex)에는 CNAME 레코드를 사용할 수 없습니다. 즉, mydomain.com과 같이 최상위 도메인 이름에는 CNAME을 설정할 수 없고, 반드시 서브도메인 (www.mydomain.com 등)에만 사용할 수 있습니다.

별칭(Alias) 레코드란

별칭(Alias) 레코드는 AWS Route 53에서 제공하는 기능으로, 특정 도메인 이름을 AWS 리소스와 연결할 수 있도록 해줍니다. 예를 들어, app.mydoamin.comblabla.amazonaws.com과 같은 AWS 리소스로 매핑할 수 있습니다. 이는 CNAME과 유사하게 작동하지만, 몇 가지 추가적인 이점이 있습니다.

가장 큰 차이점 중 하나는 루트 도메인에도 별칭 레코드를 사용할 수 있다는 것입니다. 예를 들어, mydomain.com을 별칭 레코드를 통해 AWS 리소스(예:ELB, CloudFront 배포 등)로 직접 연결할 수 있습니다. 이는 CNAME이 지원하지 않는 기능으로, 루트 도메인을 AWS 리소스와 연결해야 하는 경우 Alias 레코드가 매우 유용합니다.

별칭 레코드의 장점

1. 루트 도메인 지원: 앞서 언급한 바와 같이 별칭 레코드는 루트 도메인에 사용할 수 있습니다. 이는 CNAME 레코드가 제공하지 않는 중요한 기능입니다.
2. 무료 사용: 별칭 레코드를 사용하는 경우, Route 53에서 제공하는 쿼리에 대해 별도의 비용이 부과되지 않습니다.
3. 상태 확인 기능: 별칭 레코드는 AWS 리소스의 상태를 자동으로 확인합니다. 예를 들어, 로드 밸런서의 IP가 변경될 경우, 별칭 레코드는 이를 자동으로 인식하고 갱신합니다.
4. TTL 자동 관리: 별칭 레코드는 Route 53에서 자동으로 TTL(Time-to-Live)을 관리하므로, 수동으로 설정할 필요가 없습니다.

별칭 레코드를 사용할 수 있는 AWS 리소스

별칭 레코드는 오직 AWS 리소스와의 연결에만 사용할 수 있습니다. 아래는 별칭 레코드를 사용할 수 있는 주요 AWS 리소스입니다.

  • Elastic Load Balancer (ELB)
  • CloudFront 배포
  • API Gateway
  • Elastic Beanstalk 환경
  • S3 웹사이트 (S3 버킷 자체는 제외, 웹사이트 활성화된 경우만 가능)
  • VPC 인터페이스 엔드포인트
  • Global Accelerator
  • 동일 호스트 존 내의 Route 53 레코드

그러나 주의할 점도 있습니다. EC2 인스턴스의 DNS 이름은 별칭 레코드의 대상이 될 수 없습니다. 이는 별칭 레코드 사용 시 자주 묻는 질문 중 하나이므로, 미리 숙지해 두면 좋습니다.

CNAME 레코드 vs Alias 레코드

  • 루트 도메인에 대한 연결: 루트 도메인(example.com)에 대해 DNS 설정을 해야 한다면, CNAME은 사용할 수 없으므로 별칭 레코드를 선택해야 합니다.
  • 서브 도메인에 대한 연결: 서브 도메인(www.example.com)에 대해 AWS 외부의 리소스로 연결할 경우 CNAME을 사용할 수 있습니다. 그러나 AWS 리소스와 연결할 경우 별칭 레코드가 더 적합할 수 있습니다.
  • 비용과 상태 확인: 비용 효율성을 고려하고, 자동 상태 확인 기능이 필요하다면 별칭 레코드가 더 나은 선택입니다.

마치며

AWS Route 53에서 제공하는 CNAME 레코드와 별칭 레코드는 각각의 사용 시나리오에 맞는 기능을 제공하며, 올바르게 이해하고 사용하면 DNS 설정을 보다 효율적으로 관리할 수 있습니다. 특히, AWS 리소스와의 통합이 필요한 경우 Alias 레코드를 적극 활용해보세요.

post-custom-banner

0개의 댓글