본문 바로가기
공부/AWS

[AWS] Session Manager 설치해보기 1 (CentOS 8)

by haejang 2021. 3. 15.
728x90
728x90

이전에 Linux에서 SSH 포트를 변경하는 글을 썼었다

마지막에 주의사항으로 SSH 포트가 막힐 수 있는 위험에 대해 썼는데, 그에 대한 해결책이 Session Manager이다

 

Session Manager?

AWS Systems Manager(SSM)의 기능으로, 포트가 아닌 IAM 권한을 가지고 통신을 할 수 있다

내부적으로 쓰이는 다른 포트가 있는건지 뭔지는 잘 모르겠다만, 실수로 SSH나 RDP가 막혔을 때 관리자가 콘솔을 통해 해당 서버로 접속해 트러블슈팅을 해줄 수 있다

Session Manager로 접속하기 위해선 SSM에서 EC2에 접근할 수 있는 IAM role, awscli, SSM Agent가 필요하다

(수정 : awscli 없어도 session manager로 접속 가능 - 밑의 awscli 부분은 필요한 사람들만 보자)

 

실습은 CentOS 8 (AWS EC2)에서 진행하도록 하겠다

 

목차

1. IAM role 생성 후 EC2에 붙이기

2. 필요 패키지 설치하기 (awscli, SSM Agent)

3. Session Manager로 접속

 

 

1. IAM role 만들고 EC2에 붙이기

IAM > 역할 > 역할 만들기

 

 

EC2에다가 SSM에서 접근 가능하도록 Role을 붙여주는거니까 EC2로 골라주자

 

 

이미 존재하는 AmazonEC2RoleforSSM을 연결해주고, 이름은 원하는대로 설정한 후 완료해주자

 

이제 SSM을 붙일 인스턴스로 가서 작업 > 보안 > IAM 역할 수정을 눌러준다

 

 

방금 만들었던 IAM role을 붙인 후 저장해주자

 

 

2. 필요 패키지 설치하기

2-1) awscli 설치 (필요한 사람만)

일단은 SSH로 해당 서버에 접속한 후, awscli가 설치되어 있는지 확인해보자

aws --version

(AWS에서 기본 제공하는 AMI의 경우엔 이미 깔려있는 경우도 있다 - 어떤 버전이 깔려있다고 나오면 SSM Agent 설치하는 부분으로 넘어가자)

설치가 안되어있으면 awscli를 설치해주자

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install

혹시 unzip이 없다면 그냥 yum이나 dnf로 깔아주면 된다

yum install -y unzip

 

2-2) SSM Agent 설치

yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
systemctl status amazon-ssm-agent

 

running으로 돌아가고 있으면 끝났다

 

3. Session Manager로 접속

이제 다시 해당 인스턴스로 돌아가서, 연결 > Session Manager를 눌러준다

 

 

원래는 활성화 되어있지 않던 <연결> 버튼을 누를 수 있게 되었다

 

 

이런 세션 매니저 창이 뜨게 되고, 원래 서버의 ssm-user라는 새 유저로 접속된 걸 확인할 수 있다

 

 

 

다음 글에선 Windows에 SSM Agent를 설치해볼건데, 파일만 있으면 GUI로 바로 설치가 되기 때문에 훨씬 쉽다

728x90
728x90

댓글