외부 네트워크에서 개인 네트워크(VPC 등)에 있는 리소스에 접근하기 위한 단일 액세스 지점(Single Entry Point)을 제공하는 서버입니다.
VPC의 프라이빗 서브넷에 배치된 리소스(DB, 인스턴스)는 외부 네트워크를 통해 접근이 불가능하므로, 관리나 운영을 위한 별도의 접근 경로가 필요합니다.
이때 사용하는 것이 bastion 서버 입니다.
외부 → Bastion Host → 내부 리소스
bastion host는 인스턴스 이므로 보안그룹 설정을 이용해 특정 ip만 허용할 수 있습니다.
Local PC (localhost)
↓ SSH Tunnel
Bastion Host
↓
Private Resource (RDS, Redis, Internal API)
bastion host 의 대안으로는 sessionManager 가 있습니다. (AWS 권장 방식)
Systems Manager은 여러 AWS 리소스를 그룹화하여 운영 및 유지보수를 자동화하고 효율적으로 관리하기 위한 서비스입니다.
SSM을 이용하면 SSH나 RDP 포트를 열지 않고도 IAM 인증을 통해 EC2에 접속할 수 있습니다.
외부 → AWS API → EC2 (SSM Agent)
Session Manager를 통해 로그인하면, 로그인 대상 인스턴스에 대해 Security Group 등으로 SSH 통신 허가 설정
(포트 개방, whitelist관리)이 필요 없어져 보안이 강화된다.
보안 강화: 즉, SSH나 RDP로 직접 인스턴스에 접속하지 않기 때문에 보안 관리에 있어서 더욱 안전하다.
또한, 키 페어(SSH 키) 관리가 필요 없어져 운영이 간편하다.
프라이빗 서브넷에 있는 인스턴스에도 중간 서버(bation server) 없이 접속이 가능하다.
| 항목 | Bastion Host | Session Manager |
|---|---|---|
| 퍼블릭 IP | 필요 | 불필요 |
| SSH/RDP 포트 | 필요 | 불필요 |
| 접근 제어 | 보안그룹 + 키 | IAM |
| 운영 부담 | 있음 | 거의 없음 |
| 세션 로깅 | 직접 구성 | 기본 제공 |
| 권장 여부 | 레거시/특정 상황 | ⭐ 기본 권장 |
=> 회사에서는 bastion 을 사용하여 접속하고 있습니다.
레거시 환경이라 bastion 을 사용해야만 하는 것인지, ssm으로 전환할 수 있을지 파악하고 개선해보면 좋을 것 같습니다.
https://jibinary.tistory.com/371
https://wikidocs.net/281588
https://jinwookoh.tistory.com/147
https://www.youtube.com/watch?v=JNHStFkaWSw