[AWS][계정 분산 관리] 3. Bastion Host Server: 중앙 집중형 인스턴스 접근
AWS|계정 분산 관리|Bastion Host Server|중앙 집중형 접근
1. Bastion Host Server
통합 관리 계정에서 Bastion Host Server를 구축하고, 각 프로젝트 인스턴스에 이 서버를 거쳐서만 접근하도록 설정하면 다음과 같은 이점을 얻을 수 있습니다.
보안 강화
Bastion Host를 통해서만 인스턴스에 접근을 허용하면, 외부에서 직접 접근할 수 없게 되어 보안이 강화됩니다.접근 제어 및 감사
Bastion Host를 통해 모든 접근 로그를 중앙에서 수집할 수 있어, 누가 언제 어떤 인스턴스에 접근했는지를 명확히 감사할 수 있습니다.네트워크 관리 간소화
각 인스턴스의 접근 권한을 개별적으로 설정할 필요 없이, Bastion Host 하나로 접근을 중앙에서 관리할 수 있습니다.IP Whitelisting 간소화
Bastion Host의 IP만 허용하면 되므로, 각 인스턴스에 대해 복잡하게 IP 주소를 관리할 필요가 없습니다.VPN 대체
Bastion Host는 가볍고 비용 효율적인 VPN 대체 역할을 할 수 있습니다.
(예: 팀원들이 AWS 리소스에 접근하기 위해 복잡한 VPN 설정 없이 SSH 키만으로 접근할 수 있어 관리가 더 용이하고 비용도 절감됩니다.)
- 해당 글에서는 통합 관리 계정의 Bastion Host Server → 프로젝트 계정의 EC2 인스턴스 접근 설정 방법을 다룹니다. 구조는 아래와 같습니다.
- EC2 인스턴스 접근 인증 방식으로 SSH를 사용합니다.
2. 구성 방법
사전 조건:
- 최소 두 개의 AWS 계정 필요 합니다.
- 두 계정의 VPC가 Peering 상태여야 합니다.
- 각 VPC의 Public Subnet에 EC2 인스턴스 생성합니다. (이 글에서는 Ubuntu 사용)
1. 통합 관리 계정의 Bastion Host Server 보안 그룹 설정
- Bastion Host Server의 보안 그룹에서 SSH 포트(기본 22번) 에 대한 인바운드 규칙을 설정합니다.
(보안을 강화하려면 SSH 포트를 변경할 수 있습니다.) - 소스는 접근을 허용할 IP 대역으로 설정합니다. 해당 글에서는
내 IP
(현재 작업 환경의 공인 IP)를 사용했습니다.
2. 프로젝트 계정 EC2 인스턴스 보안 그룹 설정
- Bastion Host Server의 사설 IP를 확인합니다.
- 프로젝트 계정 EC2 인스턴스의 보안 그룹 인바운드 규칙에서 SSH 포트(기본 22번) 에 Bastion Host Server의 사설 IP를 소스로 추가합니다.
3. Bastion Host Server → 프로젝트 EC2 인스턴스 접속
- 프로젝트 계정 EC2 인스턴스의 사설 IP를 확인합니다.
- Bastion Host Server로 SSH 접속합니다.
- Bastion Host Server에 프로젝트 계정 EC2 인스턴스의 Private Key를 복사합니다.
(키를 복사하거나, 파일 전송 프로토콜 등을 사용할 수 있습니다.) - 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 간의 접근