다음을 통해 공유


적절한 도메인 컨트롤러 배치 및 사이트 고려 사항

적절한 사이트 정의는 성능에 매우 중요합니다. 사이트 외부에 있는 클라이언트는 인증 및 쿼리에 대한 성능 저하를 겪을 수 있습니다. 또한 클라이언트에 IPv6이 도입되면 요청은 IPv4 또는 IPv6 주소에서 올 수 있으며 Active Directory에는 IPv6에 대해 올바르게 정의된 사이트가 있어야 합니다. 운영 체제는 둘 다 구성된 경우 IPv4보다 IPv6을 선호합니다.

Windows Server 2008 버전부터 도메인 컨트롤러는 클라이언트가 있어야 하는 사이트를 결정하기 위해 이름 확인을 사용하여 역방향 조회를 수행하려고 합니다. 이로 인해 ATQ 스레드 풀이 고갈되고 도메인 컨트롤러가 응답하지 않게 될 수 있습니다. 이에 대한 적절한 해결 방법은 IPv6에 대한 사이트 토폴로지를 올바로 정의하는 것입니다. 해결 방법으로 도메인 컨트롤러 요청에 신속하게 응답하도록 이름 확인 인프라를 최적화할 수 있습니다. 자세한 정보는 Windows Server 2008 또는 Windows Server 2008 R2 도메인 컨트롤러에서 LDAP 또는 Kerberos 요청에 대한 응답이 지연됨을 참조하세요.

추가로 고려해야 할 영역은 RODC가 사용 중인 시나리오에 대한 읽기/쓰기 DC를 찾는 것입니다. 특정 작업에는 쓰기 가능 도메인 컨트롤러에 액세스하거나 읽기 전용 도메인 컨트롤러로 충분할 때 쓰기 가능 도메인 컨트롤러를 대상으로 해야 합니다. 이러한 시나리오를 최적화하기 위해 다음 두 가지 경로가 사용됩니다.

  • 읽기 전용 도메인 컨트롤러로 충분할 경우 쓰기 가능 도메인 컨트롤러에 연결합니다. 이를 위해 애플리케이션 코드를 변경해야 합니다.
  • 쓰기 가능 도메인 컨트롤러가 필요할 수 있는 위치입니다. 대기 시간을 최소화하려면 중앙 위치에 읽기-쓰기 도메인 컨트롤러를 배치합니다.

자세한 내용을 보려면 다음을 참조하세요.

조회 최적화

조회는 도메인 컨트롤러가 쿼리된 파티션의 복사본을 호스트하지 않을 때 LDAP 쿼리를 리디렉션하는 방법입니다. 조회가 반환되면 파티션의 고유 이름, DNS 이름, 포트 번호가 포함됩니다. 클라이언트는 이 정보를 사용하여 파티션을 호스트하는 서버에서 쿼리를 계속 진행합니다. 이는 DCLocator 시나리오이며 모든 권장 사항 사이트 정의 및 도메인 컨트롤러 배치가 유지 관리되지만 조회에 의존하는 애플리케이션은 종종 간과됩니다. 사이트 정의 및 도메인 컨트롤러 배치를 포함한 AD 토폴로지가 클라이언트의 요구를 제대로 반영하는지 확인하는 것을 권장합니다. 또한 여기에는 단일 사이트에 여러 도메인의 도메인 컨트롤러가 있거나, DNS 설정을 튜닝하거나, 애플리케이션 사이트를 재배치하는 것이 포함될 수 있습니다.

트러스트에 대한 최적화 고려 사항

포리스트 내 시나리오에서 트러스트는 Grand-Child 도메인 ->자식 도메인 ->포리스트 루트 도메인 -> 자식 도메인 -> Grand-Child 도메인 계층 구조에 따라 처리됩니다. 이는 트러스트 계층 구조에서 DC를 전송하는 인증 요청의 집계로 인해 포리스트 루트 및 각 부모의 보안 채널이 오버로드될 수 있음을 의미합니다. 또한 인증이 위의 흐름에 영향을 미치기 위해 대기 시간이 높은 링크를 전송해야 할 때 대규모 지리적 분산의 Active Directories에서 지연이 발생할 수 있습니다. 오버로드는 포리스트 간 및 하위 수준 트러스트 시나리오에서 발생할 수 있습니다. 모든 시나리오에서 다음 권장 사항을 적용합니다.

  • MaxConcurrentAPI를 올바로 조정하여 보안 채널에서 부하를 지원합니다. 자세한 내용은 MaxConcurrentApi 설정을 사용하여 NTLM 인증에 대한 성능 튜닝을 수행하는 방법을 참조하세요.

  • 부하에 따라 적절한 바로 가기 트러스트를 생성합니다.

  • 도메인의 모든 도메인 컨트롤러가 이름 확인을 수행하고 신뢰할 수 있는 도메인의 도메인 컨트롤러와 통신할 수 있는지 확인합니다.

  • 위치 고려 사항이 트러스트에 고려되는지 확인합니다.

  • 가능한 경우 Kerberos를 사용 설정하고 보안 채널 사용을 최소화하여 MaxConcurrentAPI 병목 현상이 발생할 위험을 줄입니다.

도메인 간 트러스트 시나리오는 수많은 고객에게 지속적으로 문제가 되는 영역입니다. 방화벽으로 인한 이름 확인 및 연결 문제로 인해 신뢰하는 도메인 컨트롤러에서 리소스가 고갈되고 모든 클라이언트에 영향을 줍니다. 또한 종종 간과되는 시나리오는 신뢰할 수 있는 도메인 컨트롤러에 대한 액세스를 최적화하는 것입니다. 이 작업이 올바로 작동하는지 확인하는 주요 영역은 다음과 같습니다.

  • 신뢰할 수 있는 도메인 컨트롤러가 사용하는 DNS 및 WINS 이름 확인이 신뢰할 수 있는 도메인에 대한 도메인 컨트롤러의 정확한 목록을 확인할 수 있는지 점검합니다.

    • 정적으로 추가된 레코드는 부실해지고 시간이 지남에 따라 연결 문제가 다시 발생하는 경향이 있습니다. DNS 전달, 동적 DNS 및 WINS/DNS 인프라 병합은 장기적으로 더 쉽게 유지 관리할 수 있습니다.

    • 클라이언트가 액세스해야 할 수 있는 환경의 모든 리소스에 대해 전달자, 조건부 전달, 전달 및 역조회 영역의 보조 복사본의 적절한 구성을 확인합니다. 다시 말하지만, 이를 위해서는 수동 유지 관리가 필요하고 부실해지는 경향이 있습니다. 인프라의 통합이 이상적입니다.

  • 신뢰할 수 있는 도메인의 도메인 컨트롤러는 먼저 동일한 사이트에 있는 신뢰할 수 있는 도메인에서 도메인 컨트롤러를 찾은 다음 일반 로케이터로 장애 복구를 시도합니다.

    • DCLocator 작동 방식에 대한 자세한 내용은 가장 가까운 사이트에서 도메인 컨트롤러 찾기를 참조하세요.

    • 신뢰할 수 있는 도메인과 신뢰할 수 있는 도메인 간에 사이트 이름을 수렴하여 동일한 위치에 도메인 컨트롤러를 반영합니다. 서브넷 및 IP 주소 매핑이 두 포리스트의 사이트에 적절히 연결되어 있는지 확인합니다. 자세한 내용은 포리스트 트러스트의 도메인 로케이터를 참조하세요.

    • 도메인 컨트롤러 위치에 대한 DCLocator 요구 사항에 따라 포트가 열려 있는지 확인합니다. 도메인 간에 방화벽이 있는 경우, 방화벽이 모든 트러스트에 대해 올바르게 구성되었는지 확인합니다. 방화벽이 열려 있지 않을 경우, 신뢰할 수 있는 도메인 컨트롤러가 여전히 신뢰할 수 있는 도메인에 액세스하려고 시도합니다. 어떤 이유로든 통신이 실패할 경우, 신뢰할 수 있는 도메인 컨트롤러는 결국 신뢰할 수 있는 도메인 컨트롤러에 대한 요청 시간이 초과됩니다. 그러나 이러한 시간 제한은 요청당 몇 초 정도 걸릴 수 있으며 들어오는 요청 볼륨이 높은 경우 신뢰할 수 있는 도메인 컨트롤러의 네트워크 포트를 소진할 수 있습니다. 클라이언트는 중단된 스레드로 도메인 컨트롤러에서 시간 초과 대기가 발생할 수 있으며, 이는 중단된 애플리케이션(애플리케이션이 포그라운드 스레드에서 요청을 실행하는 경우)으로 변환할 수 있습니다. 자세한 내용은 도메인 및 트러스트를 위한 방화벽을 구성하는 방법을 참조하세요.

    • DnsAvoidRegisterRecords를 사용하여 광고에서 일반 로케이터에 이르기까지 성능이 저하되거나 대기 시간이 긴 도메인 컨트롤러(예: 위성 사이트)를 제거합니다. 자세한 내용은 클라이언트 사이트 외부에 있는 도메인 컨트롤러 또는 글로벌 카탈로그의 위치를 최적화하는 방법을 참조하세요.

      참고 항목

      클라이언트에서 사용할 수 있는 도메인 컨트롤러의 수는 약 50개로 실질적으로 제한되어 있습니다. 가장 사이트에 최적화되고 가장 용량이 높은 도메인 컨트롤러여야 합니다.

    • 신뢰할 수 있고 신뢰 중인 도메인의 도메인 컨트롤러를 동일한 물리적 위치에 배치하는 것이 좋습니다.

모든 트러스트 시나리오의 경우 자격 증명은 인증 요청에 지정된 도메인에 따라 라우팅됩니다. LookupAccountName 및 LsaLookupNames에 대한 쿼리뿐만 아니라 가장 일반적으로 사용되는 API에도 마찬가지입니다. 이러한 API에 대한 도메인 매개 변수가 NULL 값으로 전달되면 도메인 컨트롤러는 사용 가능한 모든 신뢰할 수 있는 도메인에 지정된 계정 이름을 찾으려고 합니다.

추가 참조