[AWS] Bastion VS AWS Session Manager

2026. 4. 24. 07:50·CS공부/클라우드
반응형

Bastion Host vs AWS Session Manager — 프라이빗 서버, 어떻게 접속할까?

VPC를 구성하다 보면 자연스럽게 이런 상황이 생깁니다.

 

"DB 서버는 보안상 프라이빗 서브넷에 뒀는데... 그럼 나는 어떻게 저 서버에 들어가지?"

 

외부에서 직접 SSH로 접속하면 보안이 뚫리고, 그렇다고 방법이 없으면 서버 관리를 못 하니까요. 이 문제를 해결하는 방법이 크게 두 가지입니다. Bastion Host 와 AWS Session Manager 입니다.

 

이번 포스팅에서는 이 둘이 각각 뭔지, 어떤 차이가 있는지, 그리고 어떤 상황에서 뭘 써야 할지 정리해보겠습니다.


왜 이런 고민이 필요한가?

먼저 상황을 정리해봅시다.

일반적인 AWS 아키텍처에서 서비스용 EC2나 RDS는 프라이빗 서브넷에 배치합니다. 외부에서 직접 접근이 불가능하도록 인터넷과 차단해두는 거죠.

 

그런데 개발자나 시스템 엔지니어가 서버에 접속해서 배포 작업을 하거나 장애를 확인해야 할 일이 분명히 생깁니다. 이때 어떻게 프라이빗 서브넷 안에 있는 서버에 안전하게 접근할 수 있을까요?


Bastion Host란?

개념

Bastion Host(배스천 호스트) 는 외부에서 프라이빗 서브넷의 서버에 접근하기 위한 중간 서버입니다.

"Bastion"은 성벽의 외곽을 보호하는 '보루'라는 뜻인데, 그 이름처럼 내부 서버를 지키는 외곽 방어선 역할을 한다고 보면 됩니다.

 

실생활 예시:

회사 건물에 출입할 때 1층 로비의 경비실을 거쳐서 방문증을 받고 들어가는 것과 같습니다. 방문자는 원하는 부서(프라이빗 서버)로 바로 갈 수 없고, 반드시 경비실(Bastion Host)을 통해야만 합니다.

접속 흐름

Bastion Host를 통한 접속 흐름은 이렇습니다.

[개발자 로컬 PC]
     ↓  SSH (키 페어 사용)
[Bastion Host] ← 퍼블릭 서브넷에 위치, 공인 IP 보유
     ↓  SSH
[프라이빗 서브넷의 EC2 / RDS 등]
  1. 개발자가 로컬 PC에서 Bastion Host로 SSH 접속 (키 페어 필요)
  2. Bastion Host에서 다시 내부 서버로 SSH 접속
  3. 2단계를 거쳐서 최종 목적지에 도달

Bastion Host의 특징

  • 퍼블릭 서브넷에 위치 — 외부에서 접근 가능해야 하므로
  • 공인 IP(또는 EIP) 보유 — 외부에서 직접 접속할 수 있는 주소 필요
  • 보안 그룹 설정 중요 — SSH 포트(22)는 관리자 IP에서만 허용
  • 키 페어(Key Pair) 필요 — SSH 접속 시 개인키 파일 사용
  • EC2 비용 발생 — Bastion Host 자체가 EC2 인스턴스이므로

Bastion Host의 문제점

Bastion Host 방식이 오랫동안 표준처럼 쓰여왔지만, 운영하다 보면 몇 가지 불편함이 생깁니다.

운영 관리 부담

  • Bastion Host EC2 자체를 지속적으로 패치하고 관리해야 함
  • 팀원이 늘어나면 팀원마다 키 페어를 발급하고 관리해야 함
  • 키 페어를 분실하거나 퇴사자가 생기면 관리가 복잡해짐

보안 위험

  • Bastion Host가 뚫리면 내부 전체가 위험해지는 단일 장애 지점(SPOF)
  • SSH 포트(22)를 외부에 열어두는 것 자체가 공격 표면이 됨
  • 접속 이력(누가 언제 뭘 했는지) 추적이 어려울 수 있음

비용

  • Bastion Host EC2 운영 비용이 추가로 발생

AWS Session Manager란?

개념

AWS Session Manager 는 AWS Systems Manager(SSM) 의 기능 중 하나로, SSH나 별도 서버 없이 AWS 콘솔이나 CLI를 통해 EC2에 직접 접속할 수 있는 서비스입니다.

 

Bastion Host처럼 중간 서버를 거치지 않고, AWS 자체의 인프라를 통해 안전하게 접속합니다.

 

실생활 예시:

회사에 출입할 때 경비실을 거치는 게 아니라, 사원증(IAM 권한)만 있으면 어느 문이든 자동으로 열리는 스마트 오피스 시스템과 비슷합니다. 경비원(Bastion Host)이 필요 없어지는 거죠.

접속 흐름

Session Manager를 통한 접속 흐름은 이렇습니다.

[개발자 로컬 PC]
     ↓  AWS IAM 인증 (키 페어 X)
[AWS Systems Manager]
     ↓  VPC Endpoint를 통해 내부 전달
[프라이빗 서브넷의 EC2]
  1. 개발자가 IAM 인증으로 AWS 콘솔 또는 CLI에 로그인
  2. Session Manager로 연결 요청
  3. VPC Endpoint를 통해 프라이빗 서브넷의 EC2에 직접 접속

외부로 SSH 포트를 열 필요도 없고, Bastion Host도 필요 없습니다.

Session Manager 동작을 위한 사전 준비

Session Manager가 동작하려면 몇 가지 사전 설정이 필요합니다.

1. EC2 IAM 역할 설정

EC2가 Systems Manager와 통신할 수 있도록 인스턴스 프로파일에 아래 정책을 부여해야 합니다.

AmazonSSMManagedInstanceCore

2. VPC Endpoint 구성

프라이빗 서브넷의 EC2는 인터넷과 단절되어 있습니다. 그래서 AWS Systems Manager 서비스에 접근하려면 VPC Endpoint를 통해 AWS 내부 네트워크로 연결해야 합니다.

VPC Endpoint란? 인터넷 게이트웨이나 NAT 게이트웨이 없이도, VPC 내부에서 직접 AWS 서비스에 접근할 수 있도록 해주는 통로입니다. 트래픽이 인터넷을 타지 않고 AWS 내부 망으로만 이동하기 때문에 더 안전합니다.

생성이 필요한 VPC Endpoint 3가지:

com.amazonaws.{region}.ssm
com.amazonaws.{region}.ssmmessages
com.amazonaws.{region}.ec2messages

3. 로깅 설정 (선택사항이지만 권장)

Session Manager에서 발생하는 모든 세션 로그를 S3나 CloudWatch Logs에 저장하도록 설정할 수 있습니다. 누가 언제 어느 서버에 접속해서 어떤 명령어를 실행했는지 모두 기록되기 때문에 보안 감사(Audit)에 매우 유용합니다.

Session Manager의 장점

운영 효율화

  • Bastion Host 서버 관리가 사라짐 (패치, 용량, 접근 관리 불필요)
  • 팀원마다 키 페어를 발급할 필요 없음
  • IAM으로 접근 권한을 일원화해서 관리 가능

비용 절감

  • Bastion Host EC2 비용이 사라짐
  • Session Manager 서비스 자체는 무료

보안 강화

  • SSH 포트(22)를 외부에 열지 않아도 됨 → 공격 표면 감소
  • 모든 세션 로그가 S3/CloudWatch에 자동 저장 → 감사 추적 가능
  • IAM 기반 접근 제어로 세밀한 권한 관리 가능

Bastion Host vs Session Manager 비교

항목 Bastion Host AWS Session Manager
접속 방식 SSH (키 페어 필요) IAM 인증 (키 페어 불필요)
중간 서버 필요 (EC2) 불필요
SSH 포트 오픈 필요 (포트 22 외부 오픈) 불필요
EC2 추가 비용 발생 (Bastion Host 서버) 없음
접속 로그 직접 구성 필요 자동 저장 (S3/CloudWatch)
키 페어 관리 팀원별 발급/관리 필요 IAM으로 일원화
보안 수준 보통 높음
설정 난이도 비교적 쉬움 초기 설정 필요 (IAM, VPC Endpoint 등)
네트워크 요구사항 퍼블릭 IP 필요 VPC Endpoint 필요 (또는 NAT GW)
적합한 환경 소규모, 간단한 구성 보안 요건이 높은 환경, 팀 협업

전체 아키텍처 비교

Bastion Host 아키텍처

Session Manager 아키텍처

Session Manager를 사용하면 아키텍처가 훨씬 단순해집니다. Bastion Host가 사라지고, 외부에 열어둬야 했던 SSH 포트도 필요 없어집니다.


언제 뭘 써야 할까?

Bastion Host가 적합한 경우

  • 빠르게 구성해야 하는 소규모 환경
  • Session Manager 설정이 부담스러운 경우
  • AWS 외 다른 클라우드나 온프레미스 서버도 함께 관리하는 경우
  • EC2가 아닌 RDS 같은 서비스에 직접 접속이 필요한 경우

Session Manager가 적합한 경우

  • 보안 요건이 높은 프로덕션 환경
  • 팀원이 많아서 키 페어 관리가 복잡한 경우
  • 접속 이력(감사 로그)이 반드시 필요한 환경
  • 비용을 최적화하고 싶은 경우
  • 운영 부담을 줄이고 싶은 경우

정리

항목 Bastion Host AWS Session Manager
핵심 개념 중간 중계 서버 경유 IAM 인증 기반 직접 접속
보안 보통 (SSH 포트 오픈) 높음 (포트 불필요)
비용 EC2 추가 비용 발생 무료
관리 키 페어 + 서버 관리 IAM만 관리
로그 별도 구성 필요 자동 저장
추천 상황 소규모, 빠른 구성 프로덕션, 보안 중시

요즘 AWS에서 권장하는 방향은 Bastion Host 대신 Session Manager를 사용하는 쪽입니다. 초기 설정이 조금 손이 가지만, 한번 구성해두면 운영이 훨씬 편해지고 보안도 강화되거든요.

 

물론 소규모 토이 프로젝트나 빠른 테스트 환경이라면 Bastion Host가 더 간편할 수 있습니다. 상황에 맞게 선택하는 게 맞습니다.


참고

본 포스팅은 해당 사이트의 내용을 참고 및 인용하여 작성했습니다.

Inpa Dev - AWS 📚 VPC 개념 & 사용 - 사설 IP 통신망 (NAT Gateway / Bastion Host)
LG CNS - AWS Session Manager를 통한 Bastion Server 대체 및 보안 강화
빵수 - Bastion host란 무엇인가?
Hwan2 - AWS Session manager 란?

반응형

'CS공부 > 클라우드' 카테고리의 다른 글

[AWS] VPC란 (Virtual Private Cloud)  (1) 2026.04.24
[AWS] NAT Gateway VS NAT Instance  (0) 2026.04.24
[AWS] NAT란? (Network Address Translation)  (0) 2026.04.24
[AWS] 클라우드 용어 정리  (0) 2026.04.24
[AWS] AWS 구조 알아보기  (0) 2026.04.24
'CS공부/클라우드' 카테고리의 다른 글
  • [AWS] VPC란 (Virtual Private Cloud)
  • [AWS] NAT Gateway VS NAT Instance
  • [AWS] NAT란? (Network Address Translation)
  • [AWS] 클라우드 용어 정리
깨부
깨부
성공한 개발자가 되기 위해 깨지고 부서지며 성장하는 나의 모습을 기록해두는 곳
  • 깨부
    깨지고 부서지며 배우는 개발일지
    깨부
  • 전체
    오늘
    어제
    • 깨부 모음 (21)
      • 일상 (3)
        • SSAFY 13기 (2)
      • 취준로그 (0)
        • 2025년 하반기 (0)
        • 2026년 상반기 (0)
      • CS공부 (8)
        • 네트워크 (2)
        • 클라우드 (6)
      • 알고리즘 (0)
      • 프레임워크 (1)
        • Spring Boot (1)
      • 프로젝트 (7)
        • 개인 프로젝트 - Arcane (7)
        • 개인 프로젝트 - 별글 (0)
      • Git & Github (2)
      • Web-Developer (0)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      git
      깃허브
      Riot
      IP
      13기
      React
      깃
      프라이빗
      네트워크
      NAT
      AWS Session Manager
      VPC
      github
      프로젝트
      Arcane
      취업
      프로젝트관리
      node.js
      퍼블릭
      싸피
      실무능력
      AWS
      서브넷
      취준
      Bastion
      EC2
      EIP
      OSI 7계층
      SSAFY
      개발자
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.6
    깨부
    [AWS] Bastion VS AWS Session Manager
    상단으로

    티스토리툴바