호스팅 영역을 다른 AWS 계정으로 이전 - Amazon Route 53

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

호스팅 영역을 다른 AWS 계정으로 이전

호스팅 영역을 한 AWS 계정에서 다른 계정으로 마이그레이션하려는 경우 이전 호스팅 영역의 레코드를 프로그래밍 방식으로 나열하고 출력을 편집한 다음 편집한 출력을 사용하여 새 호스팅 영역에 프로그래밍 방식으로 레코드를 생성할 수 있습니다. 유의할 사항:

  • 레코드가 몇 개밖에 없는 경우에는 Route 53 콘솔을 사용하여 새 호스팅 영역에 레코드를 생성할 수도 있습니다. 자세한 내용은 Amazon Route 53 콘솔을 사용하여 레코드 생성 단원을 참조하십시오.

  • 일부 절차에서는 AWS Command Line Interface ()AWS CLI를 사용합니다. Amazon Route 53 API 또는 중 하나를 사용하여 이러한 절차를 수행할 수도 AWS Tools for Windows PowerShell있습니다. AWS SDKs 이 주제에서는 호스팅 영역 수가 적을수록 더 AWS CLI 쉽기 때문에 를 사용합니다.

  • 이 프로세스를 이용해 기존 호스팅 영역과 이름은 다르지만 같은 레코드를 가진 새 호스팅 영역에 레코드를 생성할 수도 있습니다.

  • 트래픽을 트래픽 정책 인스턴스로 라우팅하는 별칭 레코드를 마이그레이션할 수 없습니다.

1단계: 설치 또는 업그레이드 AWS CLI

다운로드, 설치 및 구성에 대한 자세한 내용은 AWS Command Line Interface 사용 설명서를 참조하십시오. AWS CLI

참고

호스팅 영역을 생성한 계정과 호스팅 영역을 마이그레이션하려는 계정을 모두 사용할 때 사용할 수 CLI 있도록 구성하십시오. 자세한 내용은 AWS Command Line Interface 사용 설명서구성을 참조하세요.

이미 사용 중인 경우 CLI 명령이 AWS CLI최신 Route 53 기능을 지원하도록 최신 버전으로 업그레이드하는 것이 좋습니다. CLI

2단계: 새 호스팅 영역 생성

다음 절차에서는 Route 53 콘솔을 사용하여 마이그레이션하려는 대상 호스팅 영역을 생성하는 방법을 설명합니다.

참고

Route 53는 새 호스팅 영역에 4개의 이름 서버 세트를 새로 할당합니다. 호스팅 영역을 다른 AWS 계정으로 마이그레이션한 후에는 새 호스팅 영역에 이름 서버를 사용하도록 도메인 등록을 업데이트해야 합니다. 본 프로세스 후반부에 이 단계에 대해 다시 알려드리겠습니다.

다른 계정을 사용하여 새 호스팅 영역을 생성하려면
  1. 에 AWS Management Console 로그인하고 에서 Route 53 콘솔을 엽니다 https://console.aws.amazon.com/route53/.

    호스팅 영역을 마이그레이션하려는 대상 계정에 대해 계정 자격 증명으로 로그인하십시오.

  2. 호스팅 영역 생성. 자세한 내용은 퍼블릭 호스팅 영역 생성 섹션을 참조하세요.

  3. 호스팅 영역 ID를 기록해 둡니다. 경우에 따라 이 프로세스 후반부에 이 정보가 필요할 것입니다.

  4. Route 53 콘솔에서 로그아웃합니다.

3단계: 마이그레이션할 레코드를 포함한 파일 만들기

레코드를 한 호스팅 영역에서 다른 호스팅 영역으로 마이그레이션하려면 마이그레이션할 레코드가 들어 있는 파일을 만들고 편집한 후 그 파일을 사용해 새 호스팅 영역에 레코드를 만드십시오. 다음 절차에 따라 파일을 만드십시오.

마이그레이션할 레코드를 포함한 파일을 만드는 방법
  1. 에 AWS Management Console 로그인하고 에서 Route 53 콘솔을 엽니다. https://console.aws.amazon.com/route53/

    마이그레이션하려는 호스팅 영역을 생성한 계정에 대해 계정 자격 증명으로 로그인하십시오.

  2. 마이그레이션할 호스팅 영역의 호스팅 영역 ID를 다음 절차에 따라 받으십시오.

    1. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

    2. 마이그레이션하려는 호스팅 영역을 찾습니다. 호스팅 영역이 많은 경우 정확한 도메인 이름(Exact domain name)을 선택하고, 호스팅 영역 이름을 입력하고 Enter를 눌러 목록을 필터링합니다.

    3. [Hosted zone ID] 열의 값을 얻습니다.

  3. 다음 명령을 실행합니다:

    aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id > path-to-output-file

    유의할 사항:

    • 에 대해 hosted-zone-id이 절차의 2단계에서 얻은 호스팅 영역의 ID를 지정하십시오.

    • 에 대해 path-to-output-file출력을 저장할 디렉터리 경로와 파일 이름을 지정합니다.

    • > 문자를 사용해 지정한 파일로 출력을 보낼 수 있습니다.

    • 100개가 넘는 레코드가 포함된 호스팅 영역의 페이지 매김을 AWS CLI 자동으로 처리합니다. 자세한 내용은 사용 AWS Command Line Interface 설명서의 AWS 명령줄 인터페이스의 페이지 매김 옵션 사용을 참조하십시오.

      다른 프로그래밍 방식 (예:) 을 사용하여 레코드를 나열하는 경우 결과 페이지당 최대 100개의 레코드를 얻을 수 있습니다. AWS SDKs 호스팅 영역에 100개를 초과하는 레코드가 있을 경우 모든 레코드를 나열하려면 복수의 요청을 제출해야 합니다.

    • Windows 6.0 PowerShell 이전 버전에서 명령을 실행하려면 다음 구문을 사용하십시오.

      aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id | Out-File path-to-output-file -Encoding utf8

    예를 들어 Windows AWS CLI 컴퓨터에서 를 실행하는 경우 다음 명령을 실행할 수 있습니다.

    aws route53 list-resource-record-sets --hosted-zone-id ZOLDZONE12345 > c:\temp\list-records-ZOLDZONE12345.txt

    Windows 6.0 PowerShell 이전 버전의 Windows 컴퓨터에서 를 실행하는 경우 다음 명령을 실행할 수 있습니다. AWS CLI

    $output = aws route53 list-resource-record-sets --hosted-zone-id <hosted-zone-id>; $mypath = <output-path ; [System.IO.File]::WriteAllLines($mypath,$output)
  4. 이 출력의 복사본을 만듭니다. 새 호스팅 영역에서 레코드를 생성한 후에는 새 호스팅 영역에서 AWS CLI list-resource-record-sets 명령을 실행하고 두 출력을 비교하여 모든 레코드가 생성되었는지 확인하는 것이 좋습니다.

4단계: 마이그레이션하려는 레코드 편집

이전 절차에서 생성한 파일 형식은 새 호스팅 영역에서 레코드를 생성할 때 사용하는 AWS CLI change-resource-record-sets 명령에 필요한 형식과 비슷합니다. 다만 파일을 약간 편집해야 합니다. 모든 레코드에 변경 사항 중 몇 가지를 적용해야 합니다. 쓸만한 텍스트 편집기에서 검색 및 바꾸기 기능을 사용하여 변경할 수 있습니다.

3단계: 마이그레이션할 레코드를 포함한 파일 만들기에서 만든 파일의 복사본을 열고 다음과 같이 변경하십시오.

  • 출력 내용 맨 위에 있는 첫 두 줄을 삭제하십시오.

    { "ResourceRecordSets": [
  • NS 및 SOA 레코드와 관련된 줄을 삭제합니다. 새 호스팅 영역에 이미 해당 레코드가 있습니다.

  • 선택 사항 - Comment 요소를 추가합니다.

  • Changes 요소를 추가합니다.

  • 각 레코드에 대해 ActionResourceRecordSet 요소를 추가하십시오.

  • JSON코드를 유효하게 만들려면 필요에 따라 여는 중괄호 ({ }) 와 닫는 중괄호 () 를 추가합니다.

    참고

    JSON유효성 검사기를 사용하여 모든 중괄호와 대괄호가 올바른 위치에 있는지 확인할 수 있습니다. 온라인 JSON 검증기를 찾으려면 "“에서 인터넷 검색을 하십시오. json validator

  • 호스팅 영역에 같은 호스팅 영역에 있는 다른 레코드를 참조하는 별칭이 포함되어 있을 경우 다음과 같이 변경하십시오.

    • 호스팅 영역의 ID를 새 호스팅 영역의 ID로 변경하십시오.

      중요

      별칭 레코드가 다른 리소스 (예: 로드 밸런서) 를 가리키는 경우 호스팅 영역 ID를 도메인의 호스팅 영역 ID로 변경하지 마십시오. 실수로 호스팅 영역 ID를 변경한 경우 호스팅 영역 ID를 도메인의 호스팅 영역 ID가 아닌 리소스 자체의 호스팅 영역 ID로 롤백하십시오. 해당 호스팅 영역 ID는 리소스가 생성된 AWS 콘솔에 있을 수 있습니다.

    • 파일의 맨 아래로 별칭 레코드를 이동합니다. Route 53는 별칭 레코드가 참조하는 레코드를 먼저 생성해야 별칭 레코드를 생성할 수 있습니다.

      중요

      하나 이상의 별칭 레코드가 다른 별칭 레코드를 참조하는 경우 별칭 대상인 레코드는 파일에서 참조하는 별칭 레코드 앞에 나와야 합니다. 예를 들어, alias.example.comalias.alias.example.com의 별칭 대상인 경우 alias.example.com이 파일에서 먼저 나와야 합니다.

    • 트래픽을 트래픽 정책 인스턴스로 라우팅하는 별칭 레코드를 모두 삭제하십시오. 이후에 레코드를 다시 생성할 수 있도록 기록해 두십시오.

  • 이 프로세스를 사용하여 다른 이름을 가진 호스팅 영역에 레코드를 생성할 수 있습니다. 출력에 있는 모든 레코드에 대해, Name 요소의 도메인 이름 부분을 새 호스팅 영역의 이름으로 변경하십시오. 예를 들어, example.com 호스팅 영역에 레코드를 나열하고 example.net 호스팅 영역에 레코드를 생성하려는 경우 모든 레코드 이름의 example.com 부분을 example.net으로 변경하십시오.

    시작:

    • "Name": "example.com."

    • "Name": "www.example.com."

    끝:

    • "Name": "example.net."

    • "Name": "www.example.net."

다음 예제에서는 example.com에 대한 호스팅 영역을 위한 레코드의 편집된 버전을 보여줍니다. 빨간색 기울임꼴 텍스트가 새로운 내용입니다.

{ "Comment": "string", "Changes": [ { "Action": "CREATE", "ResourceRecordSet":{ "ResourceRecords": [ { "Value": "192.0.2.4" }, { "Value": "192.0.2.5" }, { "Value": "192.0.2.6" } ], "Type": "A", "Name": "route53documentation.com.", "TTL": 300 } }, { "Action": "CREATE", "ResourceRecordSet":{ "AliasTarget": { "HostedZoneId": "Z3BJ6K6RIION7M", "EvaluateTargetHealth": false, "DNSName": "s3-website-us-west-2.amazonaws.com." }, "Type": "A", "Name": "www.route53documentation.com." } } ] }

5단계: 큰 파일을 여러 작은 파일로 분할

레코드가 많이 있거나 값이 많은 레코드(예: 많은 IP 주소)가 있을 경우 파일을 여러 작은 파일로 분할해야 할 수 있습니다. 다음은 최댓값입니다.

  • 각 파일에는 최대 1,000개의 레코드가 포함될 수 있습니다.

  • 모든 Value 요소에서 값의 최대 총 길이는 32,000바이트입니다.

6단계: 새 호스팅 영역에 레코드 생성

새 호스팅 영역에 레코드를 생성하려면 다음 AWS CLI 명령을 사용합니다.

aws route53 change-resource-record-sets --hosted-zone-id id-of-new-hosted-zone --change-batch file://path-to-file-that-contains-records

예:

aws route53 change-resource-record-sets --hosted-zone-id ZNEWZONE1245 --change-batch file://c:/temp/change-records-ZNEWZONE1245.txt

트래픽을 트래픽 정책 인스턴스로 라우팅하는 별칭 레코드를 모두 삭제한 경우 Route 53 콘솔을 사용하여 별칭 레코드를 다시 생성하세요. 자세한 내용은 Amazon Route 53 콘솔을 사용하여 레코드 생성 섹션을 참조하세요.

7단계: 기존 호스팅 영역과 새 호스팅 영역의 레코드 비교

새 호스팅 영역에 모든 레코드를 올바로 생성했음을 확인하려면 새 호스팅 영역에 레코드를 나열하고 기존 호스팅 영역의 레코드 목록과 출력 내용을 비교하는 것이 좋습니다. 이렇게 하려면 다음과 같이 합니다.

기존 호스팅 영역과 새 호스팅 영역의 레코드 비교 방법
  1. 다음 명령을 실행합니다:

    aws route53 list-resource-record-sets --hosted-zone-id hosted-zone-id --output json > path-to-output-file

    다음 값을 지정하십시오:

    • 에 대해 hosted-zone-id새 호스팅 영역의 ID를 지정합니다.

    • 에 대해 path-to-output-file출력을 저장할 디렉터리 경로와 파일 이름을 지정합니다. 3단계: 마이그레이션할 레코드를 포함한 파일 만들기에 사용한 파일 이름과 다른 파일 이름을 사용하십시오. 다른 파일 이름을 사용해야 새 파일이 기존 파일을 덮어쓰지 않습니다.

    • > 문자를 사용해 지정한 파일로 출력을 보낼 수 있습니다.

    예를 들어, Windows 컴퓨터를 사용 중인 경우 다음 명령을 실행할 수도 있습니다.

    aws route53 list-resource-record-sets --hosted-zone-id ZNEWZONE67890 --output json > c:\temp\list-records-ZNEWZONE67890.txt
  2. 출력을 3단계: 마이그레이션할 레코드를 포함한 파일 만들기의 출력과 비교하십시오.

    NS 및 SOA 레코드의 값과 변경 사항 4단계: 마이그레이션하려는 레코드 편집 (예: 다른 호스팅 영역 IDs 또는 도메인 이름) 을 제외하고 두 출력은 동일해야 합니다.

  3. 새 호스팅 영역의 레코드가 기존 호스팅 영역의 레코드와 일치하지 않을 경우 다음 중 하나를 수행할 수 있습니다.

8단계: 도메인 등록을 업데이트하여 새 호스팅 영역을 위한 이름 서버 사용

새 호스팅 영역에서 레코드 생성을 마치면 새 호스팅 영역을 위한 이름 서버를 사용하도록 도메인 등록의 이름 서버를 변경하십시오.

중요

새 호스팅 영역을 위한 이름 서버를 사용하도록 도메인 등록을 업데이트하지 않으면 Route 53가 계속 기존 호스팅 영역을 사용하여 도메인에 대한 트래픽을 라우팅하게 됩니다. 도메인 등록의 이름 서버를 업데이트하지 않고 기존 호스팅 영역을 삭제하면 인터넷에서 해당 도메인에 접속할 수 없게 됩니다. 도메인 등록의 이름 서버를 업데이트하지 않고 새 호스팅 영역에서 레코드를 추가, 업데이트 또는 삭제할 경우 트래픽이 그러한 변경 사항을 기반으로 라우팅되지 않습니다.

자세한 내용은 Amazon Route 53를 기존 도메인에 대한 DNS 서비스로 설정 단원을 참조하십시오.

참고

사용 중인 도메인의 DNS 서비스를 마이그레이션하는 프로세스를 사용하든 비활성 도메인에 대한 프로세스를 사용하든, 이미 새 호스팅 영역과 해당 호스팅 영역의 레코드를 생성했으므로 다음 단계를 건너뛸 수 있습니다.

  • 1단계: 현재 서비스 공급자로부터 현재 DNS DNS 구성 가져오기

  • 2단계: 호스팅 영역 생성

  • 3단계: 레코드 만들기

9단계: DNS 리졸버가 새 호스팅 영역을 사용하기 시작할 때까지 기다립니다.

도메인을 사용 중인 경우 (예: 사용자가 도메인 이름을 사용하여 웹 사이트를 탐색하거나 웹 애플리케이션에 액세스하는 경우) DNS 확인자가 현재 서비스 공급자가 제공한 이름 서버의 이름을 캐시한 것입니다. DNS 몇 분 전에 해당 정보를 캐시한 DNS 리졸버는 최대 2일 동안 정보를 저장합니다.

참고

이전 호스팅 영역에 표시되지 않는 새 호스팅 영역에서 레코드를 만든 경우, 해석기가 새 호스팅 영역의 이름 서버를 사용하기 시작할 때까지 사용자는 새 레코드를 사용하여 리소스에 액세스할 수 없습니다. 예를 들어 인터넷 트래픽을 웹사이트로 라우팅해야 하는 새 호스팅 영역에 test.example.com이라는 레코드를 생성한다고 가정합시다. 이전 호스팅 영역에 레코드가 표시되지 않으면 해석기가 새 호스팅 영역을 사용하기 시작할 때까지 웹 브라우저에 test.example.com을 입력할 수 없습니다.

기존 호스팅 영역을 삭제하기 전에 호스팅 영역을 다른 AWS 계정으로 마이그레이션하는 작업을 완료하려면 새 호스팅 영역에 이름 서버를 사용하도록 도메인 등록을 업데이트한 후 이틀을 기다려야 합니다. 이틀이 TTL 만료되어 해석자가 도메인의 이름 서버를 요청하면 확인자는 현재 이름 서버를 가져옵니다. 또한 Resolver 쿼리 로깅을 활성화하여 새 호스팅 영역에서 쿼리를 모니터링할 수도 있습니다. Resolver 쿼리 로깅 요금에 대한 자세한 내용은 요금을 참조하십시오. CloudWatch

10단계: (선택 사항) 기존 호스팅 영역 삭제

기존 호스팅 영역이 이제는 필요하지 않다고 확신할 때는 이를 선택적으로 삭제할 수 있습니다.

중요

새 호스팅 영역에 대한 이름 서버를 사용하도록 도메인 등록을 업데이트한 후 적어도 48시간 동안 이전 호스팅 영역이나 해당 호스팅 영역에서 레코드를 삭제하지 마십시오. DNS해석기가 해당 호스팅 영역의 레코드 사용을 중단하기 전에 이전 호스팅 영역을 삭제하면 확인자가 새 호스팅 영역을 사용하기 시작할 때까지 인터넷에서 도메인을 사용할 수 없게 될 수 있습니다.

기본 NS 및 레코드를 제외하고 호스팅 영역은 비어 있어야 합니다. SOA 기존 호스팅 영역에 많은 레코드가 포함되어 있는 경우 콘솔을 사용하여 레코드를 삭제하려면 시간이 오래 걸릴 수 있습니다. 이때 선택할 수 있는 한 가지 옵션이 다음 단계를 수행하는 방법입니다.

  1. 4단계: 마이그레이션하려는 레코드 편집에서 편집된 파일의 다른 복사본을 만드십시오.

  2. 파일 복사본에서 모든 레코드에 대해 "Action": "CREATE""Action": "DELETE"로 변경하십시오.

  3. 다음 AWS CLI 명령을 사용하여 레코드를 삭제하십시오.

    aws route53 change-resource-record-sets --hosted-zone-id id-of-old-hosted-zone --change-batch file:///path-to-file-that-contains-records
    중요

    호스팅 영역 ID에 대해 지정하는 값이 새 호스팅 영역의 ID가 아니라 기존 호스팅 영역의 ID임을 확인하십시오.

  4. 나머지 레코드 전부와 호스팅 영역을 삭제하십시오.

    1. 에서 Route 53 콘솔에 AWS Management Console 로그인하고 엽니다 https://console.aws.amazon.com/route53/.

      기존 호스팅 영역을 생성한 계정에 대해 계정 자격 증명으로 로그인하십시오.

    2. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

    3. 기존 호스팅 영역의 이름을 선택하십시오. 호스팅 영역이 많은 경우 정확한 도메인 이름(Exact domain name)을 선택하고, 호스팅 영역 이름을 입력하고 Enter를 눌러 목록을 필터링합니다.

    4. 호스팅 영역에 기본 NS 및 레코드 이외의 SOA 레코드 (예: 트래픽을 트래픽 정책 인스턴스로 라우팅하는 별칭 레코드) 가 포함되어 있는 경우 해당 확인란을 선택하고 [Delete] 를 선택합니다.

    5. 탐색 창에서 호스팅 영역(Hosted zones)을 선택합니다.

    6. 호스팅 영역 목록에서 삭제할 호스팅 영역의 라디오 버튼을 선택하십시오.

    7. Delete(삭제)를 선택합니다.