

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

# Simple AD에 Amazon EC2 인스턴스를 조인하는 방법
<a name="simple_ad_join_instance"></a>

인스턴스를 시작할 경우 Amazon EC2 인스턴스를 Active Directory 도메인에 원활하게 조인할 수 있습니다. 자세한 내용은 [AWS 관리형 Microsoft AD Active Directory에 Amazon EC2 Windows 인스턴스 조인](launching_instance.md) 단원을 참조하십시오. EC2 인스턴스를 시작하고 [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html)을 사용하여 Directory Service 콘솔에서 직접 Active Directory 도메인에 조인할 수도 있습니다.

Active Directory 도메인에 EC2 인스턴스를 수동으로 조인해야 하는 경우에는 적절한 리전과 보안 그룹 또는 서브넷에서 인스턴스를 시작한 다음, 도메인에 해당 인스턴스를 조인해야 합니다.

이러한 인스턴스에 원격 연결이 가능하려면 연결 중인 네트워크에서 인스턴스로의 IP 연결이 있어야 합니다. 대부분의 경우, 이를 위해서는 인터넷 게이트웨이가 VPC에 연결되고 인스턴스가 퍼블릭 IP 주소를 가지고 있어야 합니다.

**Topics**
+ [Amazon EC2 Windows 인스턴스를 Simple AD Active Directory에 조인](simple_ad_launching_instance.md)
+ [Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 조인](simple_ad_linux_domain_join.md)
+ [Simple AD에 대한 디렉터리 조인 권한 위임](simple_ad_directory_join_privileges.md)
+ [Simple AD에 대한 DHCP 옵션 세트 생성](simple_ad_dhcp_options_set.md)

# Amazon EC2 Windows 인스턴스를 Simple AD Active Directory에 조인
<a name="simple_ad_launching_instance"></a>

Amazon EC2 Windows 인스턴스를 시작하고 Simple AD에 조인할 수 있습니다. 또는 기존 EC2 Windows 인스턴스를 Simple AD에 수동으로 조인할 수 있습니다.

------
#### [ Seamlessly join an EC2 Windows ]

EC2 인스턴스를 원활하게 도메인 조인하려면 다음을 완료해야 합니다.

**사전 조건**
+ Simple AD를 사용합니다. 자세한 내용은 [Simple AD 생성](simple_ad_getting_started.md#how_to_create_simple_ad)를 참조하세요.
+ EC2 Windows 인스턴스를 원활하게 조인하려면 다음 IAM 권한이 필요합니다.
  + 다음 IAM 권한을 보유한 IAM 인스턴스 프로파일:
    + `AmazonSSMManagedInstanceCore`
    + `AmazonSSMDirectoryServiceAccess`
  + EC2를 Simple AD에 원활하게 도메인 조인하려는 사용자에게는 다음과 같은 IAM 권한이 필요합니다.
    + Directory Service 권한:
      + `"ds:DescribeDirectories"`
      + `"ds:CreateComputer"`
    + Amazon VPC 권한:
      + `"ec2:DescribeVpcs"`
      + `"ec2:DescribeSubnets"`
      + `"ec2:DescribeNetworkInterfaces"`
      + `"ec2:CreateNetworkInterface"`
      + `"ec2:AttachNetworkInterface"`
    + EC2 권한:
      + `"ec2:DescribeInstances"`
      + `"ec2:DescribeImages"`
      + `"ec2:DescribeInstanceTypes"`
      + `"ec2:RunInstances"`
      + `"ec2:CreateTags"`
    + AWS Systems Manager 권한:
      + `"ssm:DescribeInstanceInformation"`
      + `"ssm:SendCommand"`
      + `"ssm:GetCommandInvocation"`
      + `"ssm:CreateBatchAssociation"`

Simple AD가 생성되면 인바운드 및 아웃바운드 규칙을 사용하여 보안 그룹이 생성됩니다. 이러한 규칙 및 포트에 대한 자세한 내용은 [Simple AD로 생성되는 항목](simple_ad_what_gets_created.md)를 참조하세요. EC2 Windows 인스턴스를 원활하게 도메인 조인하려면 인스턴스를 시작하는 VPC에서 Simple AD 보안 그룹의 인바운드 및 아웃바운드 규칙에 허용된 것과 동일한 포트를 허용해야 합니다.
+ 네트워크 보안 및 방화벽 설정에 따라 추가 아웃바운드 트래픽을 허용해야 할 수 있습니다. 이 트래픽은 다음 엔드포인트에 대한 HTTPS(포트 443)용입니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/simple_ad_launching_instance.html)
+ Simple AD 도메인 이름을 확인하는 DNS 서버를 사용하는 것이 좋습니다. 이를 위해 DHCP 옵션 세트를 생성할 수 있습니다. 자세한 정보는 [Simple AD에 대한 DHCP 옵션 세트 생성](simple_ad_dhcp_options_set.md)을 참조하세요.
  + DHCP 옵션 세트를 생성하지 않도록 선택하면 DNS 서버가 고정되어 Simple AD에 의해 구성됩니다.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. 탐색 모음에서 기존 디렉터리 AWS 리전 와 동일한를 선택합니다.

1. **EC2 대시보드**의 **시작 인스턴스** 섹션에서 **인스턴스 시작**을 선택합니다.

1. **인스턴스 시작** 페이지의 **이름 및 태그** 섹션에서 Windows EC2 인스턴스에 사용할 이름을 입력합니다.

1.  (선택 사항) **추가 태그 추가**에서 이 EC2 인스턴스에 대한 액세스를 구성, 추적, 제어할 태그-키 값 페어를 하나 이상 추가합니다.

1. **애플리케이션 및 OS 이미지(Amazon Machine Image)** 섹션의 **빠른 시작** 창에서 **Windows**를 선택합니다. **Amazon Machine Image(AMI)** 드롭다운 목록에서 Windows Amazon Machine Image(AMI)를 변경할 수 있습니다.

1. **인스턴스 유형** 섹션의 **인스턴스 유형** 드롭다운 목록에서 사용하려는 인스턴스 유형을 선택합니다.

1. **키 페어(로그인)** 섹션에서 새 키 페어 생성을 선택하거나 기존 키 페어에서 선택할 수 있습니다.

   1. 새로운 키 페어를 생성하려면 **새 키 페어 생성**을 선택합니다.

   1. 키 페어의 이름을 입력하고 **키 페어 유형** 및 **프라이빗 키 파일 형식**에 대한 옵션을 선택합니다.

   1.  OpenSSH에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 **.pem**을 선택합니다. PuTTY에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 **.ppk**를 선택합니다.

   1. **Create key pair(키 페어 생성)**를 선택합니다.

   1. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.
**중요**  
이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다.

1. **인스턴스 시작** 페이지의 **네트워크 설정** 섹션에서 **편집**을 선택합니다. **VPC -* 필수*** 드롭다운 목록에서 디렉터리가 생성된 **VPC**를 선택합니다.

1. **서브넷** 드롭다운 목록에서 VPC의 퍼블릭 서브넷 중 하나를 선택합니다. 선택한 서브넷에서는 인터넷 게이트웨이로 모든 외부 트래픽이 라우팅되어야 합니다. 그렇지 않으면 인스턴스를 원격으로 연결할 수 없게 됩니다.

   인터넷 게이트웨이에 연결하는 방법에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [인터넷 게이트웨이를 사용하여 인터넷에 연결](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)을 참조하세요.

1. **Auto-assign Public IP(퍼블릭 IP 자동 할당)**에서 **Enable(활성화)**을 선택합니다.

   EC2 인스턴스의 퍼블릭 및 프라이빗 IP 주소 지정에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EC2 인스턴스 IP 주소 지정](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)을 참조하세요.

1. **방화벽(보안 그룹)** 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

1. **스토리지 구성** 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

1. **고급 세부 정보** 섹션을 선택하고 **도메인 조인 디렉터리** 드롭다운 목록에서 도메인을 선택합니다.
**참고**  
도메인 조인 디렉터리를 선택하면 다음이 표시될 수 있습니다.  

![\[도메인 조인 디렉터리를 선택할 때 오류 메시지가 표시됩니다. 기존 SSM 문서에 오류가 있습니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

이 오류는 EC2 시작 마법사가 예기치 않은 속성이 있는 기존 SSM 문서를 식별하는 경우 발생합니다. 다음 중 하나를 수행할 수 있습니다.  
이전에 SSM 문서를 편집했는데 속성이 예상되는 경우 닫기를 선택하고 변경 없이 EC2 인스턴스를 시작합니다.
여기에서 기존 SSM 문서 삭제 링크를 선택하여 SSM 문서를 삭제합니다. 이렇게 하면 속성이 올바른 SSM 문서를 생성할 수 있습니다. EC2 인스턴스를 시작하면 SSM 문서가 자동으로 생성됩니다.

1. **IAM 인스턴스 프로파일**의 경우 기존 IAM 인스턴스 프로파일을 선택하거나 새 프로파일을 생성할 수 있습니다. IAM 인스턴스 프로파일 드롭다운 목록에서 AWS 관리형 정책 **AmazonSSMManagedInstanceCore** 및 **AmazonSSMDirectoryServiceAccess**가 연결된 **IAM 인스턴스 프로파일을** 선택합니다. 새 IAM 프로필을 생성하려면 **새 IAM 프로필 생성** 링크를 선택한 다음 다음을 수행합니다.

   1. **역할 생성**을 선택합니다.

   1. **Select trusted entity(신뢰할 수 있는 엔터티 선택)**에서 **AWS Service**를 선택합니다.

   1. **사용 사례**에서 **EC2**를 선택합니다.

   1.  **Add permissions(권한 추가)**의 정책 목록에서 **AmazonSSMManagedInstanceCore** 및 **AmazonSSMDirectoryServiceAccess** 정책을 선택합니다. 목록을 필터링하려면 검색 상자에 **SSM**을(를) 입력합니다. **다음**을 선택합니다.
**참고**  
**AmazonSSMDirectoryServiceAccess**는 Directory Service에 의해 관리되는 Active Directory에 인스턴스를 조인할 수 있는 권한을 제공합니다. **AmazonSSMManagedInstanceCore**는 AWS Systems Manager 서비스를 사용하는 데 필요한 최소 권한을 제공합니다. 이러한 권한으로 역할을 생성하는 방법과 IAM 역할에 할당할 수 있는 기타 권한 및 정책에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [Systems Manager용 IAM 인스턴스 프로파일 생성](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)을 참조하세요.

   1. **Name, review, and create(이름, 검토 및 생성)** 페이지에서 **Role name(역할 이름)**을 입력합니다. EC2 인스턴스에 연결하려면 이 역할 이름이 필요합니다.

   1. (선택 사항) **설명 필드**에 IAM 인스턴스 프로파일에 대한 설명을 입력할 수 있습니다.

   1. **역할 생성**을 선택합니다.

   1.  **인스턴스 시작** 페이지로 돌아가서 **IAM 인스턴스 프로파일** 옆에 있는 새로 고침 아이콘을 선택합니다. 새 IAM 인스턴스 프로파일은 **IAM 인스턴스 프로파일** 드롭다운 목록에 표시되어야 합니다. 새 프로파일을 선택하고 나머지 설정은 기본값으로 유지합니다.

1. **인스턴스 시작**을 선택합니다.

------
#### [ Manually join an EC2 Windows ]

기존 Amazon EC2 Windows 인스턴스를 Simple AD Active Directory에 수동으로 조인하려면 인스턴스를 [Amazon EC2 Windows 인스턴스를 Simple AD Active Directory에 조인](#simple_ad_launching_instance)에 명시된 바와 같이 파라미터를 사용하여 시작해야 합니다.

Simple AD DNS 서버의 IP 주소가 필요합니다. 이 정보는 **디렉터리 서비스** > **디렉터리** > 디렉터리의 **디렉터리 ID** 링크 > **디렉터리 세부 정보** 및 **네트워킹 및 보안** 섹션에서 찾을 수 있습니다.

![\[디렉터리 세부 정보 페이지의 Directory Service 콘솔에서 Directory Service 제공된 DNS 서버의 IP 주소가 강조 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/directory_details_highlighted.png)


**Windows 인스턴스를 Simple AD Active Directory에 조인하는 방법**

1. 원격 데스크톱 프로토콜 클라이언트를 사용해 인스턴스를 연결합니다.

1. 인스턴스에서 TCP/IPv4 속성 대화 상자를 엽니다.

   1. **네트워크 연결** 대화 상자를 엽니다.
**작은 정보**  
인스턴스의 명령 프롬프트에서 다음을 실행하여 **네트워크 연결** 대화 상자를 직접 열 수 있습니다.  

      ```
      %SystemRoot%\system32\control.exe ncpa.cpl
      ```

   1. 활성화된 네트워크 연결에 대한 컨텍스트 메뉴를 열고(마우스 오른쪽 버튼 클릭) [**Properties**]를 선택합니다.

   1. 연결 속성 대화 상자에서 **인터넷 프로토콜 버전 4**를 엽니다(더블 클릭).

1. **다음 DNS 서버 주소 사용**을 선택하고 **선호 DNS 서버** 및 **대체 DNS 서버** 주소를 에서 제공하는 DNS 서버의 IP 주소로 변경한 다음 **확인**을 선택합니다.  
![\[기본 DNS 서버와 대체 DNS 서버 필드가 강조 표시된 인터넷 프로토콜 버전 4(TCP/IPv4) 속성 대화 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/dns_server_addresses.png)

1. 인스턴스에 대한 [**System Properties**] 대화 상자를 열고 [**Computer Name**] 탭을 선택한 다음, [**Change**]를 선택합니다.
**작은 정보**  
인스턴스의 명령 프롬프트에서 다음을 실행하여 **시스템 속성** 대화 상자를 직접 열 수 있습니다.  

   ```
   %SystemRoot%\system32\control.exe sysdm.cpl
   ```

1. **멤버** 필드에서 **도메인**을 선택하고 디렉터리의 정규화된 이름을 입력한 후 **확인**을 선택합니다.

1. 도메인 관리자의 이름과 암호를 묻는 메시지가 표시되면 도메인 조인 권한을 가진 계정의 사용자 이름과 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 [Simple AD에 대한 디렉터리 조인 권한 위임](simple_ad_directory_join_privileges.md)을 참조하세요.
**참고**  
도메인의 정규화된 이름이나 NetBIOS 이름을 입력하고 백슬래시(\$1)를 붙이고 사용자 이름을 추가할 수 있습니다. 사용자 이름은 **Administrator**입니다. 예: **corp.example.com\$1administrator** 또는 **corp\$1administrator**.

1. 도메인에 온 것을 환영하는 메시지를 받은 후에 인스턴스를 재시작해야 변경 사항이 적용됩니다.

인스턴스가 Simple AD Active Directory 도메인에 조인이 되면, 이제 인스턴스에 원격으로 로그인하여 사용자 및 그룹 추가 같이 디렉터리를 관리하기 위한 유틸리티를 설치할 수 있습니다. Active Directory 관리 도구를 사용하여 사용자 및 그룹을 생성할 수 있습니다. 자세한 내용은 [Simple AD용 Active Directory 관리 도구 설치](simple_ad_install_ad_tools.md) 단원을 참조하십시오.

------

# Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 조인
<a name="simple_ad_linux_domain_join"></a>

 AWS Management Console에서 Amazon EC2 Linux 인스턴스를 시작하고 Simple AD에 조인할 수 있습니다. EC2 Linux 인스턴스를 Simple AD에 수동으로 조인할 수도 있습니다.

다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2(64비트 x86)
+ Red Hat Enterprise Linux 8(HVM)(64비트 x86)
+ Ubuntu Server 18.04 LTS 및 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**참고**  
Ubuntu 14 및 Red Hat Enterprise Linux 7 및 8 이전의 배포판은 원활한 도메인 조인 기능을 지원하지 않습니다.

**Topics**
+ [Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 원활하게 조인](simple_ad_seamlessly_join_linux_instance.md)
+ [Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 수동으로 조인](simple_ad_join_linux_instance.md)

# Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 원활하게 조인
<a name="simple_ad_seamlessly_join_linux_instance"></a>

이 절차는 Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 원활하게 조인합니다.

다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2(64비트 x86)
+ Red Hat Enterprise Linux 8(HVM)(64비트 x86)
+ Ubuntu Server 18.04 LTS 및 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**참고**  
Ubuntu 14 및 Red Hat Enterprise Linux 7 및 8 이전의 배포판은 원활한 도메인 조인 기능을 지원하지 않습니다.

## 사전 조건
<a name="simple_ad_seamless-linux-prereqs"></a>

Linux 인스턴스에 원활한 도메인 조인을 설정하려면 먼저 이 섹션의 절차를 완료해야 합니다.

### 원활한 도메인 가입 서비스 계정을 선택합니다
<a name="simple_ad_seamless-linux-prereqs-select"></a>

Linux 컴퓨터를 Simple AD 도메인에 원활하게 연결할 수 있습니다. 이렇게 하려면 컴퓨터 계정 만들기 권한이 있는 사용자 계정을 만들어 컴퓨터를 도메인에 조인해야 합니다. *Domain Admins* 또는 다른 그룹의 구성원이 컴퓨터를 도메인에 조인할 수 있는 충분한 권한을 가지고 있더라도 이 방법은 권장되지 않습니다. 컴퓨터를 도메인에 조인하는 데 필요한 최소 권한이 있는 서비스 계정을 사용하는 것이 가장 좋습니다.

컴퓨터 계정 생성을 위한 권한을 처리하고 서비스 계정에 권한을 위임하는 방법에 대한 자세한 내용은 [서비스 계정에 권한 위임](ad_connector_getting_started.md#connect_delegate_privileges)을 참조하세요.

### 도메인 서비스 계정을 저장할 보안 암호 생성
<a name="-create-secrets"></a>

 AWS Secrets Manager 를 사용하여 도메인 서비스 계정을 저장할 수 있습니다. 자세한 내용은 [AWS Secrets Manager 보안 암호 생성을 참조하세요](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html).

**참고**  
Secrets Manager와 관련된 요금이 있습니다. 자세한 정보는 *AWS Secrets Manager 사용 설명서*의 [요금](https://docs.aws.amazon.com//secretsmanager/latest/userguide/intro.html#asm_pricing)을 참조하세요.

**보안 암호를 만들고 도메인 서비스 계정 정보를 저장하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/) AWS Secrets Manager 콘솔을 엽니다.

1. **새 보안 암호 저장(Store a new secret)**을 선택합니다.

1. **새 보안 암호 저장(Store a new secret)** 페이지에서 다음을 수행합니다.

   1. **암호 유형**에서 **다른 암호 유형**을 선택합니다.

   1. **키/값 페어**에서 다음을 수행합니다.

      1. 첫 번째 상자에 **awsSeamlessDomainUsername**를 입력합니다. 같은 행의 다음 상자에 서비스 계정의 사용자 이름을 입력합니다. 예를 들어 이전에 PowerShell 명령을 사용한 경우 서비스 계정 이름은 **awsSeamlessDomain**입니다.
**참고**  
있는 그대로 **awsSeamlessDomainUsername**을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.  
![\[AWS Secrets Manager 콘솔의 보안 암호 유형 선택 페이지에서 다른 유형의 보안 암호는 보안 암호 유형에서 선택되고 awsSeamlessDomainUsername이 키 값으로 입력됩니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/secrets_manager_1.png)

      1. **Add row(행 추가)**를 선택합니다.

      1. 새 행의 첫 번째 상자에 **awsSeamlessDomainPassword**를 입력합니다. 같은 행의 다음 상자에 서비스 계정의 암호를 입력합니다.
**참고**  
있는 그대로 **awsSeamlessDomainPassword**을 입력해야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 조인에 실패합니다.

      1. **암호화 키**에서 기본값 `aws/secretsmanager`를 그대로 둡니다. AWS Secrets Manager 는 이 옵션을 선택할 때 항상 보안 암호를 암호화합니다. 사용자가 생성한 키를 선택할 수도 있습니다.

      1. **다음**을 선택합니다.

1. **보안 암호 이름** 아래에 다음 형식을 사용하여 디렉터리 ID가 포함된 보안 암호 이름을 입력하고 *d-xxxxxxxx*를 디렉토리 ID로 대체하세요.

   ```
   aws/directory-services/d-xxxxxxxxx/seamless-domain-join
   ```

   이는 애플리케이션에서 보안 암호를 검색하는 데 사용됩니다.
**참고**  
있는 그대로 **aws/directory-services/*d-xxxxxxxxx*/seamless-domain-join**를 입력해야 하지만, *d-xxxxxxxxxxxxx*를 디렉터리 ID로 바꿔야 합니다. 선행 공백이나 끝 공백이 없어야 합니다. 그렇지 않으면 도메인 가입에 실패합니다.  
![\[AWS Secrets Manager 콘솔의 보안 암호 구성 페이지에 있습니다. 보안 암호 이름이 입력되고 강조 표시됩니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/secrets_manager_2.png)

1. 다른 모든 항목은 기본값으로 설정한 후 **Next(다음)**를 선택합니다.

1. **Configure automatic rotation(자동 교체 구성)**을 **Disable automatic rotation(자동 교체 사용 안 함)**으로 선택하고 **Next(다음)**를 선택합니다.

   이 보안 암호를 저장한 후 교체를 켤 수 있습니다.

1. 설정을 검토한 다음 **Store(저장)**를 선택하여 변경 내용을 저장합니다. 이제 Secrets Manager 콘솔에서 새 보안 암호가 목록에 포함된 계정의 보안 암호 목록으로 돌아갑니다.

1. 목록에서 새로 생성한 보안 암호 이름을 선택하고 **보안 암호 ARN** 값을 기록해 둡니다. 다음 단원에서 이 값을 사용하게 됩니다.

### 도메인 서비스 계정 보안 암호의 교체 켜기
<a name="seamless-linux-prereqs-turn-on-rotation"></a>

보안 태세를 개선하기 위해 보안 암호를 정기적으로 교체하는 것이 좋습니다.

**도메인 서비스 계정 보안 암호의 교체를 켜기**
+ *AWS Secrets Manager 사용 설명서*의 [AWS Secrets Manager 보안 암호에 대한 자동 교체 설정](https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_turn-on-for-other.html)의 지침을 따릅니다.

  5단계의 경우 *AWS Secrets Manager 사용 설명서*의 교체 템플릿 [Microsoft Active Directory 보안 인증](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-rotation-templates.html#template-AD-password) 정보를 사용합니다.

  도움이 필요하면 *AWS Secrets Manager 사용 설명서*의 [AWS Secrets Manager 교체 문제 해결을](https://docs.aws.amazon.com/secretsmanager/latest/userguide/troubleshoot_rotation.html) 참조하세요.

### 필요한 IAM policy 정책 및 역할 생성
<a name="seamless-linux-prereqs-create-policy"></a>

다음 사전 요구 사항 단계를 사용하여 Secrets Manager 원활한 도메인 조인 보안 암호(이전에 생성함)에 대한 읽기 전용 액세스를 허용하는 사용자 지정 정책을 생성하고 새 LinuxEC2DomainJoin IAM 역할을 생성합니다.

#### Secrets Manager IAM 읽기 정책 생성
<a name="seamless-linux-prereqs-create-policy-step1"></a>

IAM 콘솔을 사용하여 Secrets Manager 보안 암호에 대한 읽기 전용 액세스 권한을 부여하는 정책을 생성합니다.

**Secrets Manager IAM 읽기 정책을 생성하려면**

1. IAM 정책을 생성할 권한이 있는 사용자 AWS Management Console 로에 로그인합니다. 그런 다음 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창의 **액세스 관리**에서 **정책**을 선택합니다.

1. **정책 생성**을 선택합니다.

1. **JSON** 탭을 선택하고 다음 JSON 정책 문서에서 텍스트를 복사합니다. 그런 다음 **JSON** 텍스트 상자에 붙여 넣습니다.
**참고**  
지역 및 리소스 ARN을 앞서 생성한 보안 암호의 실제 지역 및 ARN으로 교체해야 합니다.

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "secretsmanager:GetSecretValue",
                   "secretsmanager:DescribeSecret"
               ],
               "Resource": [
                   "arn:aws:secretsmanager:us-east-1:xxxxxxxxx:secret:aws/directory-services/d-xxxxxxxxx/seamless-domain-join"
               ]
           }
       ]
   }
   ```

1. 마쳤으면 [**Next**]를 선택합니다. 정책 검사기가 모든 구문 오류를 보고합니다. IAM 검증 정책에 대한 자세한 내용은 [Validating IAM policies](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_policy-validator.html)를 참조하세요.

1. **Review policy(정책 검토)** 페이지에서 **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read**와 같은 정책의 이름을 입력합니다. **Summary(요약)**을 검토하여 정책이 부여하는 권한을 확인합니다. 그런 다음 **Create policy(정책 생성)**를 선택하여 변경 내용을 저장합니다. 새로운 정책이 관리형 정책 목록에 나타나며 ID 연결 준비가 완료됩니다.

**참고**  
보안 암호당 정책을 하나씩 생성하는 것이 좋습니다. 이렇게 하면 인스턴스가 적절한 보안 암호에만 액세스할 수 있고 인스턴스가 손상될 경우 미치는 영향이 최소화됩니다.

#### LinuxEC2DomainJoin 역할 생성
<a name="seamless-linux-prereqs-create-policy-step2"></a>

IAM 콘솔을 사용하여 Linux EC2 인스턴스를 도메인에 조인하는 데 사용할 역할을 생성합니다.

**LinuxEC2DomainJoin 역할을 생성하려면**

1. IAM 정책을 생성할 권한이 있는 사용자 AWS Management Console 로에 로그인합니다. 그런 다음 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 IAM 콘솔을 엽니다.

1. 탐색 창의 **액세스 관리**에서 **역할**을 선택합니다.

1. 콘텐츠 창에서 **Create role(역할 생성)**을 선택합니다.

1. **신뢰할 수 있는 엔티티 유형 선택** 아래에서 **AWS 서비스**를 선택합니다.

1. **사용 사례**에서 **EC2**를 선택한 후 **다음**을 선택합니다.  
![\[IAM 콘솔의 신뢰할 수 있는 엔터티 선택 page. AWS service 및 EC2가 선택됩니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/iam-console-trusted-entity.png)

1. **Filter policies(필터 정책)**의 경우 다음을 수행합니다.

   1. **AmazonSSMManagedInstanceCore**을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

   1. **AmazonSSMDirectoryServiceAccess**을 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

   1. **SM-Secret-Linux-DJ-*d-xxxxxxxxxx*-Read**(또는 이전 절차에서 생성한 IAM 정책의 이름)을(를) 입력합니다. 그런 다음 목록에서 해당 항목의 확인란을 선택합니다.

   1. 위에 나열된 세 가지 정책을 추가한 후 **역할 생성**을 선택합니다.
**참고**  
AmazonSSMDirectoryServiceAccess는 Directory Service에서 관리하는 Active Directory에 인스턴스를 조인할 권한을 제공합니다. AmazonSSMManagedInstanceCore는 AWS Systems Manager 서비스를 사용하는 데 필요한 최소 권한을 제공합니다. 이러한 권한으로 역할을 생성하는 방법과 IAM 역할에 할당할 수 있는 기타 권한 및 정책에 관한 정보에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [Systems Manager용 IAM 인스턴스 프로파일 생성](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-instance-profile.html)을 참조하세요.

1. **역할 이름** 필드에 새 역할의 이름(예: **LinuxEC2DomainJoin** 또는 자신이 선호하는 다른 이름)을 입력합니다.

1. (선택 사항)**역할 설명**에 설명을 입력합니다.

1. (선택 사항) **3단계: 태그 추가**에서 **새 태그 추가**를 선택하여 태그를 추가합니다. 태그 키-값 페어는 이 역할에 대한 액세스를 구성, 추적 또는 제어하는 데 사용됩니다.

1. **역할 생성**을 선택합니다.

## Simple AD Active Directory에 Linux 인스턴스 원활하게 조인
<a name="simple_ad_seamless-linux-join-instance"></a>

**Linux 인스턴스를 원활하게 조인**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) Amazon EC2 콘솔을 엽니다.

1. 탐색 모음의 리전 선택기에서 기존 디렉터리 AWS 리전 와 동일한를 선택합니다.

1. **EC2 대시보드**의 **시작 인스턴스** 섹션에서 **인스턴스 시작**을 선택합니다.

1. **인스턴스 시작** 페이지의 **이름 및 태그** 섹션에서 Linux EC2 인스턴스에 사용할 이름을 입력합니다.

1.  *(선택 사항)* **추가 태그 추가**에서 이 EC2 인스턴스에 대한 액세스를 구성, 추적, 제어할 태그-키 값 페어를 하나 이상 추가합니다.

1. **애플리케이션 및 OS 이미지(Amazon Machine Image)** 섹션에서 시작하려는 Linux AMI를 선택합니다.
**참고**  
사용되는 AMI에는 AWS Systems Manager (SSM 에이전트) 버전 2.3.1644.0 이상이 있어야 합니다. AMI에서 인스턴스를 시작하여 AMI에 설치된 SSM 에이전트 버전을 확인하려면 [현재 설치된 SSM 에이전트 버전 가져오기](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent-get-version.html)를 참조하세요. SSM 에이전트를 업그레이드해야 하는 경우 [Linux용 EC2 인스턴스에 SSM 에이전트 설치 및 구성](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-install-ssm-agent.html)을 참조하세요.  
SSM은 Linux 인스턴스를 Active Directory 도메인에 조인할 때 `aws:domainJoin` 플러그인을 사용합니다. 플러그인은 Linux 인스턴스의 호스트 이름을 EC2AMAZ-*XXXXXXX* 형식으로 변경합니다. `aws:domainJoin`에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서* 및 [AWS Systems Manager 명령 문서 플러그인 참조](https://docs.aws.amazon.com//systems-manager/latest/userguide/documents-command-ssm-plugin-reference.html#aws-domainJoin)를 참조하세요.

1. **인스턴스 유형** 섹션의 **인스턴스 유형** 드롭다운 목록에서 사용하려는 인스턴스 유형을 선택합니다.

1. **키 페어(로그인)** 섹션에서 새 키 페어 생성을 선택하거나 기존 키 페어에서 선택할 수 있습니다. 새로운 키 페어를 생성하려면 **새 키 페어 생성**을 선택합니다. 키 페어의 이름을 입력하고 **키 페어 유형** 및 **프라이빗 키 파일 형식**에 대한 옵션을 선택합니다. OpenSSH에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 **.pem**을 선택합니다. PuTTY에서 사용할 수 있는 형식으로 프라이빗 키를 저장하려면 **.ppk**를 선택합니다. **Create key pair(키 페어 생성)**를 선택합니다. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.
**중요**  
이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다.

1. **인스턴스 시작** 페이지의 **네트워크 설정** 섹션에서 **편집**을 선택합니다. **VPC -* 필수*** 드롭다운 목록에서 디렉터리가 생성된 **VPC**를 선택합니다.

1. **서브넷** 드롭다운 목록에서 VPC의 퍼블릭 서브넷 중 하나를 선택합니다. 선택한 서브넷에서는 인터넷 게이트웨이로 모든 외부 트래픽이 라우팅되어야 합니다. 그렇지 않으면 인스턴스를 원격으로 연결할 수 없게 됩니다.

   인터넷 게이트웨이에 연결하는 방법에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [인터넷 게이트웨이를 사용하여 인터넷에 연결](https://docs.aws.amazon.com//vpc/latest/userguide/VPC_Internet_Gateway.html)을 참조하세요.

1. **Auto-assign Public IP(퍼블릭 IP 자동 할당)**에서 **Enable(활성화)**을 선택합니다.

   EC2 인스턴스의 퍼블릭 및 프라이빗 IP 주소 지정에 대한 자세한 내용은 *Amazon EC2 사용 설명서*의 [Amazon EC2 인스턴스 IP 주소 지정](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-instance-addressing.html)을 참조하세요.

1. **방화벽(보안 그룹)** 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

1. **스토리지 구성** 설정의 경우 기본 설정을 사용하거나 필요에 맞게 변경할 수 있습니다.

1. **고급 세부 정보** 섹션을 선택하고 **도메인 조인 디렉터리** 드롭다운 목록에서 도메인을 선택합니다.
**참고**  
도메인 조인 디렉터리를 선택하면 다음이 표시될 수 있습니다.  

![\[도메인 조인 디렉터리를 선택할 때 오류 메시지가 표시됩니다. 기존 SSM 문서에 오류가 있습니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/SSM-Error-Message.png)

이 오류는 EC2 시작 마법사가 예기치 않은 속성이 있는 기존 SSM 문서를 식별하는 경우 발생합니다. 다음 중 하나를 수행할 수 있습니다.  
이전에 SSM 문서를 편집했는데 속성이 예상되는 경우 닫기를 선택하고 변경 없이 EC2 인스턴스를 시작합니다.
여기에서 기존 SSM 문서 삭제 링크를 선택하여 SSM 문서를 삭제합니다. 이렇게 하면 속성이 올바른 SSM 문서를 생성할 수 있습니다. EC2 인스턴스를 시작하면 SSM 문서가 자동으로 생성됩니다.

1. **IAM 인스턴스 프로파일**의 경우 사전 요구 사항 섹션 **2단계: LinuxEC2DomainJoin 역할 생성**에서 이전에 생성한 IAM 역할을 선택합니다.

1. **인스턴스 시작**을 선택합니다.

**참고**  
SUSE Linux로 원활한 도메인 조인을 수행하는 경우 인증이 작동하려면 재부팅해야 합니다. **Linux 터미널에서 SUSE를 재부팅하려면 sudo reboot**를 입력합니다.

# Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 수동으로 조인
<a name="simple_ad_join_linux_instance"></a>

Amazon EC2 Windows 인스턴스 외에도 Simple AD Active Directory에 특정 Amazon EC2 Linux 인스턴스를 조인할 수 있습니다. 다음과 같은 Linux 인스턴스 배포판과 버전이 지원됩니다.
+ Amazon Linux AMI 2018.03.0
+ Amazon Linux 2(64비트 x86)
+ Amazon Linux 2023 AMI
+ Red Hat Enterprise Linux 8(HVM)(64비트 x86)
+ Ubuntu Server 18.04 LTS 및 Ubuntu Server 16.04 LTS
+ CentOS 7 x86-64
+ SUSE Linux Enterprise Server 15 SP1

**참고**  
기타 Linux 배포판 및 버전은 작동이 가능할 수도 있지만, 테스트는 거치지 않았습니다.

## 사전 조건
<a name="simple_ad_join_linux_prereq"></a>

디렉터리에 Amazon Linux 혹은 CentOS, Red Hat, Ubuntu 인스턴스를 조인하려면 [Amazon EC2 Linux 인스턴스를 Simple AD Active Directory에 원활하게 조인](simple_ad_seamlessly_join_linux_instance.md)에 지정된 대로 인스턴스를 먼저 시작해야 합니다.

**중요**  
아래의 일부 절차들로 인해(올바르게 수행되지 않은 경우) 인스턴스 접속이나 사용이 불가능해질 수 있습니다. 따라서 이러한 절차를 수행하기 전에 인스턴스에 대한 백업을 생성하거나 스냅샷을 만드는 것이 좋습니다.

**디렉터리에 Linux 인스턴스 조인**  
다음 탭 중 하나를 이용해 특정 Linux 인스턴스의 단계를 수행합니다.

------
#### [ Amazon Linux ]<a name="amazonlinux"></a>

1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

1.  Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동 설정을 원할 경우에는 AWS 지식 센터의 [프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)에서 특정 Linux 배포판 및 버전에서 지속적인 DNS 서버를 설정하는 방법에 대한 지침을 참조하세요.

1. Amazon Linux - 64비트 인스턴스가 업데이트되었는지 확인합니다.

   ```
   sudo yum -y update
   ```

1. Linux 인스턴스에 필요한 Amazon Linux 패키지를 설치합니다.
**참고**  
이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.  
패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.  
Amazon Linux  

   ```
   sudo yum install samba-common-tools realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
   ```
**참고**  
사용 중인 Amazon Linux 버전을 확인하는 데 도움이 필요하면 *Linux 인스턴스용 Amazon EC2 사용 설명서*에서 [Amazon Linux 이미지 식별](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/amazon-linux-ami-basics.html#amazon-linux-image-id)을 참조하세요.

1. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

   ```
   sudo realm join -U join_account@EXAMPLE.COM example.com --verbose
   ```  
*join\$1account@EXAMPLE.COM*  
도메인 조인 권한을 가진 *example.com* 도메인의 계정입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 [AWS 관리형 Microsoft AD에 대한 디렉터리 조인 권한 위임](directory_join_privileges.md)을 참조하세요.  
*example.com*  
디렉터리의 정규화된 DNS 이름.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

   1. 텍스트 편집기에서 `/etc/ssh/sshd_config` 파일을 엽니다.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. `PasswordAuthentication` 설정값을 `yes`로 설정합니다.

      ```
      PasswordAuthentication yes
      ```

   1. SSH 서비스를 다시 시작합니다.

      ```
      sudo systemctl restart sshd.service
      ```

      대안:

      ```
      sudo service sshd restart
      ```

1. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

   1. 다음 명령을 통해 `sudoers` 파일을 엽니다.

      ```
      sudo visudo
      ```

   1. `sudoers` 파일 끝부분에 다음을 추가하고 저장합니다.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\$1<space>"를 사용합니다.

------
#### [ CentOS ]<a name="centos"></a>

1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

1.  Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동 설정을 원할 경우에는 AWS 지식 센터의 [프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)에서 특정 Linux 배포판 및 버전에서 지속적인 DNS 서버를 설정하는 방법에 대한 지침을 참조하세요.

1. CentOS 7 인스턴스가 업데이트되었는지 확인합니다.

   ```
   sudo yum -y update
   ```

1. Linux 인스턴스에 필요한 CentOS 7 패키지를 설치합니다.
**참고**  
이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.  
패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

   ```
   sudo realm join -U join_account@example.com example.com --verbose
   ```  
*join\$1account@example.com*  
도메인 조인 권한을 가진 *example.com* 도메인의 계정입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 [AWS 관리형 Microsoft AD에 대한 디렉터리 조인 권한 위임](directory_join_privileges.md)을 참조하세요.  
*example.com*  
디렉터리의 정규화된 DNS 이름.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

   1. 텍스트 편집기에서 `/etc/ssh/sshd_config` 파일을 엽니다.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. `PasswordAuthentication` 설정값을 `yes`로 설정합니다.

      ```
      PasswordAuthentication yes
      ```

   1. SSH 서비스를 다시 시작합니다.

      ```
      sudo systemctl restart sshd.service
      ```

      대안:

      ```
      sudo service sshd restart
      ```

1. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

   1. 다음 명령을 통해 `sudoers` 파일을 엽니다.

      ```
      sudo visudo
      ```

   1. `sudoers` 파일 끝부분에 다음을 추가하고 저장합니다.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\$1<space>"를 사용합니다.

------
#### [ Red hat ]<a name="redhat"></a>

1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

1.  Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동 설정을 원할 경우에는 AWS 지식 센터의 [프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)에서 특정 Linux 배포판 및 버전에서 지속적인 DNS 서버를 설정하는 방법에 대한 지침을 참조하세요.

1. Red Hat - 64비트 인스턴스가 업데이트되었는지 확인합니다.

   ```
   sudo yum -y update
   ```

1. Linux 인스턴스에 필요한 Red Hat 패키지를 설치합니다.
**참고**  
이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.  
패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

   ```
   sudo yum -y install sssd realmd krb5-workstation samba-common-tools
   ```

1. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

   ```
   sudo realm join -v -U join_account example.com --install=/
   ```  
*join\$1account*  
도메인 조인 권한을 가진 *example.com* 도메인의 계정용 **sAMAccountName**입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 [AWS 관리형 Microsoft AD에 대한 디렉터리 조인 권한 위임](directory_join_privileges.md)을 참조하세요.  
*example.com*  
디렉터리의 정규화된 DNS 이름.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

   1. 텍스트 편집기에서 `/etc/ssh/sshd_config` 파일을 엽니다.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. `PasswordAuthentication` 설정값을 `yes`로 설정합니다.

      ```
      PasswordAuthentication yes
      ```

   1. SSH 서비스를 다시 시작합니다.

      ```
      sudo systemctl restart sshd.service
      ```

      대안:

      ```
      sudo service sshd restart
      ```

1. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

   1. 다음 명령을 통해 `sudoers` 파일을 엽니다.

      ```
      sudo visudo
      ```

   1. `sudoers` 파일 끝부분에 다음을 추가하고 저장합니다.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\$1<space>"를 사용합니다.

------
#### [ Ubuntu ]<a name="ubuntu"></a>

1. SSH 클라이언트를 사용하여 인스턴스에 연결합니다.

1.  Directory Service제공된 DNS 서버의 DNS 서버 IP 주소를 사용하도록 Linux 인스턴스를 구성합니다. VPC에 연결된 DHCP 옵션 세트에서 이를 설정하거나 인스턴스에서 이를 수동으로 설정하는 방법으로 이러한 구성이 가능합니다. 수동 설정을 원할 경우에는 AWS 지식 센터의 [프라이빗 Amazon EC2 인스턴스에 정적 DNS 서버를 할당하는 방법](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-static-dns-ubuntu-debian/)에서 특정 Linux 배포판 및 버전에서 지속적인 DNS 서버를 설정하는 방법에 대한 지침을 참조하세요.

1. Ubuntu - 64비트 인스턴스가 업데이트되었는지 확인합니다.

   ```
   sudo apt-get update
   sudo apt-get -y upgrade
   ```

1. Linux 인스턴스에 필요한 Ubuntu 패키지를 설치합니다.
**참고**  
이러한 패키지 중 몇 개는 이미 설치가 되어 있을 수 있습니다.  
패키지를 설치할 때 몇 가지 팝업 구성 화면이 나타날 수 있습니다. 보통은 이러한 화면의 필드들을 공백 상태로 남겨둡니다.

   ```
   sudo apt-get -y install sssd realmd krb5-user samba-common packagekit adcli
   ```

1. 역방향 DNS 확인을 비활성화하고 기본 영역을 도메인의 FQDN으로 설정합니다. 영역이 작동하려면 Ubuntu 인스턴스가 DNS에서 역 확인이 가능**해야 합니다**. 그렇지 않을 경우 다음과 같이 /etc/krb5.conf에서 역 DNS를 비활성해야 합니다.

   ```
   sudo vi /etc/krb5.conf
   ```

   ```
   [libdefaults]
   default_realm = EXAMPLE.COM
   rdns = false
   ```

1. 다음 명령을 통해 디렉터리에 인스턴스를 조인합니다.

   ```
   sudo realm join -U join_account example.com --verbose
   ```  
*join\$1account@example.com*  
도메인 조인 권한을 가진 *example.com* 도메인의 계정용 **sAMAccountName**입니다. 메시지가 나타나면 계정에 대한 암호를 입력합니다. 이러한 권한의 위임에 대한 자세한 정보는 [AWS 관리형 Microsoft AD에 대한 디렉터리 조인 권한 위임](directory_join_privileges.md)을 참조하세요.  
*example.com*  
디렉터리의 정규화된 DNS 이름.

   ```
   ...
    * Successfully enrolled machine in realm
   ```

1. 암호 인증을 허용하도록 SSH 서비스를 설정합니다.

   1. 텍스트 편집기에서 `/etc/ssh/sshd_config` 파일을 엽니다.

      ```
      sudo vi /etc/ssh/sshd_config
      ```

   1. `PasswordAuthentication` 설정값을 `yes`로 설정합니다.

      ```
      PasswordAuthentication yes
      ```

   1. SSH 서비스를 다시 시작합니다.

      ```
      sudo systemctl restart sshd.service
      ```

      대안:

      ```
      sudo service sshd restart
      ```

1. 인스턴스가 재시작되고 나면 다음 단계를 수행하여 SSH 클라이언트에 이를 연결하고 sudoers 목록에 도메인 관리자 그룹을 추가합니다.

   1. 다음 명령을 통해 `sudoers` 파일을 엽니다.

      ```
      sudo visudo
      ```

   1. `sudoers` 파일 끝부분에 다음을 추가하고 저장합니다.

      ```
      ## Add the "Domain Admins" group from the example.com domain.
      %Domain\ Admins@example.com ALL=(ALL:ALL) ALL
      ```

      위 예제에서는 Linux 공백 문자를 생성하기 위해 "\$1<space>"를 사용합니다.

------

**참고**  
Simple AD를 사용할 때 "사용자가 첫 번째 로그인 시 암호를 변경하도록 강제" 옵션을 통해 Linux 인스턴스에서 사용자 계정을 생성한 경우, 해당 사용자는 처음에는 **kpasswd**를 사용해 암호를 변경할 수 없습니다. 처음으로 암호를 변경하려면 도메인 관리자가 Microsoft Active Directory 관리 도구를 사용해 사용자 암호를 업데이트해야 합니다.

## Linux 인스턴스에서 계정 관리
<a name="simple_ad_manage_accounts"></a>

Linux 인스턴스의 Simple AD 계정을 관리하려면 Linux 인스턴스의 특정 구성 파일을 다음과 같이 업데이트해야 합니다.

1. **/etc/sssd/sssd.conf** 파일에서 **krb5\$1use\$1kdcinfo**를 **False**로 설정합니다. 예제:

   ```
   [domain/example.com]
       krb5_use_kdcinfo = False
   ```

1. 이 구성이 활성화되려면 sssd 서비스를 재시작해야 합니다.

   ```
   $ sudo systemctl restart sssd.service
   ```

   또는 다음 작업을 사용할 수 있습니다.

   ```
   $ sudo service sssd start
   ```

1. 또한 CentOS Linux 인스턴스에서 사용자를 관리하려면 다음이 포함되도록 **/etc/smb.conf**를 편집해야 합니다.

   ```
   [global] 
     workgroup = EXAMPLE.COM
     realm = EXAMPLE.COM 
     netbios name = EXAMPLE
     security = ads
   ```

## 계정 로그인 액세스 제한
<a name="simple_ad_linux_filter"></a>

모든 계정을 Active Directory에 정의하면 기본으로 디렉토리의 모든 사용자는 인스턴스에 로그인할 수 있습니다. 특정 사용자만 **sssd.conf**의 **ad\$1access\$1filter**으로 인스턴스에 로그인할 수 있습니다. 예제:

```
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

*memberOf*  
특정 그룹의 멤버인 사용자는 반드시 인스턴스에 액세스할 수 있어야 한다는 뜻입니다.

*cn*  
액세스해야 하는 그룹의 일반 이름입니다. 이 예제에서 그룹 이름은 *admins*입니다.

*ou*  
위의 그룹이 위치해 있는 조직 단위(OU)입니다. 이 예제에서 OU는 *Testou*입니다.

*dc*  
도메인의 도메인 구성 요소입니다. 이 예제에서는 *example*입니다.

*dc*  
추가적인 도메인 구성 요소입니다. 이 예제에서는 *com*입니다.

현재 사용자는 **ad\$1access\$1filter**를 **/etc/sssd/sssd.conf**에 수동으로 추가해야 합니다.

텍스트 편집기에서 **/etc/sssd/sssd.conf** 파일을 엽니다.

```
sudo vi /etc/sssd/sssd.conf
```

추가를 하고 나면 **sssd.conf**가 다음과 같이 보일 수 있습니다.

```
[sssd]
domains = example.com
config_file_version = 2
services = nss, pam

[domain/example.com]
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
ad_access_filter = (memberOf=cn=admins,ou=Testou,dc=example,dc=com)
```

이 구성이 활성화되려면 sssd 서비스를 재시작해야 합니다.

```
sudo systemctl restart sssd.service
```

또는 다음 작업을 사용할 수 있습니다.

```
sudo service sssd restart
```

## ID 매핑
<a name="simple-ad-id-mapping"></a>

ID 매핑은 UNIX/Linux 사용자 식별자(UID)와 그룹 식별자(GID) 및 Windows 및 Active Directory 보안 식별자(SID) 자격 증명 간의 통합 환경을 유지하기 위해 두 가지 방법으로 수행할 수 있습니다. 이러한 방법은 다음과 같습니다.

1. 중앙화

1. Distributed

**참고**  
Active Directory의 중앙 집중식 사용자 자격 증명 매핑에는 휴대용 운영 체제 인터페이스, 즉 POSIX가 필요합니다.

**중앙 집중식 사용자 자격 증명 매핑**  
Active Directory 또는 다른 LDAP(Lightweight Directory Access Protocol) 서비스는 Linux 사용자에게 UID 및 GID를 제공합니다. Active Directory에서 POSIX 확장이 구성된 경우 이러한 식별자는 사용자의 속성에 저장됩니다.
+ UID - Linux 사용자 이름(문자열)
+ UID 번호 - Linux 사용자 ID 번호(정수)
+ GID 번호 - Linux 그룹 ID 번호(정수)

Active Directory에서 UID 및 GID를 사용하도록 Linux 인스턴스를 구성하려면 sssd.conf 파일에 `ldap_id_mapping = False`를 설정합니다. 이 값을 설정하기 전에 Active Directory의 사용자 및 그룹에 UID, UID 번호 및 GID 번호를 추가했는지 확인합니다.

**분산 사용자 자격 증명 매핑**  
Active Directory에 POSIX 확장이 없거나 자격 증명 매핑을 중앙에서 관리하지 않기로 선택한 경우 Linux는 UID 및 GID 값을 계산할 수 있습니다. Linux는 사용자의 고유한 보안 식별자(SID)를 사용하여 일관성을 유지합니다.

분산 사용자 ID 매핑을 구성하려면 sssd.conf 파일에 `ldap_id_mapping = True`를 설정합니다.

**일반적인 문제**  
`ldap_id_mapping = False`를 설정하면 SSSD 서비스를 시작하는 데 실패하는 경우가 있습니다. 이 실패의 원인은 UID 변경이 지원되지 않기 때문입니다. ID 매핑에서 POSIX 속성으로 변경하거나, POSIX 속성에서 ID 매핑으로 변경할 때마다 SSSD 캐시를 삭제하는 것이 좋습니다. ID 매핑 및 ldap\$1id\$1mapping 파라미터에 대한 자세한 내용은 Linux 명령줄의 sssd-ldap(8) 매뉴얼 페이지를 참조하세요.

## Linux 인스턴스에 연결
<a name="simple_ad_linux_connect"></a>

SSH 클라이언트를 사용하여 인스턴스 연결을 하면 사용자 이름을 입력하라는 메시지가 나타납니다. 사용자는 `username@example.com` 또는 `EXAMPLE\username` 형식으로 사용자 이름을 입력할 수 있습니다. 응답은 사용 중인 Linux 배포판에 따라 다음과 같이 나타납니다.

**Amazon Linux, Red Hat Enterprise Linux, CentOS Linux**

```
login as: johndoe@example.com
johndoe@example.com's password:
Last login: Thu Jun 25 16:26:28 2015 from XX.XX.XX.XX
```

**SUSE Linux**

```
SUSE Linux Enterprise Server 15 SP1 x86_64 (64-bit)

As "root" (sudo or sudo -i) use the:
  - zypper command for package management
  - yast command for configuration management

Management and Config: https://www.suse.com/suse-in-the-cloud-basics
Documentation: https://www.suse.com/documentation/sles-15/
Forum: https://forums.suse.com/forumdisplay.php?93-SUSE-Public-Cloud

Have a lot of fun...
```

**Ubuntu Linux**

```
login as: admin@example.com
admin@example.com@10.24.34.0's password:
Welcome to Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-1057-aws x86_64)

* Documentation:  https://help.ubuntu.com
* Management:     https://landscape.canonical.com
* Support:        https://ubuntu.com/advantage

  System information as of Sat Apr 18 22:03:35 UTC 2020

  System load:  0.01              Processes:           102
  Usage of /:   18.6% of 7.69GB   Users logged in:     2
  Memory usage: 16%               IP address for eth0: 10.24.34.1
  Swap usage:   0%
```

# Simple AD에 대한 디렉터리 조인 권한 위임
<a name="simple_ad_directory_join_privileges"></a>

컴퓨터를 디렉터리에 조인하려면 해당 권한을 가진 계정이 필요합니다.

Simple AD에서는 **Domain Admins** 그룹의 멤버가 컴퓨터를 디렉터리에 조인할 충분한 권한을 가집니다.

그러나 가장 좋은 방법은 필요한 최소 권한만을 가진 계정을 사용하는 것입니다. 다음 절차에서는 `Joiners`라는 새 그룹을 생성하고 이 그룹에 컴퓨터를 디렉터리에 조인하는 데 필요한 권한을 위임하는 방법을 보여줍니다.

이 절차는 디렉터리에 조인된 컴퓨터상에서 수행해야 하며, **Active Directory User and Computers** MMC 스냅인이 설치되어 있어야 합니다. 또한 도메인 관리자로 로그인해야 합니다.

**Simple AD에 대한 조인 권한을 위임하려면**

1. [**Active Directory User and Computers**]를 열고 탐색 트리에서 도메인 루트를 선택합니다.

1. 왼쪽 탐색 창에서 [**Users**]에 대한 컨텍스트 메뉴를 열고 (마우스 오른쪽 버튼 클릭) [**New**]를 선택한 다음, [**Group**]을 선택합니다.

1. [**New Object - Group**] 상자에서 다음을 입력하고 [**OK**]를 선택합니다.
   + **그룹 이름**에 **Joiners**를 입력합니다.
   + [**Group scope**]에서 [**Global**]을 선택합니다.
   + **그룹 유형**에서 **보안**을 선택합니다.

1. 탐색 트리에서 도메인 루트를 선택합니다. [**Action**] 메뉴에서 [**Delegate Control**]을 선택합니다.

1. [**Delegation of Control Wizard**] 페이지에서 **Next**를 선택한 후 [**Add**]를 선택합니다.

1. [**Select Users, Computers, or Groups**] 상자에 `Joiners`를 입력하고 [**OK**]를 선택합니다. 객체가 여러 개 있는 경우 위에서 생성한 `Joiners` 그룹을 선택합니다. **다음**을 선택합니다.

1. [**Tasks to Delegate**] 페이지에서 [**Create a custom task to delegate**]를 선택한 후 [**Next**]를 선택합니다.

1. [**Only the following objects in the folder**]를 선택한 후 [**Computer objects**]를 선택합니다.

1. [**Create selected objects in this folder**]를 선택한 후 [**Delete selected objects in this folder**]를 선택합니다. 그리고 **다음**을 선택합니다.  
![\[선택한 사용자 객체 폴더에 다음 객체만 있는 Control Wizard Active Directory 객체 유형 대화 상자의 위임, 이 폴더에서 선택한 객체 생성 및 이 폴더에서 선택한 객체 삭제.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/aduc_delegate_join_linux.png)

1. [**Read**] 및 [**Write**]를 선택한 후 [**Next**]를 선택합니다.  
![\[일반, 속성별 및 읽기를 선택한 다음 권한이 있는 Control Wizard 권한 위임 대화 상자입니다.\]](http://docs.aws.amazon.com/ko_kr/directoryservice/latest/admin-guide/images/aduc_delegate_join_permissions.png)

1. [**Completing the Delegation of Control Wizard**] 페이지에서 정보를 확인하고 [**Finish**]를 선택합니다.

1. 강력한 암호를 사용하여 사용자를 생성하고 해당 사용자를 `Joiners` 그룹에 추가합니다. 그러면 사용자는 디렉터리에 연결할 Directory Service 수 있는 충분한 권한을 갖게 됩니다.

# Simple AD에 대한 DHCP 옵션 세트 생성
<a name="simple_ad_dhcp_options_set"></a>

AWS 에서는 Directory Service 디렉터리에 대한 DHCP 옵션 세트를 생성하고 디렉터리가 있는 VPC에 DHCP 옵션 세트를 할당할 것을 권장합니다. 이렇게 해야 해당 VPC의 모든 인스턴스가 지정된 도메인을 가리키고 DNS 서버가 도메인 이름을 해석할 수 있습니다.

 DHCP 옵션 세트에 대한 자세한 정보는 *Amazon VPC 사용 설명서*의 [DHCP 옵션 세트](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)를 참조하세요.

**디렉터리에 대한 DHCP 옵션 세트를 생성하는 방법**

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 [**DHCP Options Sets**]를 선택한 후 [**Create DHCP options set**]를 선택합니다.

1. **DHCP 옵션 세트 생성** 페이지에서 디렉터리에 대해 다음 값을 입력합니다.  
**이름**  
옵션 세트를 위한 옵션 태그입니다.  
**도메인 이름**  
`corp.example.com` 등 디렉터리의 정규화된 이름.  
**도메인 이름 서버**  
사용자가 AWS제공한 디렉터리의 DNS 서버의 IP 주소입니다.  
[AWS Directory Service 콘솔](https://console.aws.amazon.com/directoryservicev2/) 탐색 창으로 가서 **디렉터리**를 선택한 후 올바른 디렉터리 ID를 선택하면 이들 주소를 찾을 수 있습니다.  
**NTP 서버**  
이 필드는 비워둡니다.  
**NetBIOS 이름 서버**  
이 필드는 비워둡니다.  
**NetBIOS 노드 유형**  
이 필드는 비워둡니다.

1. [**Create DHCP options set**]를 선택합니다. 새 DHCP 옵션 세트가 DHCP 옵션 목록에 나타납니다.

1. 새로운 DHCP 옵션 세트의 ID를 기록해 두세요(dopt-*xxxxxxxx*). 새 옵션 세트를 VPC와 연결할 때 필요합니다.

**VPC와 연결된 DHCP 옵션 세트를 변경하려면**

DHCP 옵션 세트를 생성한 후에는 이 옵션 세트를 수정할 수 없습니다. VPC에서 다른 DHCP 옵션 세트를 사용하도록 하려면 새 세트를 생성하여 VPC와 연결해야 합니다. DHCP 옵션을 전혀 사용하지 않도록 VPC를 설정할 수도 있습니다.

1. [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Your VPCs**를 선택합니다.

1. VPC를 선택한 다음 **작업**, **VPC 설정 편집**을 선택합니다.

1. **DHCP 옵션 세트**에서 옵션 세트를 선택하거나 **DHCP 옵션 세트 없음**을 선택한 후 **저장**을 선택합니다.

명령줄을 사용하여 VPC와 연결된 DHCP 옵션 세트를 변경하려면 다음을 참조하세요.
+ **AWS CLI**: [associate-dhcp-options](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-dhcp-options.html)
+  **AWS Tools for Windows PowerShell**: [Register-EC2DhcpOption](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2DhcpOption.html)