Session manager?
시큐리티 그룹과 acl의 포트 개방 없이, bastion host 없이 리눅스, 윈도우 서버같은 인스턴스의 bash, powershell 로 접속이 가능합니다 세션 매니저를 이용한 접속은 TLS 1.2로 보호되고 모든 로드는 CloudTrail에 저장하며 세션에서 실행하는 모든 명령은 S3버킷에 저장됩니다.
Session manager VS SSH
기존의 Bastion host를 통해서 SSH를 경유하여 접속하는 방법은 경유하는 과정이 번거롭고 인스턴스에 접근하는 사용자들마다 보안을 위해 다른 키를 생성하여 교환해야하는 번거로움이 있습니다. Session manager를 이용하면 위에서도 말했다싶이 시큐리티 그룹, 키 페어, bastion host 없이도 private 존의 인스턴스에 접근할 수 있습니다.
실습
session manager를 통해 인스턴스에 접근하는 방법은 3가지 정도의 방법이 있는 것 같습니다. AWS CLI를 통해 접속하는 방법, VPC 엔드포인트를 통해 접속하는 방법, SYSTEM MANAGER에서 접속하는 방법이 있습니다. 하지만 vpc 엔드포인트를 이용하는 것과 system manager를 통해 접속하는 것과 별반 차이가 없기 때문에 2가지 방법만 서술하겠습니다.
공통적으로 해야할 일 (Pre-requisite 영어 잘하는 척)
session manager를 통해 접근하려는 EC2 인스턴스에 AmazonEC2RoleforSSM 권한이 필요합니다. 또한 패치 매니저에서도 다뤘지만 amazon-ssm-agent가 설치되어 있어야 합니다.
system manager로 접속
사실 이 방법은 별거 없습니다. 위에서 공통적으로 수행 했어야 하는 amazon-ssm-agent 그리고 권한만 있다면 바로 system manager 콘솔에서 접속할 수 있습니다.
접속할 인스턴스를 선택하고 세션 시작을 합니다. 또는 인스턴스 우클릭 후 연결을 통해 접속할 수 있습니다.
정상적으로 인스턴스에 접속한 것을 확인할 수 있습니다. 제가 봤던 블로그에서는 이런 방식을 통해 프라이빗에 접근하려면 VPC 엔드포인트를 설정해줘야 한다고 하는데 설정 필요 없이 접속이 되네요. 업데이트가 좀 된 것 같습니다.
세션 종료를 하시면 기록이 남고 세션이 종료됩니다. 일반 유저가 사용할땐 괜찮을 것 같은데 조금 불편한 점은 없지 않아 있는 것 같습니다.
CLI를 이용한 접속
유저 생성
Session manager 접속에 사용할 유저를 생성하겠습니다. 관리자라면 AdministratorAccess 권한으로 충분하지만 사용자에게는 따로 권한 지정을 해줘서 사용하는 것이 좋습니다.
CLI로 접속하기 위해 유저 -> 보안 자격 증명 -> 액세스 키 생성을 해주어야 합니다.
host-pc의 cli에 생성한 유저를 연결합니다.
HOST PC Plugin 설정
https://s3.amazonaws.com/session-manager-downloads/plugin/latest/windows/SessionManagerPluginSetup.exe
CLI를 통해 Sessiong manager를 이용하려면 HOST PC(자기 자신의 PC)에 Plugin이 설치되어있어야 합니다. 윈도우에서는 위 URL을 통해 exe 파일을 받아 plugin 설치가 가능합니다.
(옵션) AWS CLI용 Session Manager 플러그인 설치 - AWS Systems Manager
(옵션) AWS CLI용 Session Manager 플러그인 설치 AWS Command Line Interface(AWS CLI)를 사용하여 관리형 노드에 연결하는 세션을 시작 및 종료하려는 경우 먼저, 로컬 시스템에 Session Manager 플러그 인을 설치해
docs.aws.amazon.com
aws ssm start-session --target [ec2 instance id]
모든 설정이 끝나고 위 명령어를 통해서 접속이 가능합니다.
'네트워크 > 클라우드 컴퓨팅' 카테고리의 다른 글
EC2 spot instance (0) | 2023.03.06 |
---|---|
VPC 엔드포인트 (0) | 2023.03.06 |
System manager - Patch manager (0) | 2023.03.05 |
Transit Gateway(동일 리전간 VPC 연결, 타리전간 VPC 연결, flow-log) (0) | 2023.02.21 |
AWS 내부 ELB 구축 (1) | 2023.01.28 |