이전에 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로 바로 설치가 되기 때문에 훨씬 쉽다
'공부 > AWS' 카테고리의 다른 글
[AWS] Session Manager로 RDP 접속하기 (Windows Server) (0) | 2021.03.29 |
---|---|
[AWS] Session Manager 설치해보기 2 (Windows Server 2019) (0) | 2021.03.15 |
[AWS] SageMaker Notebook으로 ML 맛보기 (MNIST, k-means) (3) | 2021.02.27 |
[AWS WAF] #5 실습 마무리 : 로깅 확인 & 리소스 삭제 (0) | 2021.02.26 |
[AWS WAF] #4 JSON으로 WAF Rule 직접 작성해보기 (0) | 2021.02.26 |
댓글