대체 도메인 이름(CNAME)을 추가하여 사용자 지정 URL 사용 - Amazon CloudFront

대체 도메인 이름(CNAME)을 추가하여 사용자 지정 URL 사용

배포를 만들 때 CloudFront가 배포에 도메인 이름을 제공합니다(예: d111111abcdef8.cloudfront.net). 제공된 이 도메인 이름을 사용하는 대신 대체 도메인 이름(CNAME이라고도 함)을 사용할 수 있습니다.

www.example.com과 같은 고유한 도메인 이름을 사용하는 방법은 다음 주제를 참조하세요.

대체 도메인 이름 사용과 관련된 요구 사항

CloudFront 배포에 www.example.com과 같은 대체 도메인 이름을 추가하는 경우 요구 사항은 다음과 같습니다.

대체 도메인 이름은 소문자여야 합니다.

모든 대체 도메인 이름(CNAME)은 소문자여야 합니다.

대체 도메인 이름은 유효한 SSL/TLS 인증서에 포함되어야 합니다.

CloudFront 배포에 대체 도메인 이름(CNAME)을 추가하려면 대체 도메인 이름이 포함된 신뢰할 수 있는 유효한 SSL/TLS 인증서를 배포에 연결해야 합니다. 그러면 도메인의 인증서에 대한 액세스 권한이 있는 사람만 해당 도메인과 관련된 CloudFront CNAME과 연결할 수 있습니다.

신뢰할 수 있는 인증서는 AWS Certificate Manager(ACM) 또는 다른 유효한 CA(인증 기관)에서 발급하는 인증서입니다. 자체 서명된 인증서를 사용하여 기존 CNAME의 유효성을 검사할 수 있지만 새 CNAME의 유효성은 확인할 수 없습니다. CloudFront는 Mozilla가 지원하는 것과 동일한 인증 기관을 지원합니다. 최신 목록은 Mozilla에 포함된 CA 인증서 목록을 참조하십시오.

연결한 인증서를 사용하여 와일드카드가 포함된 대체 도메인 이름 등의 대체 도메인 이름을 확인하기 위해 CloudFront는 인증서에서 주제 대체 이름(SAN)을 확인합니다. 추가하는 대체 도메인 이름은 SAN에 포함되어야 합니다.

참고

한 번에 인증서 하나만 CloudFront 배포에 연결할 수 있습니다.

다음 중 하나를 수행하여 배포에 특정 대체 도메인 이름을 추가할 권한을 입증합니다.

  • 대체 도메인 이름(예: product-name.example.com)이 포함된 인증서 연결.

  • 도메인 이름의 시작 부분에 * 와일드카드가 포함된 인증서를 추가하여 인증서 하나로 여러 하위 도메인 포괄. 와일드카드를 지정할 때 CloudFront에서 여러 하위 도메인을 대체 도메인 이름으로 추가할 수 있습니다.

다음 예에서는 인증서 작업에서 도메인 이름에 와일드카드를 사용하여 CloudFront에서 특정 대체 도메인 이름을 추가할 수 있는 권한을 부여하는 보여 줍니다.

  • marketing.example.com을 대체 도메인 이름으로 추가하려고 합니다. 인증서에 도메인 이름(*.example.com)을 나열합니다. CloudFront에 이 인증서를 연결할 때 해당 수준에서 와일드카드를 대체하는 배포의 대체 도메인 이름을 추가할 수 있습니다(예: marketing.example.com). 또한 예를 들어 다음과 같은 대체 도메인 이름을 추가할 수도 있습니다.

    • product.example.com

    • api.example.com

    그러나 와일드카드보다 높거나 낮은 수준의 대체 도메인 이름은 추가할 수 없습니다. 예를 들어 example.com 또는 marketing.product.example.com은 대체 도메인 이름으로 추가할 수 없습니다.

  • example.com을 대체 도메인 이름으로 추가하려고 합니다. 이를 수행하려면 배포에 연결하는 인증서에서 도메인 이름 example.com 자체를 나열해야 합니다.

  • marketing.product.example.com을 대체 도메인 이름으로 추가하려고 합니다. 이를 수행하려면 인증서에 *.product.example.com을 나열하거나, 인증서에 marketing.product.example.com 자체를 나열하면 됩니다.

DNS 구성 변경 권한

대체 도메인 이름을 추가하는 경우, CNAME 레코드를 생성하여 대체 도메인 이름에 대한 DNS 쿼리를 CloudFront 배포에 라우팅해야 합니다. 이를 수행하려면 사용 중인 대체 도메인 이름의 DNS 서비스 공급자를 통해 CNAME 레코드를 생성할 수 있는 권한이 있어야 합니다. 일반적으로 이 경우 도메인을 소유하고 있지만 도메인 소유자를 위해 애플리케이션을 개발하는 중일 수도 있습니다.

대체 도메인 이름과 HTTPS

최종 사용자가 대체 도메인 이름과 함께 HTTPS를 사용하도록 하려면 추가 구성을 수행해야 합니다. 자세한 내용은 대체 도메인 이름과 HTTPS 사용 단원을 참조합니다.

대체 도메인 이름 사용에 대한 제한

대체 도메인 이름 사용에 대한 제한 사항은 다음과 같습니다.

최대 대체 도메인 이름 수

현재 하나의 배포에 추가할 수 있는 대체 도메인 이름의 최대 수를 살펴보고 더 높은 할당량(이전에는 제한이라고 함)을 요청하려면, 배포의 일반 할당량 단원을 참조하세요.

중복 및 중첩 대체 도메인 이름

AWS 계정에서 다른 배포를 소유하더라도 동일한 대체 도메인 이름이 다른 CloudFront 배포 안에 이미 있는 경우에는 대체 도메인 이름을 CloudFront 배포에 추가할 수 없습니다.

하지만 *.example.com 등의 와일드카드 대체 도메인 이름을 추가할 수 있는데 여기에는 www.example.com 등의 비 와일드카드 대체 도메인 이름이 포함(중첩)됩니다. 배포 2개의 대체 도메인 이름이 겹치는 경우 CloudFront는 DNS 레코드가 가리키는 배포에 상관 없이 보다 구체적으로 일치하는 이름을 사용하여 배포에 요청을 보냅니다. 예를 들어, markeeting.domain.com은 *.domain.com보다 더 구체적입니다.

CloudFront 배포를 가리키는 기존 와일드카드 DNS 항목이 있고 보다 구체적인 이름으로 새 CNAME을 추가하려고 할 때 잘못 구성된 DNS 오류가 발생하는 경우 새 CNAME을 추가하려고 하면 CloudFront에서 잘못 구성된 DNS 레코드 오류가 반환됩니다. 섹션을 참조하세요.

Domain Fronting(도메인 프론팅)

CloudFront에는 여러 AWS 계정에서 발생하는 도메인 프론팅에 대한 보호가 포함되어 있습니다. 도메인 프론팅은 표준이 아닌 클라이언트가 한 AWS 계정의 도메인 이름에 대한 TLS/SSL 연결을 생성하지만 다른 AWS 계정에서 관련이 없는 이름에 대한 HTTPS 요청을 하는 시나리오입니다. 예를 들어 TLS 연결은 www.example.com에 연결한 후 www.example.org에 대한 HTTP 요청을 보낼 수 있습니다.

도메인 프론팅이 여러 AWS 계정을 교차하는 경우를 방지하기 위해 CloudFront는 특정 연결에 대해 사용하는 인증서를 소유한 AWS 계정이 항상 동일한 연결에서 처리하는 요청을 소유한 AWS 계정과 일치하는지 확인합니다.

두 AWS 계정 번호가 일치하지 않으면 CloudFront는 HTTP 421 Misdirected Request로 응답하여 올바른 도메인을 사용해 연결할 기회를 클라이언트에 제공합니다.

도메인의 최상위 노드(Zone Apex)에서 대체 도메인 이름 추가

배포에 대체 도메인 이름을 추가하는 경우, 일반적으로 DNS 구성에서 CNAME 레코드를 생성하여 도메인 이름에 대한 DNS 쿼리를 CloudFront 배포에 라우팅합니다. 하지만 Zone Apex라고 하는 DNS 네임스페이스의 최상위 노드에 대한 CNAME 레코드를 생성할 수 없습니다. DNS 프로토콜이 허용하지 않습니다. 예를 들어, DNS 이름 example.com을 등록하면 zone apex는 example.com입니다. example.com에 대한 CNAME 레코드를 생성할 수는 없지만, www.example.com, newproduct.example.com 등에 대한 CNAME 레코드는 생성할 수 있습니다.

Route 53을 DNS 서비스로 사용하는 경우 CNAME 레코드보다 두 가지 장점이 있는 별칭 리소스 레코드 세트를 생성할 수 있습니다. 최상위 노드(example.com)에서 도메인 이름에 대한 별칭 리소스 레코드 세트를 생성할 수 있습니다. 또한 별칭 리소스 레코드 세트를 사용할 때는 Route 53 쿼리에 대한 요금을 지불하지 않습니다.

참고

IPv6를 활성화하는 경우 두 개의 별칭 리소스 레코드를 생성해야 합니다. 하나는 IPv6 트래픽(A 레코드)을 라우팅하고 다른 하나는 IPv4 트래픽(AAAA 레코드)을 라우팅합니다. 자세한 내용은 IPv6 사용 주제에서 배포 설정 참조 섹션을 참조하세요.

자세한 내용은 Amazon Route 53 개발자 안내서에서 도메인 이름을 사용하여 Amazon CloudFront 웹 배포로 트래픽 라우팅을 참조하세요.