Session Manager란?
- Shell에 Access 할 수 있는 새로운 옵션으로 브라우저 기반의 Interactive Shell과 CLI를 사용하여 Windows 및 Linux 인스턴스를 관리할 수 있다.
- Session Manager은 다음 기능을 제공한다.
- 보안 액세스 : 수동으로 인스턴스에 계정정보나 SSH키를 입력할 필요가 없고, 인바운드 포트 개방이 필요하지 않다. (22번 ssh를 열어줄 필요가 없는 것)
- 액세스 제어 : IAM 기반 액세스 제어 및 날짜 조건 연산자를 사용한 탄력적인 액세스 제한
- 감사 용이성 : Session Manager를 통한 명령과 응답은 Amazon CloudWatch 및 S3 버킷에 로깅하거나 SNS로 세션 접속에 대한 알림을 수신할 수 있다.
CentOS8에 SSM Agent 환경 구축
SSM Agent를 위해 필요한 것
- EC2 인스턴스는 SSM 접근을 허용하는 IAM Role 필요하다.
- EC2 인스턴스는 AWS CLI가 설치돼야 한다.
AWSCLI2 설치
- AWS CLI가 설치되지 않은 Instance는 AWS CLI 설치가 필요하다.
#패키지 다운 및 설치 curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" unzip awscliv2.zip sudo ./aws/install
- AWS CLI 특정버전을 설치하는 법
#awscli-exe-linux-x86_64-버전.zip curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
aws --version
명령으로 설치 확인
- AWS CLI가 설치되지 않은 Instance는 AWS CLI 설치가 필요하다.
SSM Agent 설치방법
- EC2에 SSM을 위한 IAM 역할 연결
- 아래 명령을 통해 SSM Agent Plugin을 다운받고 설치한다.
#Plugin 다운로드 #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" #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" #패키지 설치 sudo yum install -y session-manager-plugin.rpm
결과 화면
System Manager 콘솔의 관리형 인스턴스 탭에서도 확인 가능하다.
결론
Session Manager를 통해 Shell에 접근할 수 있게 설정했다.
SSH 설정에 대한 실수로 SG가 아닌 서버자체에서 SSH연결이 끊겼다고 가정해보자.
RunCommand / SSM과 같은 방법이 없다면 꽤나 골치가 아파질 것이다. SSM은 이런 만일의 사태에 도움이 될 수도 있을 것이다.
Uploaded by Notion2Tistory v1.1.0