본문으로 건너뛰기

Bastion-Hosts

1 Bastion Hosts

  • AWS에서 Bastion Host는 프라이빗 서브넷에 있는 EC2 인스턴스에 SSH로 접근할 수 있도록 도와주는 서버입니다.
  • Bastion Host는 퍼블릭 서브넷에 위치하며, 다른 모든 프라이빗 서브넷과 연결됩니다.

2 Bastion Host 설정

2.1 Bastion Host 생성

  • 퍼블릭 서브넷에 위치
    • Bastion Host는 인터넷과 통신할 수 있도록 퍼블릭 서브넷에 생성됩니다.
  • 보안 그룹 설정
    • Bastion Host의 보안 그룹은 인터넷에서의 SSH 접근을 허용해야 합니다.
    • 포트 22에서 인터넷으로부터의 인바운드 트래픽을 허용합니다.
    • 보안을 위해 회사의 퍼블릭 CIDR과 같은 제한된 CIDR에서만 접근을 허용합니다.

2.2 프라이빗 서브넷의 EC2 인스턴스 설정

  • 보안 그룹 설정
    • 프라이빗 서브넷에 있는 EC2 인스턴스의 보안 그룹은 Bastion Host에서의 접근을 허용해야 합니다.
    • Bastion Host의 보안 그룹 또는 Bastion Host의 프라이빗 IP를 인바운드 규칙에 추가하여 SSH 접근을 허용합니다.

3 Bastion Host의 역할

  • 보안 강화
    • 직접적으로 인터넷과 연결되지 않은 프라이빗 서브넷의 EC2 인스턴스에 안전하게 접근할 수 있도록 합니다.
  • 중간 점검 지점
    • SSH를 통해 Bastion Host를 경유하여 프라이빗 서브넷의 인스턴스에 접근함으로써, 네트워크 보안을 강화합니다.

4 Bastion Host 설정 예시

4.1 Bastion Host 보안 그룹 설정

  • 인바운드 규칙
    • 포트 22: 접근 소스는 회사의 퍼블릭 CIDR 또는 관리자가 지정한 제한된 IP 범위
Type      Protocol   Port Range   Source
SSH TCP 22 X.X.X.X/32 (회사 퍼블릭 CIDR)

4.2 프라이빗 서브넷의 EC2 인스턴스 보안 그룹 설정

  • 인바운드 규칙
    • 포트 22: 접근 소스는 Bastion Host의 보안 그룹 ID 또는 Bastion Host의 프라이빗 IP
Type      Protocol   Port Range   Source
SSH TCP 22 sg-xxxxxxxx (Bastion Host의 보안 그룹 ID)

5 Bastion Host를 통한 SSH 접근 절차

  • Bastion Host에 SSH로 접속
    • 먼저 퍼블릭 서브넷에 위치한 Bastion Host에 SSH를 통해 접속합니다.
  • 프라이빗 서브넷의 EC2 인스턴스에 접속
    • Bastion Host에서 프라이빗 서브넷의 EC2 인스턴스로 SSH를 통해 접속합니다.

참고 자료