Amazon Route 53에서 서로 다른 AWS 계정에 여러 호스팅 영역이 있으며 호스팅 영역이 동일한 도메인 이름을 공유합니다. 이러한 호스팅 영역 문제를 해결하고 싶습니다.
해결 방법
두 계정에서 이름이 동일한 퍼블릭 호스팅 영역
이름이 동일한 호스팅 영역을 두 개 이상 생성하고 각 호스팅 영역에 서로 다른 레코드를 추가할 수 있습니다. Route 53은 모든 호스팅 영역에 4개의 이름 서버를 할당하며, 이름 서버는 각 호스팅 영역마다 다릅니다. 등록 기관의 이름 서버 레코드를 업데이트할 때는 적절한 호스팅 영역의 Route 53 이름 서버를 사용해야 합니다. Route 53이 도메인에 대한 쿼리에 응답할 때 사용하는 레코드가 포함된 호스팅 영역을 사용해야 합니다. Route 53은 동일한 이름을 가진 다른 호스팅 영역의 레코드 값을 반환하지 않습니다.
예를 들어 두 계정에 다음과 같은 호스팅 영역이 있다고 가정해 보겠습니다.
계정 A에는 도메인이 101.example.com인 호스팅 영역이 있습니다. Route 53은 이 호스팅 영역에 4개의 이름 서버를 자동으로 할당했습니다.
- ns-1701.awsdns-20.co.uk.
- ns-487.awsdns-60.com.
- ns-1410.awsdns-48.org.
- ns-867.awsdns-44.net.
다음과 같은 세부 정보가 포함된 단순 A 유형 레코드도 있습니다.
| | | | |
---|
레코드 이름 | 유형 | 라우팅 정책 | 구별자 | 값/트래픽 라우팅 대상 |
test1.101.example.com | A | 단순 | - | 8.8.8.8 |
계정 B에는 동일한 도메인 이름(101.example.com)을 가진 호스팅 영역이 있습니다. Route 53은 이 호스팅 영역에 4개의 이름 서버를 자동으로 할당했습니다.
- ns-869.awsdns-44.net.
- ns-1332.awsdns-38.org.
- ns-61.awsdns-07.com.
- ns-1707.awsdns-21.co.uk.
이 호스팅 영역에는 다음과 같은 세부 정보가 포함된 단순 A 유형 레코드도 포함되어 있습니다.
| | | | |
---|
레코드 이름 | 유형 | 라우팅 정책 | 구별자 | 값/트래픽 라우팅 대상 |
test2.101.example.com | A | 단순 | - | 8.8.8.8 |
등록 기관에서 한 계정 또는 두 계정 모두의 이름 서버를 업데이트할 수 있습니다. 계정 A에서 도메인의 이름 서버를 업데이트하지만 계정 B의 이름 서버는 업데이트하지 않으면 다음과 같은 dig 출력이 표시됩니다.
# dig test1.101.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test1.101.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38973
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test1.101.example.com. IN A
;; ANSWER SECTION:
test1.101.example.com. 300 IN A 8.8.8.8
dig test2.101.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test2.101.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 34489
두 계정에서 이름이 동일한 프라이빗 호스팅 영역
계정 A에 Virtual Private Cloud(VPC)와 연결된 프라이빗 호스팅 영역(example.com)이 있다고 가정해 보겠습니다. 프라이빗 호스팅 영역에는 단순 A 유형 레코드가 포함되어 있습니다.
| | | | |
---|
레코드 이름 | 유형 | 라우팅 정책 | 구별자 | 값/트래픽 라우팅 대상 |
example.com | NS | 단순 | - | ns-1536.awsdns-00.co.uk. / ns-0.awsdns-00.com. / ns-1024.awsdns-00.org. / ns-512.awsdns-00.net. / |
example.com | SOA | 단순 | - | ns-1536.awsdns-00.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 |
test1.example.com | A | 단순 | - | 1.1.1.1 |
이 예에서 VPC에 있는 인스턴스의 리소스 레코드 dig 출력은 NOERROR입니다.
# dig test1.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test1.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45251
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test1.example.com. IN A
;; ANSWER SECTION:
test1.example.com. 60 IN A 1.1.1.1
계정 B에는 다른 VPC와 연결된 동일한 이름(example.com)을 가진 또 다른 프라이빗 호스팅 영역이 있습니다. 이 프라이빗 호스팅 영역에는 단순 A 유형 레코드가 포함되어 있습니다.
| | | | |
---|
레코드 이름 | 유형 | 라우팅 정책 | 구별자 | 값/트래픽 라우팅 대상 |
example.com | NS | 단순 | - | ns-1536.awsdns-00.co.uk. / ns-0.awsdns-00.com. / ns-1024.awsdns-00.org. / ns-512.awsdns-00.net. / |
example.com | SOA | 단순 | - | ns-1536.awsdns-00.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 |
test2.example.com | A | 단순 | - | 2.2.2.2 |
계정 B의 VPC에 있는 인스턴스의 리소스 레코드 dig 출력은 NOERROR입니다.
# dig test2.example.com
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.amzn2.0.4 <<>> test2.example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5377
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test2.example.com. IN A
;; ANSWER SECTION:
test2.example.com. 60 IN A 2.2.2.2
참고: Route 53의 프라이빗 호스팅 영역 이름 서버는 동일한 4개의 이름 서버입니다. 동일한 VPC를 동일한 이름을 가진 두 개의 프라이빗 호스팅 영역에 연결할 수 없습니다.