Active Directory 사용 가능한 스토리지 공간 부족 - AWS Directory Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Active Directory 사용 가능한 스토리지 공간 부족

Active Directory에서 사용 가능한 스토리지 공간이 부족하여 AWS Managed Microsoft AD가 손상된 경우, 디렉터리를 활성 상태로 되돌리려면 즉각적인 조치가 필요합니다. 이 손상의 가장 일반적인 두 가지 원인은 아래 단원에서 다룹니다.

AWS Managed Microsoft AD 스토리지에 대한 요금 정보는 AWS Directory Service요금을 참조하세요.

SYSVOL 폴더가 필수 그룹 정책 객체 이상을 저장하는 중

이러한 손상의 일반적인 원인은 그룹 정책 처리를 위해 필수적이지 않은 파일을 SYSVOL 폴더에 저장하기 때문입니다. 이러한 필수적이지 않은 파일은 EXE, MSI 또는 그룹 정책에서 처리하는 데 필수적이지 않은 기타 파일일 수 있습니다. 그룹 정책에서 처리할 필수 객체는 그룹 정책 객체, 로그온/오프 스크립트 및 그룹 정책용 중앙 저장소 객체입니다. 필수적이지 않은 파일은 AWS Managed Microsoft AD 도메인 컨트롤러가 아닌 파일 서버에 저장해야 합니다.

그룹 정책 소프트웨어 설치용 파일이 필요한 경우, 파일 서버를 사용하여 해당 설치 파일을 저장해야 합니다. 파일 서버를 자체 관리하지 않으려는 경우, AWS는 관리형 파일 서버 옵션인 Amazon FSx를 제공합니다.

불필요한 파일을 제거하기 위해 범용 명명 규칙(UNC) 경로를 통해 SYSVOL 공유에 액세스할 수 있습니다. 예를 들어 도메인의 정규화된 도메인 이름(FQDN)이 example.com인 경우, SYSVOL의 UNC 경로는 “\\example.local\SYSVOL\example.local\”입니다. 그룹 정책에서 디렉터리를 처리하는 데 필수적이지 않은 객체를 찾아서 제거하면 30분 이내에 활성 상태로 돌아갑니다. 30분 후에도 디렉터리가 활성화되지 않으면 AWS Support에 문의하세요.

SYSVOL 공유에 필수 그룹 정책 파일만 저장하면 SYSVOL 부풀림으로 인해 디렉터리가 손상되지 않습니다.

Active Directory 데이터베이스가 볼륨을 채움

이러한 손상의 일반적인 원인은 Active Directory 데이터베이스가 볼륨을 가득 채우기 때문입니다. 이러한 경우인지 확인하기 위해 디렉터리의 객체 수를 검토할 수 있습니다. 삭제된 객체는 여전히 디렉터리의 총 개체 수에 포함된다는 점을 이해하실 수 있도록 총계라는 글자를 굵게 표시합니다.

기본적으로 AWS Managed Microsoft AD는 항목이 재활용 객체가 되기 전에 180일 동안 AD 휴지통에 항목을 보관합니다. 객체가 재활용 객체(삭제 표시)가 되면 해당 객체가 디렉터리에서 최종적으로 제거되기 전에 180일 동안 보관됩니다. 따라서 삭제된 객체는 제거되기 전 360일 동안 디렉터리 데이터베이스에 존재합니다. 이 이유 때문에 총 객체 수를 평가해야 합니다.

AWS Managed Microsoft AD 지원 객체 수에 대한 자세한 내용은 AWS Directory Service요금을 참조하세요.

삭제된 객체가 포함된 디렉터리의 총 객체 수를 가져오려면 도메인이 조인된 Windows 인스턴스에서 다음 PowerShell 명령을 실행하면 됩니다. 관리 인스턴스를 설정하는 방법의 단계는 AWS Managed Microsoft AD에서의 사용자 및 그룹 관리 단원을 참조하세요.

Get-ADObject -Filter * -IncludeDeletedObjects | Measure-Object -Property 'Count' | Select-Object -Property 'Count'

다음은 위 명령의 출력 예입니다.

Count 10000

총 개수가 위의 참고 내용에 나열된 디렉터리 크기에 대해 지원되는 객체 수보다 크면 디렉터리의 용량을 초과한 것입니다.

다음은 이러한 손상을 해결할 수 있는 옵션입니다.

  1. AD 정리

    1. 원치 않는 AD 객체를 삭제합니다.

    2. AD 휴지통에서 원하지 않는 객체를 모두 제거합니다. 이 작업은 실행 취소할 수 없으며, 삭제된 객체를 복구할 수 있는 유일한 방법은 디렉터리 복원을 수행하는 것입니다.

    3. 다음 명령은 AD 휴지통에서 삭제된 모든 객체를 제거합니다.

      중요

      이 명령은 실행 취소할 수 없는 명령이며, 삭제된 객체를 복구할 수 있는 유일한 방법은 디렉터리 복원을 수행하는 것이므로 이 명령은 특히 주의해서 사용해야 합니다.

      $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName $NetBios = $DomainInfo.NetBIOSName $ObjectsToRemove = Get-ADObject -Filter { isDeleted -eq $true } -IncludeDeletedObjects -SearchBase "CN=Deleted Objects,$BaseDn" -Properties 'LastKnownParent','DistinguishedName','msDS-LastKnownRDN' | Where-Object { ($_.LastKnownParent -Like "*OU=$NetBios,$BaseDn") -or ($_.LastKnownParent -Like '*\0ADEL:*') } ForEach ($ObjectToRemove in $ObjectsToRemove) { Remove-ADObject -Identity $ObjectToRemove.DistinguishedName -IncludeDeletedObjects }
    4. AWS Support에서 사례를 개설하여 AWS Directory Service가 사용 가능한 공간을 회수하도록 요청하세요.

  2. 디렉터리 유형이 Standard Edition인 경우, AWS Support에서 디렉터리를 Enterprise Edition으로 업그레이드하도록 요청하는 사례를 개설하세요. 이렇게 하면 디렉터리 비용도 증가합니다. 요금 정보는 AWS Directory Service 요금을 참조하세요.

AWS Managed Microsoft AD에서 AWS 위임 삭제된 객체 수명 관리자 그룹의 멤버는 삭제된 객체가 재활용 객체가 되기 전에 AD 휴지통에 보관되는 시간(일)을 설정하는 msDS-DeletedObjectLifetime 속성을 수정할 수 있습니다.

참고

이는 고급 주제입니다. 부적절하게 구성하면 데이터가 손실될 수 있습니다. 이러한 프로세스를 더 잘 이해하려면 먼저 AD 휴지통: 이해, 구현, 모범 사례 및 문제 해결을 검토하는 것이 좋습니다.

msDS-DeletedObjectLifetime 속성 값을 더 낮은 숫자로 변경하는 기능은 객체 수가 지원되는 수준을 초과하지 않도록 하는 데 도움이 될 수 있습니다. 이 속성을 설정할 수 있는 가장 낮은 유효 값은 2일입니다. 이 값을 초과하면 AD 휴지통을 사용하여 삭제된 객체를 더 이상 복구할 수 없습니다. 객체를 복구하려면 스냅샷에서 디렉터리를 복구해야 합니다. 자세한 내용은 디렉터리 스냅샷 또는 복구 섹션을 참조하세요. 스냅샷 복원은 특정 시점이므로 데이터 손실이 발생할 수 있습니다.

디렉터리의 삭제된 객체 수명을 변경하려면 다음 명령을 실행하세요.

참고

명령을 그대로 실행하면 삭제된 객체 수명 속성 값이 30일로 설정됩니다. 길거나 짧게 만들고 싶다면 “30"을 원하는 숫자로 바꾸세요. 그러나 기본 수인 180보다 높지 않게 설정하는 것이 좋습니다.

$DeletedObjectLifetime = 30 $DomainInfo = Get-ADDomain $BaseDn = $DomainInfo.DistinguishedName Set-ADObject -Identity "CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,$BaseDn" -Partition "CN=Configuration,$BaseDn" -Replace:@{"msDS-DeletedObjectLifetime" = $DeletedObjectLifetime}