DNS 영역 파일을 Route 53으로 가져올 때 가져오는 동안 발생한 오류를 해결하려면 어떻게 해야 하나요?

5분 분량
0

다른 서비스 공급자로부터 도메인 이름 시스템(DNS)을 마이그레이션하고 있습니다. DNS 영역 파일을 가져와서 Amazon Route 53 호스팅 영역으로 모든 레코드를 이동해야 합니다. 어떻게 해야 하나요?

간략한 설명

가져오기 프로세스를 시작하기 전에 DNS 영역 파일에서 다음을 확인하여 가져오기 중에 오류가 발생하지 않도록 하세요.

  • 영역 파일은 RFC 호환 형식이어야 합니다.
  • 영역 파일에 있는 레코드의 도메인 이름은 호스팅 영역의 이름과 일치해야 합니다.
  • Route 53는 $ORIGIN$TTL 키워드를 지원합니다. 영역 파일에 $GENERATE 또는 $INCLUDE 키워드가 있으면 가져오기가 실패하고 Route 53에서 오류가 반환됩니다.
  • 영역 파일을 가져올 때 Statement of Authority(SOA) 레코드는 Route 53에서 무시됩니다. 호스팅 영역과 이름이 같은 영역 파일의 이름 서버(NS) 레코드도 무시됩니다.
  • 최대 1,000개의 레코드를 가져올 수 있습니다.
  • 호스팅 영역에 영역 파일에 나타나는 레코드가 이미 포함되어 있는 경우 가져오기 프로세스가 실패하고 레코드가 생성되지 않습니다.
  • 영역 파일의 콘텐츠를 검토하여 레코드 이름에 후행 점이 포함되거나 제외되는지 적절히 확인합니다.
  • 영역 파일의 레코드 이름에 후행 점이 포함되어 있는 경우(example.com.) 가져오기 프로세스에서 이 이름은 FQDN(정규화된 도메인 이름)으로 해석됩니다. 이 경우 해당 이름을 가진 Route 53 레코드가 생성됩니다.
  • 영역 파일의 레코드 이름에 후행 점이 포함되어 있지 않으면(www) 가져오기 프로세스에서 해당 이름이 영역 파일의 도메인 이름(example.com)에 연결됩니다. 이 경우 연결된 이름(www.example.com)을 가진 Route 53 레코드가 생성됩니다.

참고: 정식 이름(CNAME), 메일 교환기(MX), 포인터(PTR) 및 서비스(SRV) 레코드의 경우 후행 점 동작은 RDATA 값에 포함된 도메인 이름에도 적용됩니다. example.com용 영역 파일을 사용하고 있고 영역 파일(후행 점 제외)의 RDATA 값이 www.example.com인 경우(후행 점 제외), 가져오기 프로세스는 support.example.com이라는 이름의 Route 53 레코드를 생성합니다. 이 레코드는 트래픽을 www.example.com.example.com으로 라우팅합니다. 영역 파일을 가져오기 전에 RDATA 값을 검토하고 해당하는 값을 업데이트하세요.

해결 방법

DNS 영역 파일 가져오기

영역 파일을 가져와서 레코드를 생성하려면:

  1. Route 53 콘솔을 엽니다.
  2. 탐색 창에서 [호스팅 영역(Hosted zones)]을 선택합니다.
  3. [호스팅 영역(Hosted zones)] 페이지에서 [호스팅 영역 생성(Create hosted zone)]을 선택합니다.
  4. 도메인 이름을 입력합니다. (선택 사항) 설명을 입력할 수도 있습니다.
  5. [생성(Create)]을 선택합니다.
  6. [영역 파일 가져오기(Import zone file)]를 선택합니다.
  7. [영역 파일 가져오기(Import zone file)] 창에서 영역 파일의 콘텐츠를 [영역 파일(Zone file)] 텍스트 상자에 붙여 넣습니다.
  8. [가져오기(Import)]를 선택합니다.

참고: 영역 파일의 레코드 양에 따라 레코드가 생성되는 데 몇 분 정도 걸릴 수 있습니다.

Route 53 호스팅 영역에 DNS 레코드가 생성되면 마이그레이션 프로세스를 진행할 수 있습니다. 마이그레이션 프로세스를 완료하려면 Amazon Route 53를 기존 도메인의 DNS 서비스로 설정의 단계를 따릅니다.

DNS 영역 파일을 가져오는 동안 발생한 오류 해결

다음 예에서는 DNS 영역 파일을 가져오는 동안 나타날 수 있는 일반적인 오류 메시지를 해결하기 위한 문제 해결 단계를 제공합니다.

"Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but found none in Change with {DNS_Record}"

원인: 영역 파일의 DNS 레코드에 Time to Live(TTL) 값이 지정되지 않았습니다.

예제 영역 파일:

$ORIGIN testdomain.com
@ A 1.1.1.1
www CNAME example.com

예제 오류 메시지:

Invalid request: Expected exactly one of [AliasTarget, all of [TTL, and ResourceRecords], or TrafficPolicyInstanceId], but 
found none in Change with [Action=CREATE, Name=testdomain.com, Type=A, SetIdentifier=null]

해결 방법: $TTL 키워드를 사용하여 모든 DNS 레코드에 TTL을 할당하거나 사용 사례에 따라 개별 레코드에 TTL 값을 지정합니다.

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1
www CNAME example.com

-또는-

$ORIGIN testdomain.com
@ 60 A 1.1.1.1
www 60 CNAME example.com

"The zone file contains too many values for a record with a type of {Record_Type}. 1 values were expected, but {n} values are specified. On line {m}."

원인: “m” 줄의 특정 DNS 레코드에 대해 여러 값이 지정되었습니다.

예제 1 영역 파일:

$ORIGIN testdomain.com
$TTL 60
@ TXT  "abc" "xyz"

예제 1 오류 메시지:

The zone file contains too many values for a record with a type of TXT. 1 
values were expected, but 2 values are specified. On line 3. '@ TXT  
"abc" "xyz"'

해결 방법: 여러 TXT 레코드 값을 개별 줄에 지정합니다. 각 값 주위에 큰 따옴표(“example value”)를 사용해야 합니다.

$ORIGIN testdomain.com
$TTL 60
@ TXT "abc" 
@ TXT "xyz"

예제 2 영역 파일:

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1 2.2.2.2 3.3.3.3

예제 2 오류 메시지:

The zone file contains too many values for a record with a type of A. 1 
values were expected, but 3 values are specified. On line 3. '@ A 
1.1.1.1 2.2.2.2 3.3.3.3'

해결 방법:

$ORIGIN testdomain.com
$TTL 60
@ A 1.1.1.1 
@ A 2.2.2.2
@ A 3.3.3.3

"CharacterStringTooLong (Value is too long) encountered with {Value}"

원인: TXT 값 문자열에 255자 이상이 포함되어 있습니다.

예제 영역 파일:

$ORIGIN testdomain.com
$TTL 60
www TXT "spf1 +a +mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 ipv4:11.11.11.11 ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"

예제 오류 메시지:

[Invalid Resource Record: 'FATAL problem: 
CharacterStringTooLong (Value is too long) encountered with '"spf1 +a 
+mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 
ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 
ipv4:11.11.11.11 ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 
ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"'']

해결 방법: 255자를 초과하는 TXT 레코드 문자열은 동일한 레코드 내의 여러 텍스트 문자열로 분할되어야 합니다. 각 값 주위에 큰 따옴표(“example value”)를 사용해야 합니다.

$ORIGIN testdomain.com
$TTL 60
www TXT "spf1 +a +mx ip4:1.1.1.1 ip4:2.2.2.2 ip4:3.3.3.3 ip4:4.4.4.4 ip4:5.5.5.5.5 ip4:6.6.6.6 ip4:7.7.7.7 ip4:8.8.8.8 ip4:9.9.9.9 ip4:10.10.10.10 ipv4:11.11.11.11""ip4:12.12.12.12 ip4:13.13.13.13 ip4:14.14.14.14 ip4:15.15.15.15.15 include:spf.abc.com include:_spf.xyz.com ~all"

참고: TXT 레코드에서 값의 최대 길이는 4,000자입니다.

"RRSet of type CNAME with DNS name example.com does not contain exactly one resource record"

원인: 동일한 도메인 이름에 대해 여러 CNAME 레코드가 생성되었습니다.

참고: 이 방법을 사용하여 호스팅 영역으로 가져온 레코드는 단순 라우팅 정책을 사용하여 생성됩니다. 따라서 단일 DNS 레코드에 여러 CNAME 레코드를 지정할 수 없습니다.

예제 영역 파일:

$ORIGIN testdomain.com
$TTL 60
www CNAME abc.com
www CNAME xyz.com

예제 오류 메시지:

Error occurred [RRSet of type CNAME with DNS name www.testdomain.com. is not permitted as it 
conflicts with other records with the same DNS name in zone 
testdomain.com., RRSet of type CNAME with DNS name www.testdomain.com. 
does not contain exactly one resource record.]

해결 방법: 가져오기 옵션을 사용하는 대신 사용 사례에 따라 가중치, 지연 시간, 장애 조치 또는 지리적 위치 라우팅 정책을 사용하여 레코드를 개별적으로 생성합니다.


AWS 공식
AWS 공식업데이트됨 2년 전