Session Manager란?
Session Manager는 AWS에서 제공하는 원클릭 쉘이다.
콘솔과 AWS CLI로 사용할 수 있지만, CLI는 번거롭고 편의성이 떨어져서 대부분 콘솔에서 사용하는 것 같다.
EC2에 접속하는 방법 중 한 가지 방법으로, 다음과 같은 기능과 함께 다양한 방법으로 사용된다.
•
IAM 정책을 통해서 Session Manager 사용을 관리할 수 있다.
•
별도의 보안그룹, 배스천호스트, SSH Key 없이도 바로 접속할 수 있다.
•
별도의 프로그램 없이 콘솔 및 CLI에서 인스턴스에 액세스할 수 있다.
•
Session Manager를 사용한 기록을 로그로 남길 수 있다.
아래와 같은 상황에서 Session Manager가 유용하게 사용된다.
•
인스턴스 하나에 빠르게 접근할 때 (여러 인스턴스 관리할 땐 MobaXterm)
•
키가 없는 상태에서 접근할 때(집 PC 등)
•
Password를 분실했을 때
◦
특히 이 때에 Session Manager로 접속해서 Password Reset이 가능하다.
◦
Password 접속 환경에서 실수로 sshd.config의 PasswordAuthentication을 No로 바꾼 경우도 Session Manager로 해결가능하다.
준비물
1.
EC2 Instance (이 포스팅에서는 Amazon Linux2 로 진행)
2.
해당 EC2에 Session Manager로 접속할 수 있는 환경
Session Manager 설치방법
3.
Homebrew가 설치된 Mac
M1 Mac에 Homebrew 설치방법
Terminal에서 Session Manager 사용법
1.
Homebrew를 통해 Install
# install
$ brew tap gjbae1212/gossm
$ brew install gossm
Python
복사
이 명령어 두 줄만 입력하면 정말 gossm 설치가 완료된다.
2.
gossm로 SessionManger 시작하기
•
다음 명령어로 gossm을 시작한다.
#Access key가 aws configure에 등록되어있는 경우
# -r 옵션을 주면 리전까지 선택하며 실행한다.
gossm start
gossm start -r [리전명]
#AWS Profile로 접속하는 경우
gossm start -p [프로필 이름]
gossm start -p [프로필 이름] -r [리전명]
Shell
복사
•
나는 SSO → Profile 사용을 선호해서 Profile 접속방식을 사용했다.
접속에 성공하면 아래와 같이 Region을 선택할 수 있다.
•
선택한 Region에 Session Manager로 접속할 수 있는 EC2 리스트가 표시된다.
•
Instance를 선택하면 바로 SSM이 실행된다.
•
콘솔에서 확인한 IP와 동일한 IP가 출력되고 정상적으로 AWS EC2에 아무런 포트 설정 없이 터미널에서 Session Manager에 접속했다.