High Availability for a Bastion Host
- 고가용성 요새 호스트를 만드는 법
- VPC와 가용 영역 두 개가 있으며 각 가용 영역에는 공용 서브넷과 사설 서브넷이 존재
요새 호스트는 사설 서브넷 내의 EC2 인스턴스에 SSH 접속할 수 있게 하는 것을 뜻함
이를 위해서는 공용 인터넷인 클라이언트가 공용 서브넷에 배포된 요새 호스트에 액세스할 수 있어야 함
포트 22에서 요새 호스트에 SSH 접속을 하면 요새 호스트에서 사설 서브넷으로 SSH 접속을 하게 됨
또한 다른 가용 영역의 사설 서브넷에 있는 EC2 인스턴스에도 요새 호스트를 이용해 직접 SSH 접속을 할 수 있음
이를 위해서는 요새 호스트를 고가용성으로 만들어야 함 - 요새 호스트를 고가용성으로 만들기 위해서는 다른 가용 영역에 새 요새 호스트를 만들어서 이 인스턴스를 고가용성으로 만듦
요새 호스트가 두 개 있을 경우 클라이언트가 복잡한 과정 없이 각 요새 호스트와 소통하기 위해서
네트워크 로드 밸런서를 생성하여 NLB가 TCP 레벨을 전송하게 되고 TCP이므로 Layer 4이며
TCP는 각 가용 영역의 요새 호스트에 트래픽을 전송하므로 NLB는 두 개의 공용 서브넷에 배포될 수 있음
고정 IP인 각 NLB를 연결함으로써 첫 번째 가용 영역에 있는 NLB에 직접 연결될 수 있고 요새 호스트로 리라우팅될 수 있음
요새 호스트들은 NLB에 등록되게 됨
새 클라이언트에서도 이와 같은 방식이 일어나게 되며 NLB로도 리디렉트되어 NLB는 두 번째 가용 영역의 요새 호스트와
직접 연결되고 요새 호스트 뒤의 EC2 인스턴스와 연결되게 됨 - 요새 호스트이므로 TCP를 사용하는 NLB(네트워크 로드 밸런서)는 가능하지만 SSH는 TCP로 HTTP보다 하위 레벨이므로
ALB(애플리케이션 로드 밸런서) 등은 Layer 7인 HTTP 레벨 트래픽에서만 작동하므로 사용할 수 없음 - 요새 호스트에는 여러 옵션이 존재하며 가용 영역 두 개에 NLB 두 개를 실행할 수 있으며
1:1:1(최소:최대:적정 값)로 설정한 ASG를 통해 하나만 실행할 수도 있음 - 요새 호스트로 라우팅하는 것도 여러 옵션이 있으며
요새 호스트가 하나만 있으면 탄력적 IP와 EC2를 이용해 데이터 스크립트를 써 요새 호스트에 액세스할 수 있으며
여러 가용 영역에서 실행되는 고가용성 요새 호스트를 사용한다면 여러 가용 영역에 배포된 Layer 4 NLB를 이용
이 경우 클라이언트는 NLB로 알아서 연결되며 NLB를 사용하면 요새 호스트가 사설 서브넷에 직접적으로 위치할 수 있으며
사설 서브넷으로 요새 호스트가 푸시될 수 있기 때문에 작업이 훨씬 단순화되고 보안도 강화됨
'Cloud > AWS' 카테고리의 다른 글
[SAA] CICD 소개 (0) | 2022.05.06 |
---|---|
[SAA] 기타 서비스 (0) | 2022.05.03 |
[SAA] EC2 인스턴스 고가용성 (0) | 2022.05.03 |
[SAA] AWS의 고성능 컴퓨팅 (HPC) (0) | 2022.05.03 |
[SAA] AWS에서 IP 주소 차단 (0) | 2022.05.03 |