
CSP(Cloud Service Provider) 환경 혹은 On-premise 환경에서 서버 접근 제어를 위해 Bastion Server(Jumping host)를 구축하게 됩니다.
이번 포스트에서는 CSP 환경, 그중 AWS 사용 시 Bastion Server를 대체 구현할 수 있는 서비스인 AWS System Manager Session Manager 서비스를 활용한 서버 접근 제어 구현을 다루겠습니다.
일반적으로 Service를 위한 EC2는 Private Subnet에 배치하고 ALB를 Public Subnet에 배치하여 서비스를 노출하곤 합니다.
이때, 시스템 엔지니어 혹은 개발자들이 자신의 로컬 환경에서 Private Subnet에 위치한 EC2로 접근하기 위해 Bastion Server를 구축하여 접근 통제를 구현합니다.

시스템 엔지니어는 자신의 로컬 환경에서 Public subnet에 위치한 Bastion Server로 개인별 발급받은 Keypair를 이용해 SSH로 접근하게 됩니다.
Bastion Server에 도착한 시스템 엔지니어는 최종 목적지인 서비스 EC2로 다시 한번 ssh를 이용하여 접속합니다.

Session Manager를 사용할 경우 보다 더 간결한 아키텍처를 구성할 수 있습니다.
시스템 엔지니어는 AWS IAM을 통해 인증을 받고 AWS Console 혹은 AWS CLI를 사용하여 Session Manager를 통해 서비스 VM에 접근할 수 있습니다.
그렇다면 Bastion Server가 아닌 Session Manager를 사용함으로써의 갖는 장점은 무엇일까요?
데모는 상기 “2.2 Session Manager를 사용한 접근 플로우” 의 아키텍처를 기반으로 VPC 및 EC2는 기 생성된 환경 이후에 작업에 대해서 진행하겠습니다.
System Manager를 통해 EC2에 접근하기 위해선 EC2의 Instance Profile에 권한 설정이 필요합니다.
• Poilcy Name : AmazonSSMManagedInstanceCore

• EC2에 할당

Private Subnet에 구성된 EC2는 외부와의 연결이 없습니다.
하지만 VPC Endpoint를 구성한다면 AWS 서비스와 연결을 할 수 있습니다.


Session manager에 접근하기 전 로깅을 위해 환경설정을 합니다.
• AWS System Manager > Session Manager > Configure Preferences

• Logging 설정으로 CloudWatch로 Stream session log를 적재하거나 S3에 바로 적재할 수도 있습니다.



이번 포스팅으로 AWS System Manager Session Manager를 사용하여 Bastion Server를 대체한 Ec2 서버 접근 제어에 대해서 알아볼 수 있었습니다.
위와 같은 방식을 통하여 기존에 Bastion Server를 통한 업무의 전환으로 운영, 비용 효율화를 도모하고 서버 접근 제어 솔루션을 도입하기 어려운 작은 프로젝트에서 보안 컴플라이언스를 준수하며 서비스를 개발하고 운영할 수 있는 환경을 구성할 수 있습니다.

기업명을 두 글자 이상 입력해주세요.
소식을 받아 보시려면 마케팅 정보 활용과 마케팅 정보 수신에 모두 동의해 주셔야 합니다.
제출이 완료되었습니다.
제출이 완료되었습니다.
확인 버튼을 누르시면 자사 홈페이지 홈화면으로 이동됩니다.
요청하신 자료가 이메일로 발송되었습니다.
구독 설정이 저장되었습니다.
잘못된 접근입니다. 정상적인 경로를 통해 다시 시도해 주세요.
검색 중 오류가 발생했습니다. 다시 시도해주세요.
제출에 실패하였습니다.
다시 시도해주세요.
사업자등록번호는 10자리를 입력해주세요.
지원하지 않는 파일 형식입니다.
10MB 이하의 파일만 업로드하실 수 있으며, 최대 10개까지 첨부 가능합니다.
10MB 이하의 파일만 업로드하실 수 있습니다.
파일은 최대 10개까지만 첨부하실 수 있습니다.
업로드 중 오류가 발생했습니다. 다시 시도해 주세요.
파일을 교체하시겠습니까?