안녕하세요.
이번 시간에는 SessionManagerPlugin is not found에 대한 에러를 해결하는 방법에 대해 알아보겠습니다.
ECS Fargate에서 ECS Exec를 이용해서 Container에 붙으려고 하니 다음과 같은 에러가 발생했습니다.
SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found
이렇게 에러가 발생할 경우 운영체제에 맞는 Session Manager 플러그인을 설치하여 해결할 수 있습니다.
https://docs.aws.amazon.com/ko_kr/systems-manager/latest/userguide/install-plugin-linux.html
Plugin 설치는 위 링크를 참고하여 설치를 진행하실 수 있습니다.
1. Session Manager 플러그인 RPM 패키지를 다운로드하여 설치(Amazon Linux)
1. RHEL 7
sudo yum install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
2. RHEL 8 및 9
sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm
다음과 같이 RHEL 배포판에 맞춰서 Session Manager 플러그인을 설치해 주면 됩니다.
2. Debian 및 Ubuntu에 Session Manager 설치
1. Session Manager 플러그인 deb 패키지를 다운로드합니다.
curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/ubuntu_64bit/session-manager-plugin.deb" -o "session-manager-plugin.deb"
2. 설치 명령을 실행합니다.
sudo dpkg -i session-manager-plugin.deb
3. Windows에 Session Manager 설치
1. 다음 URL을 사용하여 설치 관리자를 다운로드합니다.
[실행 파일]
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe
[압축 파일]
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPlugin.zip
2. 다운로드한 설치 관리자를 실행하고 화면의 지침을 따릅니다. 압축된 버전의 설치 프로그램을 다운로드한 경우 먼저 설치 프로그램의 압축을 풀어야 합니다.
%PROGRAMFILES%\Amazon\SessionManagerPlugin\bin\
4. macOS에 Session Manager 설치
5. Session Manager 설치 확인
session-manager-plugin
정상적으로 설치가 완료되면 다음 명령어를 통해 설치된 것을 확인할 수 있습니다.
6. ECS Fargate에 Execute-command를 이용하여 접속하기
1. execute-command를 enable 설정하기
aws ecs update-service --cluster <cluster-name> --service <service-name> --enable-execute-command
다음과 같이 execute-command가 enable 되어있지 않으면 명령어가 실행되지 않으니 설정이 필요합니다.
2. execute-command 실행하기
aws ecs execute-command --cluster <cluster-name> \
--task <task-id> \
--container <container-name> \
--interactive \
--command "/bin/sh"
enable 설정 후 다음과 같이 execute-command 실행합니다.
다음과 같이 ECS Fargate 컨테이너 쉘에 접속이 된 것을 확인할 수 있습니다.
이번 시간에는 ECS execute-command 실행 시 발생하는 Session Manager 에러에 대해 알아봤습니다.
감사합니다.
'Trouble shooting' 카테고리의 다른 글
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!