호스팅 영역을 다른 AWS 계정으로 마이그레이션 - Amazon Route 53

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

호스팅 영역을 다른 AWS 계정으로 마이그레이션

호스팅 영역을 다른 AWS 계정으로 마이그레이션할 때 다음 권장 단계를 따릅니다.

이 단계들은 레코드가 자주 변경되지 않는 호스팅 영역에 가장 적합합니다. 레코드 업데이트가 빈번한 호스팅 영역의 경우 다음을 고려합니다.

  • 마이그레이션 중에 리소스 레코드를 업데이트하지 않습니다.

  • 위임이 전송된 후 이전 호스팅 영역과 새 호스팅 영역 모두에 리소스 레코드 변경을 게시합니다.

사전 조건

AWS CLI 설치 또는 업그레이드

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

참고

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

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

1단계: 마이그레이션 준비

준비 단계는 호스팅 영역 마이그레이션과 관련된 위험을 최소화하는 데 도움이 됩니다.

1. 영역 가용성 모니터링

영역의 도메인 이름 가용성을 모니터링할 수 있습니다. 이는 마이그레이션 롤백으로 이어질 수 있는 문제를 해결하는 데 도움이 될 수 있습니다. CloudWatch나 쿼리 로깅을 사용하여 대부분의 트래픽에서 도메인 이름을 모니터링할 수 있습니다. 쿼리 로깅 역할 설정에 대한 자세한 내용은 Amazon Route 53 모니터링 단원을 참조하세요.

모니터링은 셸 스크립트 또는 서드 파티 서비스를 통해 수행할 수 있습니다. 그러나 도메인을 사용할 수 없어서 고객에게 피드백을 받을 수도 있으므로 이것이 롤백이 필요한지 여부를 결정하는 유일한 신호는 아닙니다.

2. TTL 설정 낮추기

레코드에 대한 TTL(Time To Live) 설정으로 DNS 해석기가 얼마나 오랫동안 레코드를 캐시하고 캐시한 정보를 사용하도록 할지 지정합니다. TTL이 만료되면 해석기가 도메인의 DNS 서비스 공급자에게 최신 정보를 획득하라는 다른 쿼리를 전송합니다.

NS 레코드에 대한 일반적인 TTL 설정은 172,800초 또는 2일입니다. NS 레코드는 Domain Name System(DNS)이 도메인에 대한 트래픽 라우팅 방법에 대한 정보를 가져오는 데 사용할 수 있는 이름 서버를 나열합니다. 현재 DNS 서비스 공급자와 Route 53를 둘 다 사용하여 NS 레코드에 대한 TTL을 낮추면 DNS를 Route 53로 마이그레이션하는 동안 문제를 발견하는 경우 도메인의 가동 중지 시간이 감소합니다. TTL을 낮추지 않을 경우 뭔가 문제가 있을 때 최장 2일간 인터넷에서 도메인에 접속할 수 없을 수 있습니다.

TTL 낮추기
  1. AWS Management 콘솔에 로그인한 후 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

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

  3. 호스팅 영역의 이름을 선택합니다.

  4. NS 레코드를 선택하고 레코드 세부 정보 창에서 레코드 편집을 선택합니다.

  5. [TTL (Seconds)]의 값을 변경합니다. 60초에서 900초(15분) 사이의 값을 지정하는 것이 좋습니다.

  6. 저장을 선택합니다.

3. 상위 영역에서 DS 레코드 제거(DNSSEC를 구성한 경우)

도메인에 대해 DNSSEC를 구성한 경우 도메인을 Route 53로 마이그레이션하기 전에 상위 영역에서 DS(Delegation Signer) 레코드를 제거합니다.

상위 영역이 Route 53를 통해 호스팅되는 경우 도메인의 퍼블릭 키 삭제에서 자세한 내용을 참조하세요. 상위 영역이 다른 등록 기관에 호스팅되는 경우, 해당되는 등록 기관에 연락해 DS 레코드를 제거합니다.

Route 53는 현재 DNSSEC 설정 마이그레이션을 지원하지 않습니다. 따라서 마이그레이션 전에 상위 영역에서 DS 레코드를 제거하여 도메인에 대해 수행된 DNSSEC 검증을 비활성화해야 합니다. 마이그레이션 후에 새 호스팅 영역에서 DNSSEC를 구성하고 상위 영역에 각 DS 레코드를 추가하여 DNSSEC 검증을 다시 활성화할 수 있습니다.

4. 마이그레이션 호스팅 영역에 의존하는 다른 진행 중인 작업이 없는지 확인

일부 작업은 호스팅 영역 마이그레이션 시 DNS 확인을 사용합니다. 예를 들어 TLS/SSL 인증서 갱신 프로세스에 DNS 레코드 변경이 필요할 수 있으며 제공업체는 검증 방법으로 DNS 레코드를 확인하려고 시도합니다. 호스팅 영역 마이그레이션으로 인한 예기치 못한 영향을 피하려면 마이그레이션 전에 다른 작업이 발생하지 않는지 확인해야 합니다.

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

호스팅 영역을 마이그레이션할 계정에 새 호스팅 영역을 생성합니다.

AWS CLI 또는 콘솔에 대한 지침을 보려면 탭을 선택합니다.

CLI

다음 명령을 입력합니다.

aws route53 create-hosted-zone \ --name $hosted_zone_name \ --caller-reference $unique_string

자세한 내용은 create-hosted-zone을 참조하세요.

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

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

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

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

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

준비 1단계 TTL 설정 낮추기에서 TTL 설정을 낮춘 것과 마찬가지로 새 영역의 NS TTL도 낮춥니다.

3단계: (선택 사항) 상태 확인 마이그레이션

새 계정의 DNS 레코드를 마이그레이션하려는 계정의 Route 53 상태 확인과 연결할 수 있습니다. Route 53 상태 확인을 마이그레이션하려면 기존 계정과 동일한 구성으로 새 계정에서 새 상태 확인을 생성해야 합니다. 자세한 내용은 Amazon Route 53 상태 확인 생성 섹션을 참조하세요.

4단계: 이전 호스팅 영역에서 새 호스팅 영역으로 레코드 마이그레이션

콘솔 또는 AWS CLI를 사용하여 AWS 계정에서 다른 계정으로 레코드를 마이그레이션할 수 있습니다.

Console

영역에 레코드가 단 몇 개만 포함된 경우 Route 53 콘솔을 사용하여 이전 영역의 레코드를 나열하고, 이를 기록해 둔 다음 새 영역에 레코드를 생성하는 것이 좋습니다. 3단계: (선택 사항) 상태 확인 마이그레이션에서 상태 확인을 마이그레이션했다면 새 호스팅 영역에서 레코드를 생성할 때 새 상태 확인 ID를 지정해야 합니다. 자세한 정보는 다음의 주제를 참조하세요.

1단계에서 TTL 설정을 낮춘 것과 마찬가지로 새 영역에서도 NS TTL을 낮춰야 합니다.

CLI

영역에 많은 수의 레코드가 포함된 경우 마이그레이션할 레코드를 파일로 내보내고 파일을 편집한 후 편집된 파일을 사용하여 새 호스팅 영역에 레코드를 만들 수 있습니다. 다음 절차에서는 AWS CLI 명령을 사용하지만 타사 도구도 이 용도에 사용할 수 있습니다.

  1. 다음 명령을 실행합니다.

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

    다음 사항에 유의하세요.

    • hosted-zone-id의 경우 마이그레이션하려는 레코드가 포함된 이전 호스팅 영역의 ID를 지정합니다.

    • path-to-output-file의 경우 출력을 저장하고 싶은 디렉터리 경로와 파일 이름을 지정하십시오.

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

    • AWS CLI는 100개를 초과하는 레코드가 들어 있는 호스팅 영역에 대한 페이지 매김을 자동으로 처리합니다. 자세한 내용은 AWS Command Line Interface사용 설명서AWS 명령줄 인터페이스의 페이지 매김 옵션 사용을 참조하세요.

      AWS SDK 중 하나와 같이 다른 프로그래밍 방법으로 레코드 목록을 표시하는 경우 결과 페이지당 최대 100개의 레코드를 표시할 수 있습니다. 호스팅 영역에 100개를 초과하는 레코드가 있을 경우 모든 레코드를 나열하려면 복수의 요청을 제출해야 합니다.

    이 출력의 복사본을 만듭니다. 새 호스팅 영역에 레코드를 만든 후 새 호스팅 영역에서 AWS CLI list-resource-record-sets 명령을 실행하고 두 출력 내용을 비교하여 모든 레코드가 생성되었는지 확인하는 것이 좋습니다.

  2. 마이그레이션하려는 레코드를 편집합니다.

    내보낸 파일을 편집한 후에 change-resource-record-sets 명령으로 파일을 사용할 수 있습니다. 텍스트 편집기에서 검색 및 바꾸기 기능을 사용하여 변경할 수 있습니다.

    참고

    다음 단계에서는 텍스트 편집기를 사용한 수동 편집에 대해 설명합니다. 고급 사용자는 jq, Python 또는 기타 스크립팅 언어와 같은 프로그래밍 도구를 사용하여 이러한 변환을 자동화할 수 있습니다.

    이 절차의 1단계에서 생성한, 마이그레이션하려는 레코드가 포함된 파일의 사본을 열고 다음과 같이 변경합니다.

    • 파일 상단의 ResourceRecordSets 요소를 Changes 요소로 바꿉니다.

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

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

    • 각 레코드마다 ActionResourceRecordSets 요소를 추가하고 필요에 따라 여는 괄호와 닫는 괄호({ })를 추가하여 JSON 코드를 유효하게 만듭니다.

      참고

      중괄호와 대괄호가 알맞은 곳에 있는지 확인하려면 JSON 검사기를 사용할 수 있습니다. 온라인 JSON 검사기를 찾으려면 브라우저에서 "JSON 검사기"를 검색합니다.

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

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

        중요

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

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

        중요

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

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

    • 3단계: (선택 사항) 상태 확인 마이그레이션에서 상태 확인을 마이그레이션했다면 새로 생성된 상태 확인 ID와 연결되도록 레코드를 변경합니다.

    다음 예제에서는 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." } } ] }
  3. 큰 파일을 여러 작은 파일로 분할

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

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

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

  4. 새 호스팅 영역에 레코드 생성

    다음 CLI를 입력합니다.

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

    다음 값을 지정하세요.

    • new-hosted-zone-id의 경우 새 호스팅 영역의 ID를 지정합니다.

    • path-to-file-that-contains-records의 경우 이전 단계에서 편집한 디렉터리 경로와 파일 이름을 지정합니다.

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

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

새 호스팅 영역에 모든 레코드를 올바로 생성했음을 확인하려면 다음 CLI 명령을 입력해 새 호스팅 영역의 레코드를 나열하고 이전 호스팅 영역의 레코드 목록과 출력 내용을 비교합니다.

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

다음 값을 지정하세요.

  • new-hosted-zone-id의 경우 새 호스팅 영역의 ID를 지정합니다.

  • path-to-output-file의 경우 출력을 저장하고 싶은 디렉터리 경로와 파일 이름을 지정합니다. 4단계에서 사용한 파일 이름과 다른 파일 이름을 사용합니다.

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

출력을 4단계의 출력과 비교합니다. NS 및 SOA 레코드의 값과 4단계에서 변경한 사항(예: 다른 호스팅 영역 ID 또는 도메인 이름) 외에도 이 두 출력 내용이 같아야 합니다.

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

  • Route 53 콘솔을 사용하여 사소한 사항을 수정하세요. 자세한 내용은 레코드 편집 섹션을 참조하세요.

  • 새 호스팅 영역에서 NS 및 SOA 레코드를 제외한 모든 레코드를 삭제하고 4단계의 절차를 반복합니다.

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

새 호스팅 영역으로의 레코드 마이그레이션을 마치면 새 호스팅 영역을 위한 이름 서버를 사용하도록 도메인 등록의 이름 서버를 변경합니다. 자세한 내용은 Amazon Route 53을 기존 도메인의 DNS 서비스로 지정 단원을 참조하십시오.

호스팅 영역이 사용 중인 경우 - 예를 들어 사용자가 도메인 이름을 사용하여 웹 사이트를 찾거나 웹 애플리케이션에 액세스하는 경우 웹 사이트 또는 애플리케이션 트래픽, 이메일 등을 포함하여 호스팅 영역의 트래픽과 가용성을 계속 모니터링해야 합니다.

  • 트래픽이 느려지거나 중지되는 경우 - 도메인 등록의 이름 서버를 이전 호스팅 영역의 이전 이름 서버로 다시 변경합니다. 그런 다음 문제를 알아냅니다.

  • 트래픽이 영향을 받지 않는 경우 - 다음 단계로 계속 진행합니다.

7단계: NS 레코드의 TTL을 더 높은 값으로 다시 변경

새 호스팅 영역에서 NS 레코드의 TTL을 더 일반적인 값으로 변경합니다(예: 172,800초(2일)). 그러면 종종 그랬듯이 DNS 해석기가 도메인의 이름 서버에 대한 쿼리를 보내기를 기다릴 필요가 없으므로 사용자 입장에서는 지연 시간이 짧아지는 효과가 있습니다.

TTL 변경 방법
  1. AWS Management 콘솔에 로그인한 후 https://console.aws.amazon.com/route53/에서 Route 53 콘솔을 엽니다.

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

  3. 호스팅 영역의 이름을 선택합니다.

  4. NS 레코드를 선택하고 레코드 세부 정보 창에서 레코드 편집을 선택합니다.

  5. TTL(초) 값을 DNS 해석기가 도메인의 이름 서버의 이름을 캐시하도록 할 시간(초)으로 변경합니다. 172,800초의 값을 권장합니다.

  6. 저장을 선택합니다.

8단계: DNSSEC 서명 재활성화 및 신뢰 체인 설정(필요한 경우)

다음 두 단계로 DNSSEC 서명을 다시 활성화할 수 있습니다.

  1. Route 53에 대해 DNSSEC 서명을 활성화하고, AWS Key Management Service의 고객 관리형 키를 기반으로 키 서명 키(KSK)를 Route 53에서 생성하도록 요청합니다.

  2. DNS 응답이 신뢰할 수 있는 암호화 서명으로 인증될 수 있도록 상위 영역에 DS(Delegation Signer) 레코드를 추가하여 호스팅 영역에 대한 신뢰 체인을 만듭니다.

지침은 DNSSEC 서명 활성화 및 신뢰 체인 설정 섹션을 참조하세요.

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

기존 호스팅 영역이 이제는 필요하지 않다고 확신할 때는 이를 선택적으로 삭제할 수 있습니다. 지침은 퍼블릭 호스팅 영역 삭제 섹션을 참조하세요.

중요

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