DNS 서버 서비스는 에이징 및 청소 기능을 지원합니다. 이러한 기능은 시간이 지나면서 영역 데이터에 누적될 수 있는 부실 리소스 레코드를 정리하고 제거하기 위한 메커니즘을 제공합니다.

동적 업데이트를 사용하면 네트워크에서 컴퓨터가 시작될 때 리소스 레코드가 영역에 자동으로 추가됩니다. 그러나 컴퓨터가 네트워크에서 연결을 끊을 때 이 리소스 레코드가 자동으로 제거되지 않는 경우도 있습니다. 예를 들어, 컴퓨터가 시작될 때 자신의 호스트(A) 리소스 레코드를 등록하고 나중에 네트워크에서 비정상적으로 연결이 끊기면 호스트(A) 리소스 레코드가 삭제되지 않을 수 있습니다. 네트워크에 모바일 사용자와 컴퓨터가 있으면 이러한 상황이 자주 발생할 수 있습니다.

부실 리소스 레코드를 관리하지 않고 영역 데이터에 그대로 두면 다음과 같은 문제가 발생할 수 있습니다.

  • 영역에 부실 리소스 레코드가 많이 남아 있으면 이 리소스 레코드가 서버 디스크 공간을 차지하게 되어 영역 전송이 불필요하게 길어질 수 있습니다.

  • 부실 리소스 레코드가 포함된 영역을 로드하는 DNS(Domain Name System) 서버는 오래된 정보를 사용하여 클라이언트 쿼리에 응답할 수 있으므로 클라이언트가 네트워크에서 이름을 확인할 때 문제가 발생할 수 있습니다.

  • 부실 리소스 레코드가 DNS 서버에 누적되면 서버 성능과 응답 속도가 저하될 수 있습니다.

  • 영역에 있는 부실 리소스 레코드로 인해 다른 컴퓨터나 호스트 장치에서 DNS 도메인 이름을 사용할 수 없게 되는 경우도 있습니다.

이러한 문제를 해결하기 위해 DNS 서버 서비스에서는 다음과 같은 기능을 제공합니다.

  • 주 형식 영역에 동적으로 추가된 리소스 레코드에 대해 서버 컴퓨터에 설정된 현재 날짜와 시간을 기반으로 타임스탬프 기능을 제공합니다. 또한 에이징 및 청소를 수행할 수 있도록 설정되어 있는 표준 주 영역에 타임스탬프가 기록됩니다.

    수동으로 추가하는 리소스 레코드에는 타임스탬프 값으로 0이 사용됩니다. 이 값은 이러한 리소스 레코드가 에이징 프로세스의 영향을 받지 않으며 사용자가 타임스탬프를 변경하거나 삭제하지 않으면 영역 데이터에 무제한 남아 있을 수 있음을 나타냅니다.

  • 적용 가능한 영역에 대해 지정된 새로 고침 간격을 기반으로 로컬 데이터에서 리소스 레코드의 에이징 기능을 제공합니다.

    DNS 서버 서비스에서 로드하는 주 형식 영역만 이 프로세스에 참가할 수 있습니다.

  • 지정된 새로 고침 간격이 지난 후 남아 있는 모든 리소스 레코드의 청소 기능을 제공합니다.

    DNS 서버는 청소 작업을 수행할 때 리소스 레코드가 부실 레코드로 에이징되었는지 확인하고 영역 데이터에서 부실 리소스 레코드를 제거할 수 있습니다. 청소 작업을 자동으로 반복하도록 서버를 구성하거나 서버에서 청소 작업을 즉시 시작할 수 있습니다.

    자세한 내용은 부실 리소스 레코드의 자동 청소 또는 부실 리소스 레코드의 청소 즉시 시작을 참조하십시오.

주의

기본적으로 DNS 서버 서비스의 에이징 및 청소 메커니즘은 사용할 수 없도록 설정되어 있습니다. 모든 매개 변수를 완전히 이해하는 경우에만 이 메커니즘을 사용할 수 있도록 설정해야 합니다. 그렇지 않으면 삭제하면 안 되는 레코드를 삭제하도록 서버를 잘못 구성할 수 있습니다. 레코드가 실수로 삭제되면 사용자가 해당 레코드에 대한 쿼리를 해결할 수 없을 뿐 아니라 보안 동적 업데이트를 사용하도록 구성된 영역에서도 모든 사용자가 레코드를 만들고 소유권을 가질 수 있습니다.

서버는 각 리소스 레코드와 관련된 타임스탬프의 내용과 함께 사용자가 조정하거나 구성할 수 있는 다른 에이징 및 청소 속성을 사용하여 레코드 청소 시점을 결정합니다.

에이징 및 청소의 전제 조건

DNS의 에이징 및 청소 기능을 사용하려면 다음과 같은 몇 가지 조건이 충족되어야 합니다.

  1. DNS 서버 및 영역 모두에서 청소와 에이징을 사용할 수 있도록 설정해야 합니다.

    기본적으로 리소스 레코드의 에이징 및 청소는 사용할 수 없도록 설정되어 있습니다.

  2. 리소스 레코드를 영역에 동적으로 추가하거나 수동으로 수정해야 리소스 레코드가 에이징 및 청소 작업에서 사용될 수 있습니다.

    일반적으로 DNS 동적 업데이트 프로토콜을 사용하여 동적으로 추가한 리소스 레코드에 대해서만 에이징 및 청소를 수행할 수 있습니다.

    그러나 비동적 방법으로 추가된 다른 리소스 레코드에 대해 청소를 수행할 수 있도록 설정할 수 있습니다. 다른 DNS 서버의 텍스트 기반 영역 파일을 로드하거나 영역에 수동으로 레코드를 추가하는 등, 비동적 방법으로 영역에 추가된 레코드에 대해서는 타임스탬프가 0으로 설정됩니다. 타임스탬프가 0이면 에이징 및 청소 작업에서 이러한 레코드를 사용할 수 없습니다.

    이 기본값을 변경하려면 이러한 레코드를 개별적으로 관리하여 레코드를 원래대로 설정하고 현재(0이 아님) 타임스탬프 값을 사용하게 할 수 있습니다. 이렇게 하면 이러한 레코드에 대해 에이징과 청소를 수행할 수 있습니다.

    자세한 내용은 지정된 리소스 레코드의 에이징 및 청소 속성 원래대로 설정을 참조하십시오.

참고

표준 주 영역을 Active Directory 통합 영역으로 변경하는 경우 영역에 있는 모든 기존 리소스 레코드를 청소할 수 있도록 설정할 수 있습니다. 영역에 있는 모든 기존 리소스 레코드를 에이징할 수 있도록 설정하려면 dnscmd 명령줄 도구에서 사용할 수 있는 AgeAllRecords 명령을 사용하면 됩니다.

에이징 및 청소 용어

다음 표에는 특히 에이징과 청소에 대해 논의할 때 도움이 될 수 있는 새 용어와 수정된 용어가 나와 있습니다.

용어 설명

리소스 레코드 타임스탬프

DNS 서버가 에이징 및 청소 작업을 수행할 때 리소스 레코드를 제거할 시점을 결정하는 데 사용하는 날짜와 시간 값입니다.

현재 서버 시간

DNS 서버의 현재 날짜와 시간입니다. 이 숫자는 특정 시점의 정확한 숫자 값으로 표현될 수 있습니다.

새로 고치지 않음 간격

각 영역에 대해 결정되는 시간 간격이며 다음과 같은 두 이벤트에 연결됩니다.

  1. 마지막으로 레코드를 새로 고치고 타임스탬프를 설정한 날짜와 시간

  2. 다음에 레코드를 새로 고치고 타임스탬프를 원래대로 설정할 수 있는 날짜와 시간

이 값은 Active Directory 데이터베이스에 대한 쓰기 작업 수를 줄이는 데 필요합니다. 기본적으로 이 간격은 7일로 설정됩니다. 에이징 및 청소 기능의 효과가 손실되거나 떨어질 수 있으므로 이 값을 너무 높은 수준까지 늘리지 않아야 합니다.

새로 고침 간격

각 영역에 대해 결정되는 시간 간격이며 다음 두 이벤트에 연결됩니다.

  1. 다음에 레코드를 새로 고치고 타임스탬프를 원래대로 설정할 수 있는 가장 이른 날짜와 시간

  2. 레코드를 청소하고 영역 데이터베이스에서 제거할 수 있는 가장 이른 날짜와 시간

이 값은 모든 클라이언트가 자신의 레코드를 새로 고칠 수 있도록 충분히 커야 합니다. 기본적으로 이 간격은 7일로 설정됩니다. 에이징 및 청소 기능의 효과가 손실되거나 떨어질 수 있으므로 이 값을 너무 높은 수준까지 늘리지 않아야 합니다.

청소 시작 시간

숫자로 표시되는 특정 시간입니다. 이 시간은 서버에서 영역을 청소할 수 있는 시점을 결정할 때 사용됩니다.

청소 기간

서버에서 자동으로 청소할 수 있도록 설정되어 있는 경우 이 기간은 자동 청소 과정이 반복되는 간격을 나타냅니다. 기본값은 7일입니다. DNS 서버의 성능 저하를 막기 위해 이 기간에 허용된 최소 값은 1시간입니다.

레코드 새로 고침

리소스 레코드의 다른 특성은 수정되지 않고 타임스탬프만 수정될 때 리소스 레코드에 대해 DNS 동적 업데이트가 수행되는 경우입니다.

새로 고침은 대개 다음과 같은 이유로 발생합니다.

  1. 네트워크에서 컴퓨터가 다시 시작될 때 시작 시의 컴퓨터 이름 및 IP 주소 정보가 종료 전에 사용된 이름 및 주소 정보와 일치하면 컴퓨터는 새로 고침을 보내 이 정보와 관련된 리소스 레코드를 갱신합니다.

  2. 컴퓨터가 실행 중에 주기적으로 새로 고침을 보냅니다.

    Windows DNS 클라이언트 서비스는 클라이언트 리소스 레코드의 DNS 등록을 24시간마다 갱신합니다. 이 동적 업데이트가 발생할 경우 동적 업데이트 요청으로 DNS 데이터베이스가 수정되지 않으면 리소스 레코드 업데이트가 아닌 새로 고침으로 간주됩니다.

  3. 클라이언트 주소 임대를 갱신하는 DHCP 서버, 클러스터의 레코드를 등록 및 업데이트하는 클러스터 서버 및 Active Directory 도메인 컨트롤러가 사용하는 리소스 레코드를 등록 및 업데이트할 수 있는 Net Logon 서비스 등의 새로 고침을 다른 네트워크 서비스에서 시도합니다.

레코드 업데이트

타임스탬프 외에 다른 레코드 특성도 수정될 때 리소스 레코드에 대해 DNS 동적 업데이트가 수행되는 경우입니다.

업데이트는 대개 다음과 같은 이유로 발생합니다.

  1. 네트워크에 새 컴퓨터가 추가되면 해당 컴퓨터가 시작될 때 업데이트를 보내 구성된 영역에 처음으로 리소스 레코드를 등록합니다.

  2. 영역에 기존 레코드가 있는 컴퓨터에서 IP 주소가 변경되면 DNS 영역 데이터에서 이름-주소 간 매핑을 수정하기 위해 업데이트가 전송됩니다.

  3. Net Logon 서비스가 새 Active Directory 도메인 컨트롤러를 등록하는 경우에 업데이트가 발생합니다.

청소 서버

영역의 청소를 수행할 수 있도록 설정된 DNS 서버의 제한된 IP 주소 목록을 지정할 수 있게 하는 선택적인 고급 영역 매개 변수입니다.

이 매개 변수를 지정하지 않으면 기본적으로 디렉터리 통합 영역을 로드하며 청소를 수행할 수 있도록 설정된 모든 DNS 서버가 영역 청소를 시도합니다. 디렉터리 통합 영역을 로드하는 일부 서버에서만 청소를 수행하는 것이 적합한 경우 이 매개 변수가 유용할 수 있습니다.

이 매개 변수를 설정하려면 영역의 ZoneResetScavengeServers 매개 변수에 영역을 청소할 수 있도록 설정된 서버의 IP 주소 목록을 지정해야 합니다. Windows DNS 서버 관리를 위한 명령줄 기반 도구인 dnscmd 명령을 사용하여 이 목록을 지정할 수 있습니다.

청소를 시작할 수 있는 경우

청소를 수행할 수 있도록 설정하는 데 필요한 모든 전제 조건이 충족되면 현재 서버 시간이 영역의 청소 시작 시간 값보다 클 때 서버 영역에 대해 청소를 시작할 수 있습니다.

서버는 다음과 같은 이벤트 중 하나가 발생할 때마다 영역별로 청소를 시작하는 시간 값을 설정합니다.

  • 영역에 동적 업데이트를 사용할 수 있도록 설정됩니다.

  • 부실 리소스 레코드 청소 확인란의 상태 변경이 적용됩니다. DNS 관리자를 사용하여 적용 가능한 DNS 서버나 주 영역 중 하나에서 이 설정을 수정할 수 있습니다.

  • DNS 서버는 청소를 수행할 수 있도록 설정된 주 영역을 로드합니다.

    서버 컴퓨터가 시작되거나 DNS 서버 서비스가 시작되는 경우가 여기에 해당합니다.

  • 영역에서 일시 중지된 서비스를 다시 시작합니다.

  • 영역이 AD DS 통합 영역인 경우 DNS 서비스가 다시 시작되거나 도메인 컨트롤러가 다시 부팅된 후 영역의 복제가 한 번 이상 수행된 상태여야 합니다. 위의 이벤트가 발생하면 DNS 서버가 다음 합계를 계산하여 청소 시작 시간의 값을 설정합니다.

    현재 서버 시간 + 새로 고침 간격 = 청소 시작 시간

    이 값은 청소 작업 중에 비교 기준으로 사용됩니다.

예: 샘플 레코드의 에이징 및 청소 프로세스

서버에서 수행되는 에이징 및 청소 프로세스를 이해하기 위해 이 프로세스가 적용되는 서버와 영역에 단일 리소스 레코드가 추가된 다음 에이징되어 데이터베이스에서 제거되는 전체적인 과정과 일련의 단계를 살펴봅니다.

  1. 샘플 DNS 호스트인 "host-a.example.microsoft.com"은 에이징 및 청소를 수행할 수 있도록 설정된 영역의 DNS 서버에 호스트(A) 리소스 레코드를 등록합니다.

  2. DNS 서버는 레코드를 등록할 때 현재 서버 시간을 기준으로 이 레코드에 타임스탬프를 기록합니다.

    레코드 타임스탬프가 기록된 후 DNS 서버는 영역의 새로 고치지 않음 간격 중에는 이 레코드에 대한 새로 고침을 허용하지 않습니다. 그러나 그 시간 이전에는 업데이트를 받을 수 있습니다. 예를 들어, "host-a.example.microsoft.com"의 IP 주소가 변경된 경우 DNS 서버에서 업데이트를 받을 수 있습니다. 이 경우 서버는 레코드 타임스탬프도 업데이트(원래대로 설정)합니다.

  3. 새로 고치지 않음 기간이 만료되면 서버에서는 이 레코드에 대한 새로 고침 시도를 허용하기 시작합니다.

    이 레코드에 대한 초기 새로 고치지 않음 기간이 끝나면 즉시 새로 고침 간격이 시작됩니다. 새로 고침 간격 중에 서버는 남은 시간에 레코드를 새로 고칠 수 있게 허용합니다.

  4. 새로 고침 간격 중이나 후에 레코드의 새로 고침을 받은 서버는 새로 고침을 처리합니다.

    새로 고침이 처리되면 2단계에서 설명한 방법에 따라 레코드의 타임스탬프가 원래대로 설정됩니다.

  5. 이후에 서버가 "example.microsoft.com" 영역에 대한 청소를 수행할 때 다른 모든 영역 레코드와 함께 이 영역 레코드를 검사합니다.

    다음과 같은 합계를 기준으로 각 레코드를 현재 서버 시간과 비교하여 레코드의 제거 여부가 결정됩니다.

    레코드 타임스탬프 + 영역의 새로 고치지 않음 간격 + 영역의 새로 고침 간격

    • 이 합이 현재 서버 시간보다 크면 다른 동작이 수행되지 않고 레코드가 영역에서 계속 에이징됩니다.

    • 이 합이 현재 서버 시간보다 작으면 현재 서버 메모리에 로드되어 있는 영역 데이터 및 디렉터리에 통합된 "example.microsoft.com" 영역에 대한 AD DS(Active Directory 도메인 서비스)의 해당 DnsZone 개체 저장소 모두에서 레코드가 삭제됩니다.


목차