세션 시작 - AWS Systems Manager

세션 시작

AWS Systems Manager콘솔, Amazon Elastic Compute Cloud(Amazon EC2) 콘솔, AWS Command Line Interface(AWS CLI) 또는 SSH를 사용하여 세션을 시작할 수 있습니다.

세션 시작(Systems Manager 콘솔)

AWS Systems Manager 콘솔을 사용하여 계정의 관리형 노드와 관련된 세션을 시작할 수 있습니다.

참고

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

세션 시작(Systems Manager 콘솔)
  1. AWS Systems Manager 콘솔(https://console.aws.amazon.com/systems-manager/)을 엽니다.

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

  3. 세션 시작을 선택합니다.

  4. (선택 사항) 세션 이유 필드에 세션 설명을 입력합니다.

  5. 대상 인스턴스의 경우, 연결하려는 관리형 노드 왼쪽에 있는 옵션 버튼을 선택합니다.

    원하는 노드가 목록에 없거나 노드를 선택했는데 구성 오류가 표시되는 경우 관리형 노드를 사용할 수 없거나 Session Manager에 대해 구성되지 않음에서 문제 해결 단계를 참조하세요.

  6. 세션을 즉시 시작하려면 세션 시작을 선택합니다.

    -또는-

    세션 옵션을 보려면 다음을 선택합니다.

  7. (선택 사항) 세션 문서의 경우 세션이 시작될 때 실행하려는 문서를 선택합니다. 문서에서 런타임 파라미터를 지원하는 경우 각 파라미터 필드에 쉼표로 구분된 값을 하나 이상 입력할 수 있습니다.

  8. Next(다음)를 선택합니다.

  9. 세션 시작을 선택합니다.

연결된 후 다른 연결 유형을 사용할 때 bash 명령(Linux 및 macOS) 또는 PowerShell 명령(Windows)을 실행할 수 있습니다.

중요

Session Manager 콘솔에서 세션을 시작할 때 사용자가 문서를 지정할 수 있도록 하려면 다음을 참고하세요.

세션 시작(Amazon EC2 콘솔)

Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 사용하여 계정의 인스턴스로 세션을 시작할 수 있습니다.

참고

하나 이상의 Systems Manager 작업(ssm:command-name)을 수행할 권한이 없다는 오류가 수신되면 관리자에게 문의하여 도움을 받아야 합니다. 관리자는 로그인 보안 인증 정보를 제공한 사람입니다. Amazon EC2 콘솔에서 세션을 시작할 수 있도록 정책을 업데이트할 것을 관리자에게 요청합니다. 관리자인 경우 Session Manager에 대한 샘플 IAM 정책 섹션에서 자세한 내용을 참조하세요.

세션을 시작하려면(Amazon EC2 콘솔)
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 Instances(인스턴스)를 선택합니다.

  3. 인스턴스를 선택한 다음 연결을 선택합니다.

  4. 연결 방법에서 Session Manager를 선택합니다.

  5. 연결을 선택합니다.

연결된 후 다른 연결 유형을 사용할 때 bash 명령(Linux 및 macOS) 또는 PowerShell 명령(Windows)을 실행할 수 있습니다.

세션 시작(AWS CLI)

아직 하지 않은 경우 AWS Command Line Interface(AWS CLI)를 설치하고 구성합니다.

자세한 내용은 최신 버전의 AWS CLI 설치 또는 업데이트를 참조하세요.

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

AWS CLI를 사용하여 세션 명령을 실행하려면 Session Manager 플러그인도 로컬 시스템에 설치해야 합니다. 자세한 내용은 AWS CLI의 Session Manager 플러그인 설치을 참조하세요.

AWS CLI를 사용하여 세션을 시작하려면 다음 명령을 실행하여 instance-id를 자신의 정보로 바꿉니다.

aws ssm start-session \ --target instance-id

start-session 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI 명령 레퍼런스의 AWS Systems Manager 섹션에 있는 start-session을 참조하세요.

세션 시작(SSH)

Session Manager SSH 세션을 시작하려면 관리형 노드에 SSM Agent 버전 2.3.672.0 이상이 설치되어 있어야 합니다.

SSH 연결 요구 사항

SSH를 사용하는 세션 연결에 있어 다음과 같은 요구 사항 및 제한 사항에 유의합니다.

  • SSH 연결을 지원하도록 대상 관리형 노드를 구성해야 합니다. 자세한 내용은 (선택 사항) Session Manager를 통한 SSH 연결에 대한 권한 허용 및 제어를 참조하세요.

  • 다른 유형의 세션 연결에 사용되는 ssm-user 계정이 아닌 PEM(Privacy Enhanced Mail) 인증서와 연결된 관리형 노드 계정을 사용해서 연결해야 합니다. 예를 들면, Linux 및 macOS용 EC2 인스턴스의 기본 사용자는 ec2-user입니다. 각 인스턴스 유형의 기본 사용자를 식별하는 것에 대한 자세한 내용은 Amazon EC2 사용 설명서인스턴스에 대한 정보 가져오기를 참조하세요.

  • 포트 전달 또는 SSH를 통해 연결하는 Session Manager 세션에는 로깅을 사용할 수 없습니다. SSH는 모든 세션 데이터를 암호화하고 Session Manager는 SSH 연결을 위한 터널 역할만 하기 때문입니다.

참고

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

SSH를 사용하여 세션을 시작하려면 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

ssh -i /path/my-key-pair.pem username@instance-id
작은 정보

SSH를 사용해 세션을 시작할 때는 다음 명령 형식을 사용해 로컬 파일을 대상 관리형 노드에 복사할 수 있습니다.

scp -i /path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~

start-session 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI 명령 레퍼런스의 AWS Systems Manager 섹션에 있는 start-session를 참조하세요.

세션 시작(포트 전달)

Session Manager 포트 전달 세션을 시작하려면 관리형 노드에 SSM Agent 버전 2.3.672.0 이상이 설치되어 있어야 합니다.

참고

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

AWS CLI를 사용하여 세션 명령을 실행하려면 Session Manager 플러그인을 로컬 시스템에 설치해야 합니다. 자세한 내용은 AWS CLI의 Session Manager 플러그인 설치을 참조하세요.

운영 체제 및 명령줄 도구에 따라 따옴표의 배치가 다를 수 있으며 이스케이프 문자가 필요할 수 있습니다.

포트 전달 세션을 시작하려면 CLI에서 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSession ^ --parameters portNumber="3389",localPortNumber="56789"

portNumber는 세션 트래픽을 리디렉션하려는 관리형 노드의 원격 포트입니다. 예를 들면, RDP(원격 데스크톱 프로토콜)를 사용하여 Windows 노드 연결에 3389 포트를 지정할 수도 있습니다. portNumber 파라미터를 지정하지 않으면 Session Manager에서는 80을 기본값으로 사용합니다.

localPortNumber는 트래픽이 시작되는 로컬 컴퓨터의 포트입니다(예: 56789). 이 값은 클라이언트를 사용하여 관리형 노드에 연결할 때 입력하는 값입니다. 예: localhost:56789.

start-session 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI 명령 레퍼런스의 AWS Systems Manager 섹션에 있는 start-session을 참조하세요.

포트 전달 세션에 대한 자세한 내용은 AWS News BlogPort Forwarding Using AWS Systems ManagerSession Manager를 참조하세요.

세션 시작(원격 호스트로 포트 전달)

원격 호스트로의 Session Manager 포트 전달 세션을 시작하려면 관리형 노드에 SSM Agent 버전 3.1.1374.0 이상이 설치되어 있어야 합니다. 원격 호스트는 Systems Manager에서 관리할 필요가 없습니다.

참고

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

AWS CLI를 사용하여 세션 명령을 실행하려면 Session Manager 플러그인을 로컬 시스템에 설치해야 합니다. 자세한 내용은 AWS CLI의 Session Manager 플러그인 설치을 참조하세요.

운영 체제 및 명령줄 도구에 따라 따옴표의 배치가 다를 수 있으며 이스케이프 문자가 필요할 수 있습니다.

포트 전달 세션을 시작하려면 AWS CLI에서 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"

host 값은 연결하려는 원격 호스트의 호스트 이름 또는 IP 주소를 나타냅니다. 관리형 노드와 원격 호스트 간의 일반적인 연결 및 이름 확인 요구 사항은 여전히 적용됩니다.

portNumber는 세션 트래픽을 리디렉션하려는 관리형 노드의 원격 포트입니다. 예를 들면, RDP(원격 데스크톱 프로토콜)를 사용하여 Windows 노드 연결에 3389 포트를 지정할 수도 있습니다. portNumber 파라미터를 지정하지 않으면 Session Manager에서는 80을 기본값으로 사용합니다.

localPortNumber는 트래픽이 시작되는 로컬 컴퓨터의 포트입니다(예: 56789). 이 값은 클라이언트를 사용하여 관리형 노드에 연결할 때 입력하는 값입니다. 예: localhost:56789.

start-session 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI 명령 레퍼런스의 AWS Systems Manager 섹션에 있는 start-session를 참조하세요.

Amazon ECS 작업을 사용하여 세션 시작

Session Manager는 Amazon Elastic Container Service(Amazon ECS) 클러스터 내의 작업을 사용하여 포트 전달 세션을 시작하는 것을 지원합니다. 이렇게 하려면 다음 권한을 포함하도록 IAM의 작업 역할을 업데이트해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

Amazon ECS 작업을 사용하여 포트 전달 세션을 시작하려면 AWS CLI에서 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

참고

target 파라미터에서 < and > 기호를 제거합니다. 이러한 기호는 독자의 설명을 위한 용도로만 제공됩니다.

Linux & macOS
aws ssm start-session \ --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
Windows
aws ssm start-session ^ --target ecs:<ECS_cluster_name>_<ECS_container_ID>_<container_runtime_ID> ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="URL",portNumber="port_number",localPortNumber="port_number"

세션 시작(대화형 및 비대화형 명령)

세션을 시작하기 전에 Session Manager에 대한 설정 단계를 완료했는지 확인합니다. 자세한 내용은 Session Manager 설정을 참조하세요.

AWS CLI를 사용하여 세션 명령을 실행하려면 Session Manager 플러그인도 로컬 시스템에 설치해야 합니다. 자세한 내용은 AWS CLI의 Session Manager 플러그인 설치을 참조하세요.

대화형 명령 세션을 시작하려면 다음 명령을 실행합니다. 각 example resource placeholder를 사용자의 정보로 바꿉니다.

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name CustomCommandSessionDocument \ --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name CustomCommandSessionDocument ^ --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"

start-session 명령과 함께 사용할 수 있는 다른 옵션에 대한 자세한 내용은 AWS CLI 명령 레퍼런스의 AWS Systems Manager 섹션에 있는 start-session를 참조하세요.