Bastion 호스트 없이 Systems Manager Session Manager 포트 전달을 사용하여 RDP를 통해 EC2 인스턴스에 연결하려면 어떻게 해야 하나요?

3분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 원격 데스크톱 프로토콜(RDP) 에 연결하고 싶습니다. 이 연결에 Bastion 호스트 없이 AWS Systems Manager Session Manager 포트 전달을 사용하고 싶습니다.

해결 방법

포트 전달은 Systems Manager Session Manager에서 사용할 수 있는 기능입니다. 이 기능을 사용하면 로컬 시스템과 프라이빗 서브넷에 배포된 인스턴스 간에 터널을 만들 수 있습니다. 인바운드 포트를 열거나 Bastion 호스트를 구성할 필요가 없습니다. 보안 그룹에서 인바운드 액세스를 차단한 상태로 유지할 때 이 기능을 사용하면 RDP를 통해 Amazon EC2 Windows 인스턴스에 연결할 수 있습니다.

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하는 경우, 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

사전 요구 사항 확인

사전 요구 사항:

연결 설정

1.로컬 컴퓨터에서 EC2 인스턴스로의 포트 전달 세션을 설정합니다.

로컬 컴퓨터에서 다음 명령을 실행합니다.

aws ssm start-session --target <instanceid> --document-name AWS-StartPortForwardingSession --parameters "localPortNumber=55678,portNumber=3389"

이렇게 하면 로컬 컴퓨터의 포트 55678에서 원격 EC2 인스턴스의 포트 3389(RDP 포트)로 터널이 설정됩니다.

또한 이 명령은 EC2 인스턴스 운영 체제가 기본 포트 3389에서 RDP 연결을 허용하도록 구성되어 있다고 가정합니다. localPortNumberportNumber의 값을 사용자 값으로 바꾸세요.

세션 연결에 성공하면 다음 메시지가 표시됩니다.

Starting session with SessionId: xxxxx-01234567891011abc
Port 55678 opened for sessionId xxxxx-01234567891011abc
Waiting for connections...
  1. 터널을 사용하여 RDP를 통해 원격 EC2 인스턴스에 연결합니다.

로컬 RDP 클라이언트를 사용하여 localhost:55678에 연결합니다. 그러면 트래픽이 EC2 인스턴스의 원격 포트 3389로 전달됩니다.

RDP 세션에 연결한 후 AWS CLI는 다음 메시지와 함께 터널을 통해 연결이 설정되었음을 나타냅니다.

Connection accepted for session [xxxxx-01234567891011abc]
  1. 포트 전달 세션 종료:

RDP 세션을 닫은 후 AWS CLI에서 Ctrl+C를 눌러 포트 전달 세션을 종료합니다. 또는 AWS Systems Manager 콘솔에서 세션을 종료할 수 있습니다.

다음과 같은 메시지가 표시됩니다.

Terminate signal received, exiting.  
Exiting session with sessionId: xxxxx-01234567891011abc.

연결 문제 해결

세션이 연결되지 않는 경우 다음과 같은 이유 때문일 수 있습니다.

  • 권한 부족(AccessDeniedException): 세션을 시작하는 사용자에게 Session Manager에 필요한 권한이 있는지 확인합니다.
  • 인스턴스가 연결되지 않음(TargetNotConnected): 지정된 대상 노드가 Session Manager에 맞게 구성되지 않았습니다. 대상 노드가 Session Manager용으로 완전하게 구성되어 있는지, Systems Manager Fleet Manager 콘솔에서 온라인으로 보고되는지 확인합니다. 자세한 내용은 관리되는 노드를 사용할 수 없거나 Session Manager에 대해 구성되지 않음을 참고하세요. 이 오류는 다른 AWS 계정 또는 AWS 리전의 관리되는 노드에서 세션을 시작하려고 하는 경우에도 발생합니다.
  • Session Manager 플러그인을 찾을 수 없음: Session Manager 플러그인이 로컬 컴퓨터에 설치되어 있는지 확인하세요. 자세한 내용은 AWS CLI용 Session Manager 플러그인 설치를 참고하세요.
  • 세션 연결에는 성공하지만 RDP 클라이언트 연결에는 실패합니다. 대상 인스턴스의 기본 RDP 포트가 변경되었는지 확인합니다. portNumber 매개 변수 값을 사용자 값으로 바꿉니다. 자세한 내용은 Microsoft 웹 사이트에서 RDP 리스너 포트 확인을 참고하세요.

자세한 내용은 Session Manager 문제 해결을 참고하세요.

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