Bastion Host(배스천 호스트)?
외부 네트워크와 내부 리소스 간의 중계 역할을 하면서, 외부에서 내부 시스템에 직접적으로 접근할 수 없게 함
이를 통해 내부 시스템에 대한 직접적인 공격을 방지하고 보안을 강화할 수 있음
Bastion Host는 공인 IP 주소로 프로비저닝 되고 SSH를 통해 액세스 될 수 있는 인스턴스
jump 서버 역할을 하여 공용 IP 주소 없이 프로비저닝 된 인스턴스에 대한 보안 연결을 허용함
VPC내의 서버 노출을 줄이기 위해 Bastion Host를 사용함
개별 서버에 대한 관리 태스크는 Bastion Host를 통해 프록시로 전송되어 SSH를 사용하여 수행됨
→ Public Subnet에 Bastion Host를 구성하고 Private Subnet에 Bastion Host를 통해, WEB server와 WAS server를 구성함
Bastion Host 구성
AWS EC2 인스턴스 생성하기
OS : Amazon Linux 2
인스턴스 유형 : t2.micro
네트워크 설정
- VPC : Ga-VPC
- Subnet : Ga-Bastion-Pub-A
- 퍼블릭 IP 자동 할당 : 활성화
- 보안 그룹 생성 : Ga-Bastion-SG
보안 그룹 설정(Ga-Bastion-SG)
인바운드 규칙 편집 (SSH 허용)
- 보안을 고려하여, 0.0.0.0/0 Anywhere-IPv4가 아닌 특정 IP만 허용해줘야 함
- AWS는 해당 Region 마다 각 서비스별로 사용하는 특정 IP가 있음 (https://ip-ranges.amazonaws.com/ip-ranges.json)
- 따라서, AWS 콘솔을 통해 EC2 인스턴스 연결을 하기 위해서는 EC2_INSTANCE_CONNECT라는 서비스가 사용하는 IP 대역에 대하여 SSH 트래픽을 수신하도록 허용해야 함
- EC2_INSTANCE_CONNECT 서비스가 사용하는 IP 대역은 AWS IP 주소 범위에서 서비스와 VPC가 생성된 Region에 대하여 필터링해야 함
위에 사진과 같이 ap-northeast-2(서울 리전)을 기준으로 EC2_INSTANCE_CONNECT가 13.209.1.56/29 IP 대역을 사용하고 있으므로, SSH 트래픽을 수신할 수 있도록 인바운드 규칙을 허용해줘야 함
AWS EC2 인스턴스 연결
EC2 인스턴스에 탄력적 IP 할당
탄력적 IP를 할당하는 이유는 EC2 인스턴스를 중지하고 시작했을 때 공인 IP가 변경되는 상황을 방지하기 위해서임
Bastion Host에 탄력적 IP 연결
출처
'Project > 3-Tier Architecture' 카테고리의 다른 글
[3-Tier] AWS WAS EC2 생성 후 Bastion Host에서 SSH 접속하기 (WAS 서버 구성1) (0) | 2024.02.22 |
---|---|
[3-Tier] Amazon Linux2에 Apache HTTP 설치 (WEB 서버 구성2) (0) | 2024.02.22 |
[3-Tier] AWS WEB EC2 생성 후 Bastion Host에서 SSH 접속하기 (WEB 서버 구성1) (0) | 2024.02.22 |
[3-Tier] VPC, Subnet, Internet Gateway, Routing Table, NAT gateway 설정 (Network 설정) (0) | 2024.02.21 |
[3-Tier] AWS 3-Tier Architecture 구성 (전체 아키텍처 구성도) (2) | 2024.02.21 |