

# CloudFront 배포 테넌트에 대한 인증서 요청
<a name="managed-cloudfront-certificates"></a>

배포 테넌트를 만들면 테넌트는 다중 테넌트 배포에서 공유 AWS Certificate Manager(ACM) 인증서를 상속합니다. 이 공유 인증서는 다중 테넌트 배포와 연결된 모든 테넌트에 HTTPS를 제공합니다.

CloudFront 배포 테넌트를 만들거나 업데이트하여 도메인을 추가할 때 ACM에서 관리형 CloudFront 인증서를 추가할 수 있습니다. 그런 다음 CloudFront는 사용자를 대신하여 ACM에서 HTTP 검증 인증서를 가져옵니다. 이 테넌트 수준 ACM 인증서를 사용자 지정 도메인 구성에 사용할 수 있습니다. CloudFront는 갱신 워크플로를 간소화하여 인증서를 최신 상태로 유지하고 콘텐츠 전송을 중단 없이 보호합니다.

**참고**  
인증서를 소유하고 있지만 CloudFront 리소스*에만* 사용할 수 있으며 프라이빗 키는 내보낼 수 *없습니다*.

배포 테넌트를 만들거나 업데이트할 때 인증서를 요청할 수 있습니다.

**Topics**
+ [도메인 및 인증서 추가(분산 테넌트)](#vanity-domain-tls-tenant)
+ [도메인 설정 완료](#complete-domain-ownership)
+ [도메인을 CloudFront로 가리키기](#point-domains-to-cloudfront)
+ [도메인 고려 사항(배포 테넌트)](#tenant-domain-considerations)
+ [와일드카드 도메인(배포 테넌트)](#tenant-wildcard-domains)

## 도메인 및 인증서 추가(분산 테넌트)
<a name="vanity-domain-tls-tenant"></a>

다음 절차에서는 도메인을 추가하고 배포 테넌트의 인증서를 업데이트하는 방법을 보여줍니다.

**도메인 및 인증서를 추가하려면(배포 테넌트) 다음과 같이 합니다.**

1. AWS Management Console에 로그인한 다음 [https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)에서 CloudFront 콘솔을 엽니다.

1. **SaaS**에서 **배포 테넌트**를 선택합니다.

1. 배포 테넌트를 검색합니다. 검색 창의 드롭다운 메뉴를 사용하여 도메인, 이름, 배포 ID, 인증서 ID, 연결 그룹 ID 또는 웹 ACL ID를 기준으로 필터링합니다.

1. 배포 테넌트 이름을 선택합니다.

1. **도메인**에서 **도메인 관리**를 선택합니다.

1. **인증서**에서 배포 테넌트에 대한 **사용자 지정 TLS 인증서**를 원하는지 선택합니다. 인증서는 도메인 이름을 사용할 권한이 있는지 확인합니다. 미국 동부(버지니아 북부) 리전에서 인증서를 가져와야 합니다.

1. **도메인**에서 **도메인 추가**를 선택하고 도메인 이름을 입력합니다. 도메인에 따라 입력한 도메인 이름 아래에 다음 메시지가 표시됩니다.
   + 이 도메인은 인증서의 적용을 받습니다.
   + 이 도메인은 검증 보류 중인 인증서의 적용을 받습니다.
   + 이 도메인은 인증서의 적용을 받지 않습니다. (즉, 도메인 소유권을 확인해야 합니다.)

1. **배포 테넌트 업데이트**를 선택합니다.

   테넌트 세부 정보 페이지의 **도메인**에서 다음 필드를 볼 수 있습니다.
   + **도메인 소유권** - 도메인 소유권의 상태입니다. CloudFront가 콘텐츠를 제공할 수 있으려면 먼저 TLS 인증서 검증을 사용하여 도메인 소유권을 확인해야 합니다.
   + **DNS 상태** - 트래픽을 올바르게 라우팅하려면 도메인의 DNS 레코드가 CloudFront를 가리켜야 합니다.

1. 도메인 소유권이 확인되지 않은 경우 테넌트 세부 정보 페이지의 **도메인**에서 **도메인 설정 완료**를 선택한 다음, 다음 절차를 완료하여 DNS 레코드가 CloudFront 도메인 이름을 가리키도록 합니다.

## 도메인 설정 완료
<a name="complete-domain-ownership"></a>

다음 절차에 따라 배포 테넌트의 도메인을 소유하고 있는지 확인합니다. 도메인에 따라 다음 절차 중 하나를 선택합니다.

**참고**  
도메인이 이미 Amazon Route 53 별칭 레코드가 있는 CloudFront를 가리키는 경우 도메인 이름 앞에 `_cf-challenge.`를 사용하여 DNS TXT 레코드를 추가해야 합니다. 이 TXT 레코드는 도메인 이름이 CloudFront에 연결되어 있는지 확인합니다. 각 도메인에 대해 이 단계를 반복합니다. 다음은 TXT 레코드를 업데이트하는 방법을 보여줍니다.  
레코드 이름: `_cf-challenge.DomainName`
레코드 유형: `TXT`
레코드 값: `CloudFrontRoutingEndpoint`
예를 들어 TXT 레코드는 `_cf-challenge.example.com TXT d111111abcdef8.cloudfront.net`과 같을 수 있습니다.  
CloudFront 라우팅 엔드포인트는 콘솔의 배포 테넌트 세부 정보 페이지에서 찾거나 *Amazon CloudFront API 참조*의 [ListConnectionGroups](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_ListConnectionGroups.html) API 작업을 사용하여 찾을 수 있습니다.

**작은 정보**  
SaaS 공급자이고 고객(테넌트)이 DNS에 TXT 레코드를 직접 추가할 필요 없이 인증서를 발급하도록 허용하려면 다음을 수행합니다.  
도메인 `example-saas-provider.com`을 소유한 경우 `customer-123.example-saas-provider.com`과 같이 테넌트에 하위 도메인을 할당합니다.
DNS에서 DNS 구성에 `_cf-challenge.customer-123.example-saas-provider.com TXT d111111abcdef8.cloudfront.net` TXT 레코드를 추가합니다.
그런 다음 고객(테넌트)은 자체 DNS 레코드를 업데이트하여 도메인 이름을 제공된 하위 도메인에 매핑할 수 있습니다.  
`www.customer-domain.com CNAME customer-123.example-saas-provider.com`

------
#### [ I have existing traffic ]

도메인이 가동 중지 시간을 허용할 수 없는 경우 이 옵션을 선택합니다. 오리진/웹 서버에 액세스할 수 있어야 합니다. 다음 절차에 따라 도메인 소유권을 검증합니다.

**기존 트래픽이 있을 때 도메인 설정을 완료하려면 다음과 같이 합니다.**

1. **웹 트래픽 지정**에서 **기존 트래픽이 있음**을 선택한 후 **다음**을 선택합니다.

1. **도메인 소유권 확인**에서 다음 옵션 중 하나를 선택합니다.
   + **기존 인증서 사용** - 기존 ACM 인증서를 검색하거나 나열된 도메인을 포함하는 인증서 ARN을 입력합니다.
   + **수동 파일 업로드** - 웹 서버에 파일을 업로드할 수 있는 직접 액세스 권한이 있는 경우 선택합니다.

     각 도메인에 대한 **토큰 위치**에서 검증 토큰이 포함된 일반 텍스트 파일을 만들고 기존 서버의 지정된 **파일 경로**에서 오리진에 업로드합니다. 예를 들어 이 파일에 대한 경로는 다음(`/.well-known/pki-validation/acm_9c2a7b2ec0524d09fa6013efb73ad123.txt`)과 같을 수 있습니다. 이 단계를 완료하면 ACM은 토큰을 확인한 다음, 도메인에 대한 TLS 인증서를 발급합니다.
   + **HTTP 리디렉션** - 웹 서버에 파일을 업로드할 수 있는 직접 액세스 권한이 없거나 CDN 또는 프록시 서비스를 사용하는 경우 선택합니다.

     각 도메인에서 기존 서버에 301 리디렉션을 만듭니다. **다음에서 리디렉션**에서 잘 알려진 경로를 복사하고 **다음으로 리디렉션**에서 지정된 인증서 엔드포인트를 가리킵니다. 리디렉션은 다음 예제와 비슷할 수 있습니다.

     ```
     If the URL matches: example.com/.well-known/pki-validation/leabe938a4fe077b31e1ff62b781c123.txt
     Then the settings are:Forwarding URL
     Then 301 Permanent Redirect:To validation.us-east-1.acm-validations.aws/123456789012/.well-known/pki-validation/leabe938a4fe077b31e1ff62b781c123.txt
     ```
**참고**  
**인증서 상태 확인**을 선택하여 ACM이 도메인에 대한 인증서를 발급하는 경우를 확인할 수 있습니다.

1. **다음**을 선택합니다.

1. [도메인을 CloudFront로 가리키기](#point-domains-to-cloudfront)의 단계를 완료합니다.

------
#### [ I don't have traffic ]

새 도메인을 추가하는 경우 이 옵션을 선택합니다. CloudFront에서 인증서 검증을 관리합니다.

**트래픽이 없는 경우 도메인 설정을 완료하려면 다음과 같이 합니다.**

1. **웹 트래픽 지정**에서 **아직 트래픽이 없음**을 선택합니다.

1. 각 도메인 이름에서 [도메인을 CloudFront로 가리키기](#point-domains-to-cloudfront)의 단계를 완료합니다.

1. 각 도메인 이름에서 DNS 레코드를 업데이트한 후 **다음**을 선택합니다.

1. 인증서가 발급될 때까지 기다립니다.
**참고**  
**인증서 상태 확인**을 선택하여 ACM이 도메인에 대한 인증서를 발급하는 경우를 확인할 수 있습니다.

1. **제출**을 선택합니다.

------

## 도메인을 CloudFront로 가리키기
<a name="point-domains-to-cloudfront"></a>

DNS 레코드를 업데이트하여 각 도메인의 트래픽을 CloudFront 라우팅 엔드포인트로 라우팅합니다. 여러 도메인 이름을 가질 수 있지만 모두 이 엔드포인트로 확인되어야 합니다.

**도메인을 CloudFront로 가리키려면 다음과 같이 합니다.**

1. d111111abcdef8.cloudfront.net 등의 CloudFront 라우팅 엔드포인트 값을 복사합니다.

1. DNS 레코드를 업데이트하여 각 도메인의 트래픽을 CloudFront 라우팅 엔드포인트로 라우팅합니다.

   1. 도메인 등록 또는 DNS 공급자의 관리 콘솔에 로그인합니다.

   1. 도메인의 DNS 관리 섹션으로 이동합니다.
      + **하위 도메인** - CNAME 레코드를 만듭니다. 예제:
        + **이름** - 하위 도메인(예: `www` 또는 `app`)
        + **값/대상** - CloudFront 라우팅 엔드포인트
        + **레코드 유형** - CNAME
        + **TTL** – 3600(또는 사용 사례에 적합한 것)
      + **apex/루트 도메인의 경우** - 루트 또는 apex 도메인 수준에서는 표준 CNAME 레코드를 사용할 수 없으므로 고유한 DNS 구성이 필요합니다. 대부분의 DNS 공급자는 ALIAS 레코드를 지원하지 않기 때문에 Route 53에서 ALIAS 레코드를 생성하는 것이 좋습니다. 예제:
        + **이름** - apex 도메인(예: `example.com`)
        + **레코드 유형** - A
        + **별칭** - 예
        + **별칭 대상** - CloudFront 라우팅 엔드포인트
        + **라우팅 정책** - 단순(또는 사용 사례에 적합한 것)

   1. DNS 변경 사항이 채워졌는지 확인합니다. (이는 일반적으로 TTL이 만료될 때 발생합니다. 경우에 따라 24\$148시간이 걸릴 수 있습니다.) `dig` 또는 `nslookup` 등의 도구를 사용합니다.

      ```
      dig www.example.com
      # Should eventually return a CNAME pointing to your CloudFront routing endpoint
      ```

1. CloudFront 콘솔로 이동하여 **제출**을 선택합니다. 도메인이 활성 상태이면 CloudFront는 도메인이 트래픽을 처리할 준비가 되었음을 나타내도록 도메인 상태를 업데이트합니다.

자세한 내용은 DNS 공급자의 설명서를 참조하세요.
+ [Cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)
+ [ClouDNS](https://www.cloudns.net/wiki/article/9/)
+ [DNSimple](https://support.dnsimple.com/categories/dns/)
+ [Gandi.net](https://www.gandi.net/)
+ [GoDaddy](https://www.godaddy.com/help/manage-dns-records-680)
+ [Google Cloud DNS](https://cloud.google.com/dns/docs/records)
+ [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/)

## 도메인 고려 사항(배포 테넌트)
<a name="tenant-domain-considerations"></a>

도메인이 활성 상태이면 도메인 제어가 설정되고 CloudFront는 이 도메인에 대한 모든 뷰어 요청에 응답합니다. 활성화되면 도메인을 비활성화하거나 비활성 상태로 변경할 수 없습니다. 이미 사용 중인 동안에는 도메인을 다른 CloudFront 리소스와 연결할 수 없습니다. 도메인을 다른 배포와 연결하려면 [UpdateDomainAssociation](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDomainAssociation.html) 요청을 사용하여 도메인을 한 CloudFront 리소스에서 다른 CloudFront 리소스로 이전합니다.

도메인이 비활성 상태이면 CloudFront는 도메인에 대한 뷰어 요청에 응답하지 않습니다. 도메인이 비활성 상태일 때 다음 사항에 유의합니다.
+ 보류 중인 인증서 요청이 있는 경우 CloudFront는 잘 알려진 경로에 대한 요청에 응답합니다. 요청이 보류 중인 동안에는 도메인을 다른 CloudFront 리소스와 연결할 수 없습니다.
+ 보류 중인 인증서 요청이 없는 경우 CloudFront는 도메인에 대한 요청에 응답하지 않습니다. 도메인을 다른 CloudFront 리소스와 연결할 수 있습니다.
+ 배포 테넌트당 *보류 중인 인증서 요청은 하나*만 가질 수 있습니다. 추가 도메인에 대해 다른 인증서를 요청하려면 먼저 보류 중인 기존 요청을 취소해야 합니다. 기존 인증서 요청을 취소해도 연결된 ACM 인증서는 삭제되지 않습니다. ACM API를 사용하여 인증서를 삭제할 수 있습니다.
+ 배포 테넌트에 새 인증서를 적용하면 이전 인증서의 연결이 해제됩니다. 인증서를 재사용하여 다른 배포 테넌트의 도메인에 적용할 수 있습니다.

DNS 검증 인증서 갱신과 마찬가지로 인증서 갱신이 성공하면 알림이 전송됩니다. 하지만 사용자는 조치를 취할 필요가 없습니다. CloudFront는 도메인의 인증서 갱신을 자동으로 관리합니다.

**참고**  
인증서 리소스를 만들거나 업데이트하기 위해 ACM API 작업을 호출할 필요가 없습니다. [CreateDistributionTenant](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistributionTenant.html) 및 [UpdateDistributionTenant](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistributionTenant.html) API 작업을 사용하여 관리형 인증서 요청에 대한 세부 정보를 지정하여 인증서를 관리할 수 있습니다.

## 와일드카드 도메인(배포 테넌트)
<a name="tenant-wildcard-domains"></a>

다음과 같은 경우 배포 테넌트에 와일드카드 도메인이 지원됩니다.
+ 상위 다중 테넌트 배포에서 상속된 공유 인증서에 와일드카드가 포함된 경우
+ 배포 테넌트에 유효한 기존 사용자 지정 TLS 인증서를 사용하는 경우