대체 도메인 이름을 다른 배포로 이동 - Amazon CloudFront

대체 도메인 이름을 다른 배포로 이동

대체 도메인 이름을 배포에 추가하려고 하지만 대체 도메인 이름이 다른 배포에서 이미 사용되고 있는 경우에는 CNAMEAlreadyExists 오류(입력한 하나 이상의 CNAME이 이미 다른 리소스와 연결되어 있음)가 발생합니다. 예를 들어 www.example.com을 배포에 추가하려고 하는데 www.example.com이 이미 다른 배포와 연결되어 있으면 이 오류가 발생합니다.

이 경우 기존 대체 도메인 이름을 하나의 배포(소스 배포)에서 다른 쪽(대상 배포)으로 이동하고 싶을 것입니다. 다음 단계는 이 프로세스를 요약한 것입니다. 자세한 내용은 개요의 각 단계에 있는 링크를 참조하세요.

대체 도메인 이름을 이동하려면 다음을 수행합니다.
  1. 대상 배포를 설정합니다. 이 배포에는 이동 중인 대체 도메인 이름을 포함하는 SSL/TLS 인증서가 있어야 합니다. 자세한 내용은 대상 배포 설정 단원을 참조하세요.

  2. 소스 배포를 찾습니다. 이 AWS Command Line Interface(AWS CLI)을(를) 사용해 대체 도메인 이름이 연결된 배포를 찾습니다. 자세한 내용은 소스 배포 찾기 단원을 참조하세요.

  3. 대체 도메인 이름을 이동합니다. 이 작업은 소스 및 대상 배포가 동일한 AWS 계정에 있는지에 따라 방법이 달라집니다. 자세한 내용은 대체 도메인 이름 이동 단원을 참조하세요.

대상 배포 설정

대체 도메인 이름을 이동하려면 먼저 대상 배포(대체 도메인 이름을 이동할 배포)를 설정해야 합니다.

대상 배포를 설정하려면 다음을 수행합니다.
  1. 이동 중인 대체 도메인 이름이 포함된 SSL/TLS 인증서를 받습니다. 없는 경우 AWS Certificate Manager(ACM)에 요청하거나 다른 인증 기관(CA) 에서 가져온 다음 ACM으로 가져올 수 있습니다. 미국 동부(버지니아 북부)(us-east-1) 리전에서 인증서를 요청하거나 가져오는지 확인합니다

  2. 대상 배포를 생성하지 않은 경우 지금 생성합니다. 대상 배포를 생성하는 과정에서 이전 단계의 인증서를 배포와 연결합니다. 자세한 내용은 배포 생성 단원을 참조하세요.

    대상 배포가 이미 있는 경우 이전 단계의 인증서를 대상 배포와 연결합니다. 자세한 내용은 배포 업데이트 단원을 참조하세요.

  3. 대체 도메인 이름을 대상 배포의 배포 도메인 이름과 연결하는 DNS TXT 레코드를 생성합니다. 대체 도메인 이름 앞에 밑줄(_)을 사용하여 TXT 레코드를 생성합니다. 다음에 DNS의 TXT 레코드의 예가 나와 있습니다.

    _www.example.com TXT d111111abcdef8.cloudfront.net

    CloudFront가 이 TXT 레코드를 사용하여 대체 도메인 이름의 소유권을 확인합니다.

소스 배포 찾기

한 배포에서 다른 배포로 대체 도메인 이름을 이동하기 전에소스 배포(대체 도메인 이름이 현재 사용 중인 배포)를 찾아야 합니다. 소스와 대상 배포의 AWS 계정 ID 모두를 알고 있는 경우 대체 도메인 이름을 이동하는 방법을 결정할 수 있습니다.

대체 도메인 이름의 소스 배포를 찾으려면 다음을 수행합니다.
  1. 다음의 예제를 참고하여 AWS Command Line Interface(AWS CLI)에서 CloudFront list-conflicting-aliases 명령을 사용합니다. www.example.com을 대체 도메인 이름으로 바꾸고 EDFDVBD6EXAMPLE이전에 설정한 대상 배포의 ID로 바꿉니다. 대상 배포와 동일한 AWS 계정에 있는 자격 증명을 사용하여 이 명령을 실행합니다. 이 명령을 사용하려면 대상 배포의 cloudfront:GetDistributioncloudfront:ListConflictingAlias 권한이 있어야 합니다.

    aws cloudfront list-conflicting-aliases --alias www.example.com --distribution-id EDFDVBD6EXAMPLE

    제공된 도메인 이름과 충돌하거나 겹치는 모든 대체 도메인 이름의 목록이 명령의 출력에 표시됩니다. 예:

    • 명령에 www.example.com을 제공한다면 www.example.com 및 겹치는 와일드카드 대체 도메인 이름(*.example.com)(있는 경우)이 명령의 출력에 포함됩니다.

    • 명령에 *.example.com을 제공한다면 *.example.com 및 해당 와일드카드가 적용되는 대체 도메인 이름(예: www.example.com, test.example.com, dev.example.com 등)이 명령의 출력에 포함됩니다.

    명령의 출력에 있는 각 대체 도메인 이름에 대해 연결된 배포의 ID와 해당 배포를 소유하는 AWS 계정 ID를 볼 수 있습니다. 배포 및 계정 ID는 부분적으로 가려지므로 본인이 소유한 배포와 계정을 식별할 수 있지만 소유하지 않은 배포의 정보를 보호하는 데 도움이 됩니다.

  2. 명령의 출력에서 이동 중인 대체 도메인 이름에 대한 배포를 찾은 다음 원본 배포의 AWS 계정 ID를 확인합니다. 원본 배포의 계정 ID를 대상 배포를 생성한 계정 ID와 비교하고 이 두 배포가 동일한 AWS 계정에 있는지 확인합니다. 이렇게 하면 대체 도메인 이름을 이동하는 방법을 결정할 수 있습니다.

    대체 도메인 이름을 이동하려면 다음 항목을 참조하세요.

대체 도메인 이름 이동

상황에 따라 다음 방법 중에서 선택하여 대체 도메인 이름을 이동합니다.

소스 및 대상 배포가 동일한 AWS 계정에 있는 경우

AWS CLI에서 associate-alias 명령을 사용하여 대체 도메인 이름을 이동합니다. 이 방법은 대체 도메인 이름이 apex 도메인(루트 도메인이라고도 함. 예: example.com)인 경우를 포함해 같은 계정 이동인 경우 작동합니다. 자세한 내용은 associate-alias를 사용하여 대체 도메인 네임을 이동합니다. 단원을 참조하세요.

소스 및 대상 배포가 서로 다른 AWS 계정에 있는 경우

원본 배포에 대한 액세스 권한이 있고 대체 도메인 이름이 apex 도메인(루트 도메인이라고도 함. 예: example.com)이 아니며 해당 대체 도메인 이름과 겹치는 와일드카드를 아직 사용하고 있지 않은 경우, 대체 도메인 이름을 이동하려면 와일드카드를 사용합니다. 자세한 내용은 와일드카드를 사용하여 대체 도메인 이름 이동 단원을 참조합니다.

소스 배포의 AWS 계정에 대한 액세스 권한이 없는 경우, AWS CLI의 associate-alias 명령을 사용해 대체 도메인 이름을 이동해볼 수 있습니다. 원본 배포가 비활성화된 경우 대체 도메인 이름을 이동할 수 있습니다. 자세한 내용은 associate-alias를 사용하여 대체 도메인 네임을 이동합니다. 단원을 참조합니다. associate-alias 명령이 작동하지 않을 경우, AWS Support에 문의합니다. 자세한 내용은 AWS Support에 문의하여 대체 도메인 이름을 이동 단원을 참조합니다.

associate-alias를 사용하여 대체 도메인 네임을 이동합니다.

소스 배포가 대상 배포와 동일한 AWS 계정에 있거나, 다른 계정에 있지만 비활성화된 경우 AWS CLI의 CloudFront associate-alias 명령을 사용해 대체 도메인 이름을 이동합니다.

associate-alias를 사용하여 대체 도메인 이름을 이동하려면 다음을 수행합니다.
  1. 다음의 예제를 참고하여 AWS CLI에서 CloudFront associate-alias 명령을 실행합니다. www.example.com을 대체 도메인 이름으로 바꾸고 EDFDVBD6EXAMPLE을 대상 배포 ID로 바꿉니다. 대상 배포와 동일한 AWS 계정에 있는 자격 증명을 사용하여 이 명령을 실행합니다. 이 명령을 사용하려면 다음 제한 사항에 유념하세요.

    • 대상 배포의 cloudfront:AssociateAliascloudfront:UpdateDistribution 권한이 있어야 합니다.

    • 소스 및 대상 배포가 동일한 AWS 계정에 있으면 소스 배포의 cloudfront:UpdateDistribution 권한이 있어야 합니다.

    • 소스 및 대상 배포가 서로 다른 AWS 계정에 있으면 소스 배포를 비활성화해야 합니다.

    • 대상 배포는 대상 배포 설정에 설명된 대로 설정해야 합니다.

    aws cloudfront associate-alias --alias www.example.com --target-distribution-id EDFDVBD6EXAMPLE

    이 명령은 소스 배포에서 대체 도메인 이름을 제거하고 이를 대상 배포에 추가하여 두 배포를 모두 업데이트합니다.

  2. 대상 배포가 완전히 배포된 후 대체 도메인 이름의 DNS 레코드가 대상 배포의 배포 도메인 이름을 가리키도록 DNS 구성을 업데이트합니다.

와일드카드를 사용하여 대체 도메인 이름 이동

소스 배포가 대상 배포와 다른 AWS 계정에 있고 소스 배포가 활성화된 경우, 와일드카드를 사용하여 대체 도메인 이름을 이동할 수 있습니다.

참고

와일드카드를 사용하여 apex 도메인(예: example.com)을 이동할 수는 없습니다. 소스 및 대상 배포가 서로 다른 AWS 계정에 있을 때 apex 도메인을 이동하려면 AWS Support에 문의하세요. 자세한 내용은 AWS Support에 문의하여 대체 도메인 이름을 이동 단원을 참조하세요.

와일드카드를 사용하여 대체 도메인 이름을 이동하려면 다음을 수행합니다.
참고

이 프로세스에는 배포에 대한 다중 업데이트가 포함됩니다. 각 배포가 최신 변경 사항을 완전히 배포할 때까지 기다린 후 다음 단계를 진행합니다.

  1. 대상 배포를 업데이트하여 이동할 대체 도메인 이름을 포함하는 와일드카드 대체 도메인 이름을 추가합니다. 예를 들어 이동할 대체 도메인 이름이 www.example.com인 경우 대체 도메인 이름 *.example.com을 대상 배포에 추가합니다. 이렇게 하려면 대상 배포의 SSL/TLS 인증서에 와일드카드 도메인 이름이 포함되어야 합니다. 자세한 내용은 배포 업데이트 단원을 참조하세요.

  2. 대상 배포의 도메인 이름을 가리키도록 대체 도메인 이름에 대한 DNS 설정을 업데이트합니다. 예를 들어 이동하려는 대체 도메인 이름이 www.example.com인 경우 대상 배포의 도메인 이름(예: d1111abcdef8.cloudfront.net)으로 트래픽을 라우팅하도록 www.example.com에 대한 DNS 레코드를 업데이트합니다.

    참고

    DNS 설정을 업데이트해도 대체 도메인 이름이 현재 구성되어 있으므로 대체 도메인 이름이 소스 배포에서 계속 제공됩니다.

  3. 소스 배포를 업데이트하여 대체 도메인 이름을 제거합니다. 자세한 내용은 배포 업데이트 단원을 참조하세요.

  4. 대상 배포를 업데이트하여 대체 도메인 이름을 추가합니다. 자세한 내용은 배포 업데이트 단원을 참조하세요.

  5. dig(또는 유사한 DNS 쿼리 도구)을(를) 사용하여 대체 도메인 이름에 대한 DNS 레코드가 대상 배포의 도메인 이름으로 확인되는지 확인합니다.

  6. (선택 사항) 대상 배포를 업데이트하여 와일드카드 대체 도메인 이름을 제거합니다.

AWS Support에 문의하여 대체 도메인 이름을 이동

소스 및 대상 배포가 서로 다른 AWS 계정에 있고 소스 배포의 AWS 계정에 대한 액세스 권한이 없거나 소스 배포를 사용 중지할 수 없는 경우 AWS Support에 문의하여 대체 도메인 이름을 이동할 수 있습니다.

AWS Support에 문의하여 대체 도메인 이름을 이동하려면 다음을 수행하세요.
  1. 대상 배포를 가리키는 DNS TXT 레코드를 포함하여 대상 배포를 설정합니다. 자세한 내용은 대상 배포 설정 단원을 참조하세요.

  2. AWS Support에 문의해 도메인 소유권을 확인하고 새 CloudFront 배포로 도메인을 이동시켜 달라고 요청합니다.

  3. 대상 배포가 완전히 배포된 후 대체 도메인 이름의 DNS 레코드가 대상 배포의 배포 도메인 이름을 가리키도록 DNS 구성을 업데이트합니다.