AWS의 EC2에 접근하기 위해선 EC2를 생성할 때 발급한
.pem파일을 통해 터미널로 접근하는 경우가 많다.
하지만 외부 컴퓨터에서 EC2에 접근이 필요할 때.pem파일을 항상 가지고 다니기엔 보안적인 측면에서 좋지 않다.
이번엔 AWS 웹콘솔에서 EC2에 접근할 수 있는 Session Manager의 사용법을 알아보려고 한다.


Session Manager를 사용하기 위해선 System Manager의 IAM 인스턴스 프로파일이 필요하다.
프로파일을 쉽게 발급하기 위해선 연결하고자 하는 EC2의 상세정보에 들어가 연결 버튼을 클릭하고 Session Manager 탭을 클릭한다.
그 후 System Manager 빠른 설정 열기 버튼을 클릭하면, 설정 창이 나타난다.

설정을 수정할필요는 없다. 바로 생성 버튼을 클릭해준다.

생성 버튼을 클릭하면 Host Management 창으로 넘어오게 된다.
생성 직후에는 구성 배포 상태가 대기 중으로 되어 있을것이다. 5분 정도 기다리면 구성 배포상태가 성공으로 전환되며, 성공으로 전환되면 Session Manager를 사용할 수 있다.

이제 EC2에서 다시 Session Manager를 연결하기 위한 탭으로 넘어가면 인스턴스에 연결할 수 없음이 사라진것을 볼 수 있다.
연결 버튼을 클릭해 Session Manager로 연결해보자.

연결하면 위와 같은 창이 뜨게 되는데,
$ sudo su
ubuntu의 계정 로그인을 진행해 줘야 Session Manage를 사용할 수 있다.

처음 접속하면 세션 계정에 대한 폴더에 접근이 되어 있는데, ubuntu 유저의 경우,
$ cd /home/ubuntu
를 입력해 ubuntu 폴더로 들어가면 기존에 .pem 파일로 접근했던 경로로 들어갈 수 있다.
방금 Session Manager 설정을 마친 인스턴스에는 Session Manager로 접근이 가능하지만, 다른 인스턴스들은 Session Manager로 접근이 불가능하다.
또한, 위 설정을 다시 진행하고자 하면, 중복된 System Manager가 있다고 설정을 진행할 수 없다.
이는 IAM 권한이 이미 생성되어 있기 때문에, 다른 인스턴스에 적용하기 위해선 새로운 IAM역할을 만드는것이 아닌, 위에 생성한 IAM역할을 할당해 줘야 한다.

Session Manager로 접근이 가능한 인스턴스의 경우 IAM 역할이 할당되어 있다.

적용되지 않은 인스턴스의 경우 우상단의 작업 > 보안 > IAM 역할 수정 버튼을 클릭해준다.

그 후 Session Manager가 적용된 인스턴스와 IAM 역할을 동일하게 변경해 준다.
IAM 역할을 변경해 줄 경우 즉각 접속이 되지 않을 수 있다.

EC2를 생성시 IAM 역할을 할당하기 위해선, EC2 생성시 최 하단의 고급 세부정보로 들어가 IAM 인스턴스 프로파일을 Session Manager가 접근가능한 IAM 역할로 지정해 주면 된다.