[AWS] aws ssm start-session troubleshooting

HYEOB KIM·2022년 5월 16일
1

aws

목록 보기
12/62

TargetNotConnected

aws ssm start-session --target <instance_id>

명령 실행 시 아래와 같은 에러 메세지가 발생하였습니다.

An error occurred (TargetNotConnected) when calling the StartSession operation: i-08096200a45b8017e is not connected.

(해결 방법)EC2 인스턴스 역할에 AmazonSSMManagedInstanceCore 정책 연결하기

Amazon Linux 2 사용 시 SSM Agent가 자동으로 설치되기는 하지만, 해당 EC2 인스턴스가 AWS Systems Manager에 접근하려면 권한이 있어야 합니다.

이를 위해 EC2 인스턴스에 설정된 역할AmazonSSMManagedInstanceCore 정책을 연결합니다.

인스턴스에 부여된 역할

역할에 연결된 정책

만약, 기존에 정책을 연결하지 않았다가 나중에 추가했다면, SSM Agent 서비스를 재시작 해야합니다.

$ sudo systemctl restart amazon-ssm-agent

SessionManagerPlugin is not found

aws ssm start-session --target <instance_id>

다시 명령 실행 시 아래와 같은 에러 메세지가 나타났습니다.

SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found

(해결 방법)플러그인 설치-리눅스

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

=> OS별 플러그인 설치 방법

  1. Session Manager 플러그인 RPM 패키지를 다운로드합니다.

Intel 64-bit (x86_64)

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"

Intel 32-bit (x86)

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_32bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"

ARM 64-bit (arm64)

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_arm64/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
  1. 설치 명령을 실행합니다.
sudo yum install -y session-manager-plugin.rpm
  1. 설치가 성공적인지 확인합니다.
session-manager-plugin

설치에 성공하면 다음 메시지가 반환됩니다.

The Session Manager plugin is installed successfully. Use the AWS CLI to start a session.

is not authorized to perform: ssm:StartSession on resource

An error occurred (AccessDeniedException) when calling the StartSession operation: User: arn:aws:iam:::user/ is not authorized to perform: ssm:StartSession on resource: arn:aws:ec2:ap-northeast-2::instance/ because no identity-based policy allows the ssm:StartSession action

해결 방법

사용자에게 아래의 권한을 가진 정책을 연결합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ssm:StartSession",
            "Resource": "*"
        }
    ]
}

접속 시도

$ aws ssm start-session --target <instance_id>

정상 접속이 확인됩니다.

Starting session with SessionId: khyup0629@hongikit.com-0f7e6012c92651660
sh-4.2$

기본적으로 sh로 실행됩니다.

익숙한 환경을 원하시면 bash로 실행합니다.

sh-4.2$ bash
[ssm-user@ip-172-31-37-182 bin]$ 
profile
Devops Engineer

0개의 댓글