[1. 개요]
세션 관리자의 포트 전달 기능을 사용.
pem key 미사용, RDP 포트(3389)를 열지 않고 RDP 터널링하여 원격 Windows 인스턴스(GUI)에 엑세스 할 수 있습니다.
[2. 설치]
2.1 로컬 서버 설정
2.1.1 AWS CLI 설치
- https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/install-cliv2-windows.html
위 URL 참고하여 설치합니다.
- 설치 확인
aws --version
2.1.2 Session manager plugin 설치
위 URL 사용하여 설치 관리자를 다운로드합니다.
- 설치 확인
session-manager-plugin
2.2 Session Manager 활성화
2.2.1 IAM 역할 생성
- AmazonEC2RoleforSSM 정책이 연결된 IAM 역할을 생성합니다. (이름 : ec2-ssm)
2.2.2 Windows Server EC2 생성
- Windows Server 2019 Base AMI를 선택합니다.
(Session Manager는 Windows 2008 R2 부터 Windows 2019 까지 지원하며, Windows 2016 Nano는 지원되지 않습니다.)
- 2.2.1에서 만든 역할(ec2-ssm)을 선택합니다.
- 이미 생성된 인스턴스의 경우, 역할 수정을 통하여 역할을 부여할 수 있습니다.
(EC2 > 작업 > 보안 > IAM 역할 수정)
- 규칙이 없는 보안그룹을 구성합니다.
2.2.3 Session 연결
- Session Manager 활성화 확인 및 정상 접속을 확인합니다.(EC2 > 연결 > Session Manager)
2.3 사용자 설정
2.3.1 Session Manager로 접속할 사용자 생성
- Session 연결한 서버에서 아래 명령어로 새 사용자를 설정합니다.
$Password = Read-Host -AsSecureString
********* (password설정)
New-LocalUser “SampleUser” -Password $Password
Add-LocalGroupMember -Group “Remote Desktop Users” -Member “SampleUser”
2.3.2 자격 증명 IAM 사용자 생성
- aws cli 접속할 IAM 사용자를 생성합니다.
- StartSession, Terminate Session 권한을 갖는 정책을 생성합니다.
(기존 정책 직접 연결 > 정책 생성 > JSON)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:StartSession"
],
"Resource": [
"arn:aws:ec2:Region:Account-id:instance/Instance-id",
"arn:aws:ssm:Region:*:document/SSM-SessionManagerRunShell",
"arn:aws:ssm:*:*:document/AWS-StartPortForwardingSession"
],
"Condition": {
"BoolIfExists": {
"ssm:SessionDocumentAccessCheck": "true"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ssm:GetConnectionStatus",
"ssm:DescribeSessions",
"ssm:DescribeInstanceProperties"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ssm:TerminateSession"
],
"Resource": [
"arn:aws:ssm:*:*:session/${aws:username}-*"
]
}
]
}
- 로컬 서버 터미널에서 aws configure를 실행하여 사용자 Access Key, Secret Key, region 설정을 합니다.
2.4 RDP to EC2 Instance
2.4.1 Session 시작
- 로컬 서버 터미널에서 아래 명령을 입력하여 인스턴스에 대한 세션을 시작합니다.
aws ssm start-session --target
2.4.2 연결 확인
- 원격 데스크톱 연결(또는 원격 앱)을 열어 localhost:54321(자신이 적은 로컬 포트 번호) 적어준 후 옵션 표시를 누릅니다.
- 2.3.1에서 생성한 사용자 이름과 password를 입력합니다.
- 원격 포트 및 pem key 없이 접속을 확인할 수 있습니다.
지금까지 RDP 포트(3389) 및 pem key를 사용하지 않고 RDP 터널링하여 Windwos 인스턴스(GUI)에 엑세스하는
과정을 진행하였습니다.
감사합니다.