Remote Desktop을 사용하여 Windows Server 관리형 인스턴스에 연결 - AWS Systems Manager

Remote Desktop을 사용하여 Windows Server 관리형 인스턴스에 연결

Remote Desktop Protocol(RDP)를 사용하여 Windows Server Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결하는 데 AWS Systems Manager의 기능인 Fleet Manager를 사용할 수 있습니다. Fleet Manager NICE DCV로 구동되는 원격 데스크톱에서는 Systems Manager 콘솔에서 직접 Windows Server 인스턴스에 안전하게 연결할 수 있습니다. 단일 브라우저 창에서 4개까지 동시에 연결할 수 있습니다.

현재 Windows Server 2012 RTM 이상이 실행되는 원격 데스크톱에서만 인스턴스를 사용할 수 있습니다. 원격 데스크톱에서는 영어 입력만 지원됩니다.

참고

Fleet Manager 원격 데스크톱은 콘솔 전용 서비스이며 관리형 인스턴스에 대한 명령줄 연결을 지원하지 않습니다. 쉘을 통해 Windows Server 관리형 인스턴스에 연결하려면 AWS Systems Manager의 또 다른 기능인 Session Manager를 사용할 수 있습니다. 자세한 내용은 AWS Systems Manager Session Manager 단원을 참조하십시오.

인스턴스에 Systems Manager와의 상호 작용을 허용하는 AWS Identity and Access Management(IAM) 권한 구성에 대한 자세한 내용은 Systems Manager에 대한 인스턴스 권한 구성을 참조하세요.

환경 설정

원격 데스크톱 사용을 시작하기 전에 다음과 같은 요구 사항이 환경에서 충족되는지 확인하세요.

  • 관리형 노드 구성

    Amazon EC2 인스턴스가 Systems Manager에서 관리형 노드로 구성되어 있는지 확인하세요.

  • SSM Agent 최소 버전

    노드에서 SSM Agent 버전 3.0.222.0 이상이 실행되는지 확인하세요. 노드에서 실행되는 에이전트 버전을 확인하는 방법에 대한 내용은 SSM Agent 버전 번호 확인을 참조하세요. SSM Agent 설치 또는 업데이트에 대한 자세한 내용은 SSM Agent 작업 섹션을 참조하세요.

  • RDP 포트 구성

    원격 연결을 수락하려면 Windows Server 노드의 Remote Desktop Services 서비스에서 기본 RDP 포트 3389를 사용해야 합니다. AWS에서 제공하는 Amazon Machine Images(AMIs)의 기본 구성입니다. 원격 데스크톱을 사용하려고 인바운드 포트를 명시적으로 열지 않아도 됩니다.

  • 키보드 기능을 위한 PSReadLine 모듈 버전

    PowerShell에서 키보드가 제대로 작동하는지 확인하려면 Windows Server 2022가 실행되는 노드에 PSReadLine 모듈 버전 2.2.2 이상이 있는지 확인하세요. 이전 버전이 실행되고 있다면 다음 명령을 사용하여 필요한 버전을 설치할 수 있습니다.

    Install-Module ` -Name PSReadLine ` -Repository PSGallery `-MinimumVersion 2.2.2
  • Session Manager 구성

    원격 데스크톱을 사용할 수 있으려면 Session Manager 설정 전제 조건을 완료해야 합니다. 원격 데스크톱을 사용하여 인스턴스에 연결하면 AWS 계정 및 AWS 리전에 대해 정의된 모든 세션 기본 설정이 적용됩니다. 자세한 내용은 Session Manager 설정 단원을 참조하십시오.

    참고

    Amazon Simple Storage Service(S3)를 사용하여 Session Manager 활동 로그를 기록하는 경우에는 원격 데스크톱 연결의 bucket_name/Port/stderr에서 다음과 같은 오류가 발생합니다. 이 오류는 예상되는 동작이며 무시해도 됩니다.

    Setting up data channel with id SESSION_ID failed: failed to create websocket for datachannel with error: CreateDataChannel failed with no output or error: createDataChannel request failed: unexpected response from the service <BadRequest>
    <ClientErrorMessage>Session is already terminated</ClientErrorMessage>
    </BadRequest>

원격 데스크톱 IAM 권한 구성

Systems Manager 및 Session Manager에 필요한 IAM 권한 외에도 콘솔에 액세스하는 데 사용하는 사용자 또는 역할이 다음과 같은 작업을 허용해야 합니다.

  • ssm-guiconnect:CancelConnection

  • ssm-guiconnect:GetConnection

  • ssm-guiconnect:StartConnection

다음은 사용자 또는 역할을 연결하여 다양한 원격 데스크톱 상호 작용 유형을 허용할 수 있는 IAM 정책 예제입니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userid}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*", "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "AccessTaggedInstances", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag key": [ "tag value" ] } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SSO", "Effect": "Allow", "Action": [ "sso:ListDirectoryAssociations*", "identitystore:DescribeUser" ], "Resource": "*" }, { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userName}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "SSMSendCommand", "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWSSSO-CreateSSOUser" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }

원격 데스크톱 연결 인증

원격 연결을 설정할 때 Windows 보안 인증 정보 또는 인스턴스와 연결된 Amazon EC2 키 페어(.pem 파일)를 사용하여 인증할 수 있습니다. 키 페어에 대한 내용은 Windows 인스턴스용 Amazon EC2 사용 설명서의 Amazon EC2 키 페어 및 Windows 인스턴스를 참조하세요.

또는 AWS IAM Identity Center을 사용하여 AWS Management Console 인증을 받은 경우 추가 보안 인증 정보를 제공하지 않고 인스턴스에 연결할 수 있습니다. IAM Identity Center를 통한 원격 연결 인증을 허용하는 정책의 예는 원격 데스크톱 IAM 권한 구성를 참조하세요.

시작하기 전 준비 사항

원격 데스크톱을 사용하여 연결을 시작하기 전에 다음과 같은 IAM ID 센터 인증을 사용하는 조건을 참고합니다.

  • 원격 데스크톱에서는 IAM ID 센터를 활성화한 해당 AWS 리전에서 노드에 대한 IAM Identity Center 인증이 지원됩니다.

  • 원격 데스크톱에서는 IAM Identity Center 사용자 이름이 16자까지 지원됩니다.

  • 원격 데스크톱에서는 영숫자와 특수 문자(. - _)로 구성된 IAM Identity Center 사용자 이름이 지원됩니다.

    중요

    + = , @ 문자가 포함된 IAM Identity Center 사용자 이름은 연결되지 않습니다.

    IAM Identity Center에서는 이러한 문자가 사용자 이름에는 지원되지만 Fleet Manager RDP 연결에는 지원되지 않습니다.

  • IAM Identity Center를 사용하는 연결이 인증되면 원격 데스크톱에서는 인스턴스의 로컬 관리자 그룹에 로컬 Windows 사용자가 생성됩니다. 이 사용자는 원격 연결이 종료된 후에도 유지됩니다.

  • 원격 데스크톱에서는 Microsoft Active Directory 도메인 컨트롤러인 노드에 대한 IAM Identity Center 인증이 허용되지 않습니다.

  • 원격 데스크톱에서는 Active Directory 도메인에 조인된 노드에 IAM Identity Center 인증을 사용하는 것이 허용되지만, 그렇게 하지 않는 것이 좋습니다. 이 인증 방법에서는 도메인에서 부여된 더 제한적인 권한이 재정의될 수도 있는 관리 권한이 사용자에게 부여됩니다.

IAM ID Center 인증을 지원하는 지역

IAM Identity Center 인증을 사용한 Remote Desktop 연결은 다음 AWS 리전에서 지원됩니다.

  • 미국 동부(오하이오)(us-east-2)

  • 미국 동부(버지니아 북부)(us-east-1)

  • 미국 서부(캘리포니아 북부) (us-west-1)

  • 미국 서부(오레곤)(us-west-2)

  • 아프리카(케이프타운)(af-south-1)

  • 아시아 태평양(홍콩)(ap-east-1)

  • 아시아 태평양(뭄바이)(ap-south-1)

  • 아시아 태평양(도쿄)(ap-northeast-1)

  • 아시아 태평양(서울)(ap-northeast-2)

  • 아시아 태평양(오사카) (ap-northeast-3)

  • 아시아 태평양(싱가포르)(ap-southeast-1)

  • 아시아 태평양(시드니)(ap-southeast-2)

  • 아시아 태평양(자카르타) (ap-southeast-3)

  • 캐나다(중부)(ca-central-1)

  • 유럽(프랑크푸르트)(eu-central-1)

  • 유럽(스톡홀름)(eu-north-1)

  • 유럽(아일랜드)(eu-west-1)

  • 유럽(런던) (eu-west-2)

  • 유럽(파리)(eu-west-3)

  • 이스라엘(텔아비브) (il-central-1)

  • 남아메리카(상파울루)(sa-east-1)

  • 유럽(밀라노)(eu-south-1)

  • 중동(바레인)(me-south-1)

  • AWS GovCloud(미국 동부)(us-gov-east-1)

  • AWS GovCloud(미국 서부)(us-gov-west-1)

원격 연결 기간 및 동시성

다음과 같은 조건이 활성 원격 데스크톱 연결에 적용됩니다.

  • 연결 기간

    기본적으로 원격 데스크톱 연결은 60분 후에 연결이 해제됩니다. 연결 해제를 방지하려면 연결이 해제되기 전에 세션 갱신을 선택하여 기간 타이머를 재설정할 수 있습니다.

  • 연결 제한 시간

    원격 데스크톱 연결의 유휴 상태가 10분을 넘기면 연결이 해제됩니다.

  • 동시 연결

    기본적으로 동일한 AWS 계정 및 AWS 리전의 원격 데스크톱 연결을 5개까지 활성화할 수 있습니다. 최대 25개 동시 연결로 서비스 할당량 증가를 요청하려면 Service Quotas 사용 설명서의 할당량 증가 요청을 참조하세요.

원격 데스크톱을 사용하여 관리형 노드에 연결

브라우저의 텍스트 복사/붙여넣기 지원

Google Chrome 및 Microsoft Edge 브라우저를 사용하여 관리형 노드에서 로컬 시스템으로, 로컬 시스템에서 연결된 관리형 노드로 텍스트를 복사하고 붙여넣을 수 있습니다.

Mozilla Firefox 브라우저를 사용하면 관리형 노드의 텍스트를 로컬 시스템으로만 복사하고 붙여넣을 수 있습니다. 로컬 시스템에서 관리형 노드로의 복사는 지원되지 않습니다.

Fleet Manager 원격 데스크톱을 사용하여 관리형 노드에 연결
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

  2. 탐색 창에서 Fleet Manager를 선택합니다.

    -또는-

    AWS Systems Manager 홈 페이지가 처음 열리면 메뉴 아이콘( The menu icon )을 선택하여 탐색 창을 연 다음 탐색 창에서 Fleet Manager를 선택합니다.

  3. 연결하려는 노드를 선택합니다. 확인란 또는 노드 이름을 선택할 수 있습니다.

  4. 노드 작업 메뉴에서 원격 데스크톱과 연결을 선택합니다.

  5. 원하는 인증 유형(Authentication type) 항목을 선택합니다. 사용자 보안 인증 정보를 선택하는 경우 연결하려는 노드의 Windows 사용자 계정에 대한 사용자 이름과 암호를 입력합니다. 키 페어를 선택하면 다음과 같은 방법 중 하나를 사용하여 인증을 제공할 수 있습니다.

    1. 로컬 파일 시스템에서 인스턴스와 연결된 PEM 키를 선택하려면 로컬 시스템 찾아보기를 선택합니다.

      – 또는 -

    2. PEM 파일의 콘텐츠를 복사하여 제공된 필드에 붙여넣으려면 키 페어 콘텐츠 붙여넣기를 선택합니다.

  6. 연결(Connect)을 선택합니다.

  7. 선호하는 디스플레이 해상도를 선택하려면 작업 메뉴에서 해상도를 선택한 후 다음 중에서 선택합니다.

    • 자동으로 조정

    • 1920 x 1080

    • 1400 x 900

    • 1366 x 768

    • 800 x 600

    자동으로 조정 옵션에서는 감지된 화면 크기에 따라 해상도가 설정됩니다.