Post

[AWS][계정 분산 관리] 3. Bastion Host Server: 중앙 집중형 인스턴스 접근

AWS|계정 분산 관리|Bastion Host Server|중앙 집중형 접근

[AWS][계정 분산 관리] 3. Bastion Host Server: 중앙 집중형 인스턴스 접근

1. Bastion Host Server

  • 통합 관리 계정에서 Bastion Host Server를 구축하고, 각 프로젝트 인스턴스에 이 서버를 거쳐서만 접근하도록 설정하면 다음과 같은 이점을 얻을 수 있습니다.

    1. 보안 강화
      Bastion Host를 통해서만 인스턴스에 접근을 허용하면, 외부에서 직접 접근할 수 없게 되어 보안이 강화됩니다.

    2. 접근 제어 및 감사
      Bastion Host를 통해 모든 접근 로그를 중앙에서 수집할 수 있어, 누가 언제 어떤 인스턴스에 접근했는지를 명확히 감사할 수 있습니다.

    3. 네트워크 관리 간소화
      각 인스턴스의 접근 권한을 개별적으로 설정할 필요 없이, Bastion Host 하나로 접근을 중앙에서 관리할 수 있습니다.

    4. IP Whitelisting 간소화
      Bastion Host의 IP만 허용하면 되므로, 각 인스턴스에 대해 복잡하게 IP 주소를 관리할 필요가 없습니다.

    5. VPN 대체
      Bastion Host는 가볍고 비용 효율적인 VPN 대체 역할을 할 수 있습니다.
      (예: 팀원들이 AWS 리소스에 접근하기 위해 복잡한 VPN 설정 없이 SSH 키만으로 접근할 수 있어 관리가 더 용이하고 비용도 절감됩니다.)

  • 해당 글에서는 통합 관리 계정의 Bastion Host Server → 프로젝트 계정의 EC2 인스턴스 접근 설정 방법을 다룹니다. 구조는 아래와 같습니다. Desktop View
  • EC2 인스턴스 접근 인증 방식으로 SSH를 사용합니다.

2. 구성 방법

사전 조건:

  • 최소 두 개의 AWS 계정 필요 합니다.
  • 두 계정의 VPC가 Peering 상태여야 합니다.
  • 각 VPC의 Public Subnet에 EC2 인스턴스 생성합니다. (이 글에서는 Ubuntu 사용)

1. 통합 관리 계정의 Bastion Host Server 보안 그룹 설정

  1. Bastion Host Server의 보안 그룹에서 SSH 포트(기본 22번) 에 대한 인바운드 규칙을 설정합니다.
    (보안을 강화하려면 SSH 포트를 변경할 수 있습니다.)
  2. 소스는 접근을 허용할 IP 대역으로 설정합니다. 해당 글에서는 내 IP(현재 작업 환경의 공인 IP)를 사용했습니다.
    Desktop View

2. 프로젝트 계정 EC2 인스턴스 보안 그룹 설정

  1. Bastion Host Server의 사설 IP를 확인합니다.
    Desktop View
  2. 프로젝트 계정 EC2 인스턴스의 보안 그룹 인바운드 규칙에서 SSH 포트(기본 22번) 에 Bastion Host Server의 사설 IP를 소스로 추가합니다. Desktop View

3. Bastion Host Server → 프로젝트 EC2 인스턴스 접속

  1. 프로젝트 계정 EC2 인스턴스의 사설 IP를 확인합니다.
  2. Bastion Host Server로 SSH 접속합니다.
  3. Bastion Host Server에 프로젝트 계정 EC2 인스턴스의 Private Key를 복사합니다.
    (키를 복사하거나, 파일 전송 프로토콜 등을 사용할 수 있습니다.)
  4. Bastion Host Server에서 프로젝트 계정 EC2 인스턴스의 사설 IP를 통해 SSH 접속합니다.

실무에서는 Bastion Host Server의 사용자 계정을 구분하여 사용하면 접근 추적 및 보안을 강화할 수 있습니다.

3. 주요 요약

  • Bastion Host Server 설정: AWS 환경에서 보안을 강화하고 접근 관리를 중앙화하기 위해 사용. 외부 접근을 Bastion Host로 제한하여 각 프로젝트 EC2 인스턴스에 안전하게 접근 가능.
  • 접근 관리 및 보안 강화: Bastion Host를 통해 접근 로그를 중앙에서 감사할 수 있으며, SSH 포트 변경 및 사용자 계정 구분으로 보안을 한층 강화할 수 있음.

다음 글: [AWS][계정 분산 관리] 4. NAT Server & Port Forwarding: NAT Server를 사용해 프로젝트별 Private Subnet 접근
이전 글: [AWS][계정 분산 관리] 2. VPC Peering: VPC 간의 접근

This post is licensed under CC BY 4.0 by the author.