
나는 namecheap에서 도메인을 구입하고 클라이언트 패널에서 개인 NS 서버를 설정했습니다.
ns1.example.com
ns2.example.com
1) 서버 ns1을 사용할 수 없는 경우 모든 요청이 여전히 ns1로 됩니까, 아니면 모두 서버 ns2로 옵니까? ns1 또는 ns2를 사용할 수 없는 경우 모든 요청에 대해 갑자기 전환을 설정하는 방법은 무엇입니까?
2) NS 서버 ns1/2 이후에는 LB 중 하나를 사용할 수 없는 경우를 대비해 로드 밸런서가 있습니다. 이 상태를 확인하기 위해 ns 서버를 설정하는 방법(사용할 애플리케이션 - 바인드 또는 기타, 일부 API가 있을 수 있는지 또는 설정할 수 있는지) 모든 요청을 작업 중인 LB로만 리디렉션하려면)?
답변1
1) 서버 ns1을 사용할 수 없는 경우 모든 요청이 여전히 ns1로 됩니까, 아니면 모두 서버 ns2로 옵니까?
아니요, DNS는 그런 식으로 작동하지 않습니다. 장애 조치가 아닌 기본적으로 로드 밸런싱을 제공합니다.
DNS는 리소스 레코드 세트를 처리합니다. 목록이 아니라 세트입니다. 목록은 순서가 지정되어 있지만 세트는 순서가 없습니다.
도메인 이름에 대한 이름 서버 세트에는 해당 도메인에 대해 권한이 있는 모든 이름이 포함됩니다. 다르게 말하면: 만약 그렇다면 example.org
두 서버 모두 통계적으로 항상 모든 요청의 50%를 받게 됩니다. 그것은ns1.example.com
ns2.example.com
아니다에 대해 100% ns1
이고 실패할 때만 에 100%가 됩니다 ns2
.
따라서 각각의 요청 중 50%가 발생하지만 하나가 어떤 이유로든 응답을 중지하면 어떻게 됩니까? 그러면 확인자가 다른 요청으로 전환하지만 언제 응답이 중지되었는지 알 수 없고 정기적으로 조사해야 하기 때문에 쿼리한 후에만 발생합니다. 다시 온라인 상태가 되는 것을 감지하기 위해 응답하지 않습니다. 이는 해결이 이루어지지만 알고리즘이 먼저 수행되기 때문에 시간이 더 걸릴 것임을 의미 ns1
합니다 ns1
. 재시도 횟수는 종종 구성 가능하며 각 소프트웨어마다 다릅니다)로 전환되어 ns2
최종적으로 응답을 받습니다.
이 DNS 확인의 원본에 있는 호출 애플리케이션 자체에 시간 초과가 있을 수 있으므로 위의 작업이 발생하고 시간이 너무 오래 걸리는 경우 응답 대기를 중지할 수 있습니다.
요즘 "고가용성 DNS"는 일반적으로 애니캐스트 기술을 사용하여 제공됩니다. 네임서버는 다양한 장소에서 애니캐스트되는 IP 주소를 확인합니다. 이는 BGP 작동 방식으로 인해 일부가 응답하지 않으면 다른 노드가 트래픽을 선택하므로 더 많은 "로컬" 액세스와 자동화된 장애 조치(특정 DNS 기능이 아닌 IP 기능으로 인해)로 인해 더 나은 성능을 제공합니다. 따라서 위에서 설명한 시간 초과 및 재시도 루프가 생성되지 않습니다.
NS 서버 ns1/2 이후에는 로드 밸런서가 있습니다.
나에게는 명확하지 않지만 어떤 경우에도 로드 밸런서나 그 어떤 것도 네임서버 앞에 두지 마십시오. 대부분 그들은 솔루션을 제공하기보다 더 많은 문제를 야기합니다(왜냐하면 그들은 종종 DNS 프로토콜의 매우 좁은 하위 집합을 구현하여 상호 운용성 문제를 일으키기 때문입니다).
API가 있을 수 있나요?
로드 밸런서를 구성 및 사용하고 실제로 앞에 있는 서비스의 상태를 고려하도록 설정하는 방법에는 여러 가지가 있습니다. 그러나 이 단계에서는 귀하의 질문이 너무 광범위하므로 첫 번째 부분과 DNS에 대한 오해를 고려하여 더 명확하게 설명해야 합니다.
답변2
사용 중인 DNS(Domain Name System) 서버 유형에 따라 접근 방식이 크게 달라집니다. 예를 들어, 일반적으로 도메인 컨트롤러이기도 한 동료 DNS 서버 간의 적절한 복제를 갖춘 Active Directory 통합 영역은 일정 수준의 내결함성을 제공합니다.
클라이언트는 일반적으로 로컬 IP 구성에 사용할 기본, 보조, 경우에 따라 3차 및 이후 DNS 공급자로 지정됩니다. 클라이언트에 아직 캐시된 레코드가 없고(TTL(Time To Live) 기준) 요청 시 기본 DNS 공급자에 연결할 수 없는 경우 보조 공급자를 통해 작업을 시작하고 시간 초과 간격에 도달할 때까지 계속 진행됩니다. . 이 기본-보조 클라이언트 DNS 공급자 지정을 액티브-패시브 고가용성의 상대적 버전으로 생각하는 올바른 방법은 다음과 같습니다.
최신 로드 밸런싱 솔루션, 특히 고급 물리적 어플라이언스에는 일반적으로 원하는 서비스 상태를 확인하는 데 사용할 수 있는 상태 확인(일반적으로 "프로브"라고 함)이 있습니다. 구현을 위해서는 공급업체 문서를 참조해야 합니다. 그러나 다음과 같은 경우에는 명심하세요.NS1그리고NS2다운되었으며 로드 밸런서의 이름 레코드는 클라이언트가 가리키는 것과 동일한 DNS 제공자에 의해 제공되며 본질적으로 이 세 번째 실패 단계에서 로드 밸런서에 의존하는 것은 아무것도 제공하지 않습니다(일부 행운의 클라이언트 레코드 캐싱 제외).