EC2 Windows 인스턴스를 AWS 관리형 Microsoft AD 디렉터리에 원활하게 조인할 수 없는 이유는 무엇인가요?

5분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스를 Microsoft Active Directory용 AWS Directory Service에 원활하게 조인할 수 없습니다.

해결 방법

EC2 Windows 인스턴스를 AWS 관리형 Microsoft AD 디렉토리에 원활하게 조인할 수 없는 이유를 해결하려면 다음 단계를 완료합니다.

참고: AWS Systems Manager용 Amazon Virtual Private Cloud(VPC) 인터페이스 엔드포인트는 Windows Server 인스턴스를 도메인에 조인하는 요청에 제한을 둡니다. 자세한 내용은 VPC 엔드포인트 제약 및 제한을 참조하세요.

OS 및 머신 유형 확인

AWS Systems Manager가 사용자의 운영 체제(OS) 및 머신 유형을 지원하는지 확인합니다.

IAM 역할 정책 확인

AWS Identity and Access Management(IAM) 역할에 올바른 관리 정책이 포함되어 있는지 확인하려면 다음 단계를 완료하세요:

  1. IAM 콘솔을 엽니다.
  2. 탐색 창에서 역할을 선택합니다.
  3. 인스턴스와 연결된 IAM 역할의 역할 이름을 선택하여 요약 페이지를 엽니다.
  4. 권한 탭의 권한 정책AmazonSSMDirectoryServiceAccessAmazonSSMManagedInstanceCore 정책이 포함되어 있는지 확인합니다.
  5. 권한 정책이 누락된 경우, 권한 추가, 정책 포함을 선택합니다. 정책 이름을 검색하고, 검색 결과에서 올바른 정책을 선택한 다음, 권한 추가를 선택합니다.

필요한 포트가 열려 있는지 확인

디렉토리의 보안 그룹에서 포트 53, 88 및 389가 열려 있는지 확인합니다. 디렉토리의 보안 그룹을 찾아 검토하려면, 다음 단계를 완료하세요.

  1. Amazon EC2 콘솔을 엽니다.
  2. 탐색 창에서 보안 그룹을 선택합니다.
  3. 보안 그룹 목록을 보안 그룹 이름으로 정렬하여 directoryid_controllers(여기서 directoryid는 디렉토리 ID)를 찾습니다. 예를 들어, d-1234567891_controllers입니다.
  4. 디렉토리 컨트롤러의 보안 그룹에서 보안 그룹 ID를 선택합니다.
  5. 인바운드 규칙아웃바운드 규칙 탭을 열어 포트 정보를 검토합니다.

참고: Microsoft의 PortQry 명령줄 도구를 사용하여 필요한 포트에 대한 도메인의 연결을 테스트합니다.

인스턴스의 DNS 서버가 디렉토리의 DNS 서버를 가리키고 있는지 확인합니다.

인스턴스의 네트워크 어댑터 구성을 표시하려면, 다음 AWS Command Line Interface(AWS CLI) 명령을 실행합니다.

참고: AWS CLI 명령을 실행할 때 오류가 발생하면, 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

ipconfig /all

디렉토리의 DNS 서버를 찾으려면, 다음 단계를 완료합니다:

  1. 디렉토리 서비스 콘솔을 엽니다.
  2. 탐색 창에서 디렉토리를 선택합니다.
  3. 디렉토리 ID를 선택하여 디렉토리 상세 정보 페이지를 엽니다.
  4. DNS 주소를 확인합니다.

인스턴스에서 도메인 이름을 확인할 수 있는지 확인합니다.

인스턴스에서 도메인 이름을 확인할 수 있는지 확인하려면, 다음 명령 중 하나를 실행합니다:

참고: 명령에서 domainname을 도메인 이름으로 바꿉니다.

PowerShell 사용:

Resolve-DnsName domainname

명령 프롬프트 사용:

nslookup domainname

DNS 서버 구성 확인

인스턴스의 DNS 서버를 올바르게 구성했는지, 인스턴스가 DNS 서버에 연결할 수 있는지 확인하려면, 다음 Nltest 창 명령을 실행합니다:

참고: 명령에서 domainname을 NetBIOS 이름이 아닌 DNS 이름으로 바꿉니다. 예를 들어, 도메인이 example.com인 경우 DNS 이름은 example.com이고 NetBIOS 이름은 example입니다.

nltest /dsgetdc:domainname /force

인스턴스가 관리형 인스턴스인지 확인

인스턴스가 관리형 인스턴스인지 확인하려면 다음 단계를 완료합니다:

  1. 시스템 관리자 콘솔을 엽니다.
  2. 탐색 창에서 플릿 관리자를 선택합니다.
  3. 플릿 관리자 페이지에서 관리형 노드 탭을 선택합니다.
  4. 인스턴스가 나열되어 있고 온라인 상태인지 확인합니다.

인스턴스에 State Manager 연결이 있는지 확인합니다.

awsconfig_Domain_directoryid_domainname 문서에 인스턴스에 대해 생성된 상태 관리자 연결이 있는지 확인하려면 다음 단계를 완료합니다:

참고: 문서 이름에서 directoryid은 디렉토리 ID이고 domainname은 도메인 이름입니다.

  1. 시스템 관리자 콘솔을 엽니다.
  2. 탐색 창에서 상태 관리자를 선택합니다.
  3. 검색 창에서 인스턴스 ID등호를 선택한 다음 인스턴스 ID를 입력합니다.
  4. 연결 ID를 선택합니다.
  5. 상태성공인지 확인한 다음, 실행 내역을 선택하여 연결 실행을 확인합니다.
  6. 상태실패인 경우, 실행 id, 출력을 선택하여 출력 세부 정보를 검토하고 문제의 원인을 파악합니다.
  7. 상태보류인 경우, 이전 문제 해결 단계를 모두 수행했는지 확인합니다. 그런 다음, EC2 인스턴스의 로그에서 오류 메시지가 있는지 검토하여 문제의 원인을 파악합니다. 지침 관련하여, 로그를 검토하여 오류 메시지 찾기 섹션을 참조하세요.

인스턴스를 도메인에 수동으로 조인할 수 있는지 확인합니다.

계정에서 도메인에 컴퓨터 개체를 추가하는 데 필요한 권한이 있는지 확인합니다. 자세한 내용은 AWS 관리형 Microsoft AD에 대한 디렉토리 조인 권한 위임을 참조하세요.

참고: 새 EC2 Windows 인스턴스를 만들려면 Microsoft 도구 Sysprep를 사용하여 표준화된 Amazon Machine Image(AMI)를 만듭니다.

원활한 도메인 조인 성공 확인

문제 해결 단계로 문제가 해결되었는지 확인하려면, 도메인에 다시 조인해 보세요:

  1. 시스템 관리자 콘솔을 엽니다.
  2. 탐색 창에서 상태 관리자를 선택합니다.
  3. 도메인에 조인하기 위해 만든 연결을 선택한 다음, 지금 연결 적용을 선택합니다.
  4. 상태성공인지 확인합니다.

로그를 검토하여 오류 메시지 찾기

여전히 도메인에 조인할 수 없는 경우, 인스턴스에서 다음 로그를 검토하여 오류 메시지를 찾아보세요.

SSM 에이전트 로그 사용 중:

AWS Systems Manager Agent(SSM Agent) 로그를 보려면 %PROGRAMDATA%\Amazon\SSM\Logs\로 이동합니다.

Netsetup.log 파일 사용:

로그 파일을 열려면 명령 프롬프트에서 다음 명령을 실행합니다:

%windir%\debug\netsetup.log

NetSetup.log 출력의 각 포트에 대해 예상되는 오류 코드 및 동작

TCP 88 - Kerberos 인증:

NetUseAdd to \\serverDC1.example.com\IPC$ returned 64
NetpJoinDomainOnDs: status of connecting to dc '\\serverDC1.example.com':0x40
NetpJoinDomainOnDs: Function exits with status of: 0x40
NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'example.com' returned 0x0
NetpJoinDomainOnDs: NetpResetIDNEncoding on 'example.com': 0x0
NetpDoDomainJoin: status: 0x40

TCP 389 - LDAP:

NetpLdapBind: ldap_bind failed on serverDC1.example.com: 81: Server Down
NetpJoinCreatePackagePart: status:0x3a.
NetpJoinDomainOnDs: Function exits with status of: 0x3a
NetpJoinDomainOnDs: status of disconnecting from '\\serverDC1.example.com': 0x0
NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'example.com' returned 0x0
NetpJoinDomainOnDs: NetpResetIDNEncoding on 'example.com': 0x0
NetpDoDomainJoin: status: 0x3a

UDP 389 - LDAP:

NetpCheckDomainNameIsValid [ Exists ] for 'example.com' returned 0x54b
NetpJoinDomainOnDs: Domain name is invalid,
NetpValidateName returned: 0x54b
NetpJoinDomainOnDs: Function exits with status of: 0x54b
NetpJoinDomainOnDs: NetpResetIDNEncoding on '(null)': 0x0
NetpDoDomainJoin: status: 0x54b

UDP 53 - DNS:

UDP DNS 트래픽이 허용되지 않는 경우, 도메인 조인 워크플로에서 NetSetup.log 파일에 출력을 생성하지 않습니다. DNS 서버를 테스트하려면, 다음 PowerShell 명령을 실행합니다:

참고: 명령에서 YourIPAddress를 DNS 서버의 IP 주소로 바꿉니다.

Test-DnsServer -IPAddress YourIPAddress

NetSetup.log 오류 코드에 대한 자세한 내용은 Microsoft 웹사이트에서 Windows 기반 컴퓨터를 도메인에 가입할 때 발생하는 오류 문제 해결 방법을 참조하세요.

이벤트 뷰어 로그 사용:

  1. Windows 작업 표시줄에서 검색을 선택하고, "이벤트 뷰어"를 입력한 다음, 이벤트 뷰어를 선택하여 도구를 엽니다.
  2. 탐색 창에서 Windows 로그를 확장한 다음, 시스템을 선택합니다.
  3. 날짜 및 시간 열을 검토하여, 도메인 조인 작업 중에 발생한 이벤트를 식별합니다.

관련 정보

EC2 인스턴스를 AWS 관리형 Microsoft AD 디렉토리에 조인

AWS 공식
AWS 공식업데이트됨 9달 전