
방금 새로운 내부 DNS 확인자로 마이그레이션했으며 특정 레코드를 조회하는 기능에 영향을 미치는 제한 사항을 발견했습니다.
우리의 내부(개인) 권한 있는 도메인은 입니다 example.net.
. service.example.net.
다음과 같이 해결되는 CNAME 레코드가 있습니다.name-1234567890.region.elb.amazonaws.com.
name-1234567890.region.elb.amazonaws.com.
AWS에서 값을 관리하는 다양한 A 레코드로 확인됩니다. 우리는 공개 amazonaws.com 영역이나 이 영역 내의 기록을 관리하지 않습니다.
이전 DNS 확인자는 CNAME 레코드를 "추적"했으므로 조회하면 service.example.net.
다음이 반환될 수 있습니다.
$ dig service.example.net
...
;; ANSWER SECTION:
service.example.net. 300 IN CNAME name-1234567890.region.elb.amazonaws.com.
name-1234567890.region.elb.amazonaws.com. 26 IN A 10.1.2.3
name-1234567890.region.elb.amazonaws.com. 26 IN A 10.1.2.4
답변에는 CNAME이 가리키는 A 레코드의 IP가 포함됩니다. 문제 없다.
새로운 DNS 확인자는 CNAME 레코드를 "추적"하지 않습니다. 새 해석기를 사용한 동일한 조회는 다음과 같습니다.
$ dig service.example.net
...
;; ANSWER SECTION:
service.example.net. 300 IN CNAME name-1234567890.region.elb.amazonaws.com.
... 누락된 A 레코드를 확인하세요. service.example.net
ping, 컬, Python 요청 등을 통해 연결을 시도하면 모두 "알 수 없는 호스트" 오류가 발생합니다.
새로운 DNS 확인자의 동작을 변경할 수 없습니다. 이전 DNS 확인자가 서버 측에서 했던 것과 같은 방식으로 클라이언트에서 CNAME 레코드를 "추적"할 수 있는 옵션이 Linux 커널이나 일부 로컬 DNS 확인자에 있습니까?
문맥상 우리의 새로운 DNS 확인자는 GCP의 cloud-dns입니다.서류이 행동.
몇 가지 추가 컨텍스트/댓글 답변:
- example.net. 우리가 소유한 cloud-dns의 비공개 내부 관리형 영역입니다.
- amazonaws.com. AWS에서 관리하는 공개 영역입니다.
- iirc, 추가 이름 서버가 포함된 아웃바운드 서버 정책은모두해당 네임서버에 대한 쿼리, cloud-dns 재정의
- iirc, ALIAS 레코드는 비공개 영역이 아닌 공개 영역에서만 사용할 수 있습니다.
- service.exmaple.net. 프라이빗 관리형 cloud-dns 영역 example.net의 CNAME 레코드입니다.
- AWS에 존재하지 않으므로 Route53을 사용할 수 없습니다.
답변1
로드 밸런서의 내부 IP를 직접 가리키는 대신 로드 밸런서의 공개 DNS 이름을 가리켜야 합니다.
name-1234567890.region.elb.amazonaws.com
따라서 a 레코드를 제거하고 cname 값을 로드 밸런서의 공개 DNS 이름으로 변경합니다.
답변2
이 질문에 대한 업데이트를 제공하고 싶었습니다. 이 문제를 발견한 이후 GCP는 공개 CNAME 레코드를 추적하는 cloud-dns용 실험적 기능을 출시하기 시작했습니다. 이 기능을 작성하는 시점(2024년 4월)에는 GCP 지원팀에 명시적으로 요청해야 합니다. 언제 GA가 될지는 잘 모르겠습니다.
해당 기능을 사용할 수 있게 되기 전에 우리는 amazonaws.com
공개 DNS 확인자(8.8.8.8, 1.1.1.1 등 사용)로 전달하는 cloud-dns에 비공개 전달 영역을 생성하여 문제를 해결했습니다. 비공개 영역 사이의 cloud-dns에서 CNAME 추적이 활성화되어 있으므로 이는 작동합니다. amazonaws.com
이제 cloud-dns에서 비공개 영역으로 간주되므로 CNAME 추적 요청이 이제 정상적으로 해결됩니다 .
답변3
AWS 레코드를 해결하려면 aws에서 Route53을 살펴보는 것이 좋습니다. 내부 DNS 서버가 Route53으로 전달되도록 할 수 있습니다. 예를 들어 언바운드는 이를 수행할 수 있는 DNS 리볼버입니다.
Amazon Route 53은 Amazon Web Services(AWS)에서 제공하는 확장 가능하고 가용성이 높은 DNS(Domain Name System) 웹 서비스입니다. example.com과 같은 사용자 친화적인 도메인 이름을 컴퓨터가 인터넷에서 서로를 식별하는 데 사용하는 IP 주소로 효과적으로 변환합니다. 다음은 Route 53의 몇 가지 주요 기능과 개념에 대한 개요입니다.
- 도메인 등록: Route 53을 사용하면 도메인 이름을 등록하고 관리할 수 있습니다. 새 도메인을 구입하거나 기존 도메인을 Route 53으로 이전할 수 있습니다.
- DNS 서비스: Route 53은 DNS 서비스 공급자 역할을 하여 도메인의 DNS 레코드를 관리할 수 있습니다. DNS 레코드에는 A 레코드(도메인 이름을 IP 주소에 매핑), CNAME 레코드(도메인 이름을 다른 도메인 이름에 매핑), MX 레코드(메일 서버 지정) 등이 포함됩니다. 상태 확인 및 장애 조치: Route 53은 웹 서버와 같은 엔드포인트에서 상태 확인을 수행하고 비정상 엔드포인트에서 정상 엔드포인트로 트래픽을 자동으로 라우팅합니다. 이 기능은 장애 조치 및 재해 복구 솔루션을 구현하는 데 자주 사용됩니다.
- 트래픽 관리: Route 53은 트래픽 관리 기능을 제공하므로 지연 시간, 지리적 위치, 가중치 기반 라우팅 등과 같은 다양한 요소를 기반으로 DNS 쿼리가 라우팅되는 방식을 제어할 수 있습니다. 이를 통해 애플리케이션의 성능과 가용성을 최적화할 수 있습니다. AWS 서비스와의 통합: Route 53은 Amazon S3, Elastic Load Balancing(ELB) 및 Amazon CloudFront와 같은 다른 AWS 서비스와 원활하게 통합됩니다. 예를 들어 Route 53을 사용하여 ELB 로드 밸런서 또는 CloudFront 배포판으로 트래픽을 라우팅할 수 있습니다.
- DNSSEC: Route 53은 DNS 레코드에 디지털 서명을 하여 DNS 인프라에 추가 보안 계층을 추가하는 DNSSEC(DNS 보안 확장)를 지원합니다. 전반적으로 Route 53은 트래픽을 애플리케이션으로 라우팅하기 위한 기반을 제공하는 다재다능하고 안정적인 DNS 서비스입니다. 그리고 인터넷상의 서비스. DNS 관리, 성능 개선, 고가용성 보장을 위한 고급 기능을 제공합니다.