Amazon Web Services 한국 블로그
AWS Directory Service for Microsoft Active Directory, 리눅스 기반 인스턴스 자동 연결 기능 출시
AWS Directory Service for Microsoft Active Directory는 Microsoft Active Directory를 기반으로 구축된, 고가용성과 복원력을 갖춘 Active Directory 서비스를 고객에게 제공하는 서비스입니다. AWS는 Active Directory를 실행하는 데 필요한 인프라를 관리하고 필요한 모든 패치 적용과 소프트웨어 업데이트를 처리합니다. 이 서비스는 예를 들어 도메인 컨트롤러에 장애가 발생할 경우 모니터링이 장애가 발생한 컨트롤러를 자동으로 감지하고 교체하는 완전 관리형 서비스입니다.
업무용 컴퓨터를 Active Directory에 수동으로 연결하려면, 컴퓨터에 연결하고 일련의 변경 사항을 수작업으로 적용한 다음 재부팅을 수행하는 번거로운 과정을 거쳐야 합니다. 이 중 어느 것도 특히 어렵지는 않지만 시간이 걸리기 때문에 여러 대의 컴퓨터를 온보딩해야 할 경우 금방 막대한 시간을 잡아먹게 됩니다.
오늘 Linux EC2 인스턴스를 시작할 때 AWS Directory Service for Microsoft Active Directory에 자동으로 연결할 수 있는 새로운 기능을 발표합니다. 이 기능은 윈도 기반 EC2 인스턴스를 시작할 때 자동으로 도메인에 조인할 수 있도록 하는 기존 기능에 추가되었습니다. 이 기능을 통해 고객은 보다 신속하게 요구 사항에 대응하고 관리자의 환경을 개선할 수 있습니다.
이제 Windows 및 Linux EC2 인스턴스를 모두 AWS Directory Service for Microsoft Active Directory에 자동으로 연결할 수 있습니다. 디렉터리는 고객 계정에 있거나 다른 계정에서 공유될 수 있습니다. 단, 인스턴스와 디렉터리가 모두 동일한 리전에 있어야 한다는 점만 주의하면 됩니다.
프로세스 작동 방식을 설명하기 위해 기존 AWS Directory Service for Microsoft Active Directory를 사용하여 Linux EC2 인스턴스가 해당 디렉터리에 자동으로 조인되도록 하는 데 필요한 단계를 수행해 보겠습니다.
AD 자격 증명 생성 및 저장
Linux 시스템을 AWS Managed Active Directory Domain에 자동으로 조인하려면 인스턴스를 도메인에 조인할 권한이 부여된 계정이 필요합니다. AWS Deleated Administrators의 구성원에게는 컴퓨터를 도메인에 조인할 충분한 권한이 있지만, 필요한 최소 권한만 부여된 서비스 계정을 만들었습니다. 설명서에서는 이러한 종류의 서비스 계정을 만드는 방법을 설명합니다.
자동 도메인 조인 기능이 내 Active Directory 서비스 계정의 자격 증명을 알아야 합니다. 이를 구현하기 위해 명시적으로 명명된 비밀 키로 AWS Secrets Manager를 사용하여 보안 정보를 생성해야 합니다. 이 비밀 키는 자동 도메인 기능에서 인스턴스를 디렉터리에 조인하는 데 사용됩니다.
AWS Secrets Manager 콘솔에서 새 보안 정보 저장(Store a new secret) 버튼을 클릭하고, 다음 화면에서 보안 정보 유형 선택하라는 메시지가 표시되면 기타 보안 정보 유형(Other type of secrets) 옵션을 선택합니다. 이제 2개의 보안 정보 키/값을 추가할 수 있습니다. 첫 번째는 AWSSeamlessDomainUser이며, 값 텍스트 상자에 Active Directory 서비스 계정의 사용자 이름을 입력합니다. 두 번째는 AWSSeamlessDomainPassword이며 여기에 서비스 계정의 암호를 입력합니다.
이 데모에서는 보안 정보에 DefaultenCryptionKey를 사용하지만 자체 키를 사용할 수도 있습니다.
[다음(Next)]을 클릭하면 보안 정보에 이름을 지정하라는 메시지가 표시됩니다. d-xxxxxxxxx를 내 디렉터리 ID로 바꾸어 다음 이름을 추가합니다.
aws/directory-services/d-xxxxxxxxx/seamless-domain-join
이 이름을 잘못 입력하거나 앞 또는 뒤에 공백이 있으면 도메인 조인이 실패합니다.
IAM 정책을 생성할 때 필요한 보안 정보 ARN을 기록해 둡니다.
필요한 IAM 정책 및 역할 생성
이제 seamless-domain-join 보안 정보를 읽을 권한을 부여하는 IAM 정책을 만들어야 합니다.
IAM 콘솔에 로그인하여 [정책(Policies)]을 선택합니다. 콘텐츠 창에서 [정책 생성(Create policy)]을 선택합니다. JSON 탭으로 전환한 후 다음 JSON 정책 문서의 텍스트를 복사하여 Secrets Manager ARN을 앞서 기록해 둔 ARN으로 바꿉니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret"
],
"Resource": [
"arn:aws:secretsmanager:us-east-1:############:secret:aws/directory-service/d-xxxxxxxxxx/seamless-domain-join-example"
]
}
]
}
[검토(Review)] 페이지에서 정책의 이름을 SeamlessDomainJoin-Secret-ReadOnly로 지정한 다음 [정책 생성(Create policy)]을 선택하여 작업 내용을 저장합니다.
이제 이 정책(그리고 몇 가지 다른 정책)을 사용할 IAM 역할을 생성해야 합니다. IAM 콘솔에서 [역할(Roles)]을 선택한 다음 콘텐츠 창에서 [역할 생성(Create role)]을 선택합니다. [신뢰할 수 있는 엔터티의 유형 선택(Select type of trusted entity)[에서 [AWS 서비스(AWS service)]를 선택한 후 사용 사례로 EC2를 선택하고 Next:Permissions를 클릭합니다.
내 역할에 AmazonSSMManagedInstanceCore, AmazonSSMDirectoryServiceAccess 및 SeamlessDomainJoin-Secret-Readonly 정책을 연결합니다.
계속 클릭하여 [검토(Review)] 화면으로 이동한 후 [역할 이름(Role name)]을 묻는 메시지가 나타나면 EC2DomainJoin으로 지정합니다. 이름은 원하는 대로 지정하면 됩니다. 그런 다음 화면 오른쪽 하단의 버튼을 눌러 역할을 생성합니다.
Amazon Machine Image 생성
나중에 Linux 인스턴스를 시작할 때 Linux Amazon Machine Image(AMI)를 템플릿으로 선택해야 합니다. 현재 기본 Linux AMI에는 이 새로운 자동 도메인 조인 기능에 필요한 AWS Systems Manager 에이전트(SSM 에이전트) 버전이 포함되어 있지 않습니다. 따라서 업데이트된 SSM 에이전트가 포함된 AMI를 생성해야 합니다. 이를 위해서는 먼저 계정에 새 Linux 인스턴스를 생성한 다음 SSH 클라이언트를 사용하여 연결합니다. 그런 다음 설명서에 따라 SSM 에이전트를 2.3.1644.0 이상으로 업데이트합니다. 인스턴스 업데이트가 완료되면 다음 설명서를 참조하여 이 인스턴스를 기반으로 새 AMI를 생성할 수 있습니다.
이제 다음 단계에서 사용할 수 있는 새로운 AMI가 생성되었습니다. 향후 최신 SSM 에이전트를 사용하도록 기본 AMI가 업데이트되면 이 섹션을 건너뛸 수 있습니다. 인스턴스에서 사용 중인 SSM 에이전트의 버전을 확인하려는 경우 이 설명서에서 방법을 참조하면 됩니다.
자동 조인
시작하려면 Linux 인스턴스를 생성해야 하므로 EC2 콘솔에 접속해 인스턴스 시작(Launch Instance)을 선택합니다.
다음으로, Linux Amazon Machine Image(AMI)를 선택합니다. 여기서는 앞서 생성한 AMI를 선택합니다.
인스턴스를 구성할 때 주의해야 할 점은 내 디렉터리가 포함된 Amazon Virtual Private Cloud를 선택해야 한다는 것입니다. 도메인 조인 디렉터리(Domain join directory)라는 드롭다운을 사용하여 이 인스턴스에 조인할 디렉터리를 선택할 수 있습니다.
[IAM 역할(IAM role)]에서 앞서 생성한 EC2DomainJoin 역할을 선택합니다.
이 인스턴스를 시작하면 내 디렉터리에 자동으로 조인됩니다. 인스턴스가 온라인 상태가 되면 AWS Directory Service for Microsoft Active Directory의 관리자 자격 증명을 사용하여 SSH를 통해 인스턴스에 연결하고 모두 제대로 작동하는지 확인할 수 있습니다.
이 새로운 기능은 오늘부터 사용할 수 있습니다. 이 기능에 대한 의견을 많이 보내주시기 바랍니다.
이제 직접 조인해보십시오!