여러 대의 서버를 가상화하여 하나의 대규모 서버로 이용할 수 있도록 만든 기술입니다.
일반적으로 웹 서버는 클라이언트의 요청에 따라 어떤 웹 페이지를 보여줄지 결정하죠?
그렇다면 각각의 도메인 이름을 가진 웹 사이트마다 별도의 IP 주소와 웹 서버가 필요합니다.
가상 호스팅(Virtual Hosting)을 사용하면 "하나의 IP 주소와 웹 서버에서 여러 개의 가상 호스트를 운영"할 수 있습니다.
클라이언트의 요청을 받은 배스천 호스트는 요청을 처리할 서버로 요청을 전달하면 되거든요.
즉, 로드 밸런싱 역할 수행하는 것입니다.
여러 대의 서버를 하나의 호스트로 구성하여 운영하기면 서버 리소스의 유연한 조정이 가능하죠.
따라서 배스천 호스트는 대규모 웹 서비스나 대용량 데이터베이스, 가상화 서버 등에 많이 사용됩니다.
가상 호스팅은 보통 두 가지 방법으로 구현됩니다.
1. IP 기반 가상 호스팅
서로 다른 IP 주소를 가진 각각의 가상 호스트에 대해 웹 서버가 별도의 프로세스나 포트를 할당하여 운영합니다.
2. 이름 기반 가상 호스팅
하나의 IP 주소에 대해 서로 다른 도메인 이름을 가진 가상 호스트를 운영하며, 호스트 헤더(Host Header)라는 정보를 이용하여 각각의 요청을 구분합니다.
다음은 AWS에서 MSA를 적용한 서버 시스템에서 배스천 호스트를 활용하는 예시입니다.
1) 여러 대의 서버를 묶어 하나의 호스트로 구성합니다.
2) 배스천 호스트를 사용하여 묶인 서버에 대한 부하 분산을 수행합니다.
3) 로드 밸런서를 사용하여 클라이언트 요청을 분산합니다.
4) 클라이언트 요청에 따라 적절한 서비스에 전달됩니다.
5) 각 서비스는 독립적으로 실행됩니다.
6) 각 서비스는 데이터베이스 등 필요한 자원을 공유합니다.
배스천 호스트는 서버 구성을 간소화하고 관리하기 쉬워집니다.
여러 대의 서버를 하나의 호스트로 구성하는 데 사용되기 때문입니다.
또한, 서버의 부하를 골고루 분산시킬 수 있어서 성능을 향상시키는 효과도 있습니다.
AWS와 같은 클라우드 서비스를 이용한다면, Amazon VPC(Virtual Private Cloud) 라는 서비스를 제공하며, 이를 이용하여 여러 대의 가상 서버를 하나의 가상 네트워크로 구성하여 배스천 호스트로 활용할 수 있습니다.
물론 배스천 호스트가 장애를 일으키면 해당 호스트를 사용하는 모든 서버가 영향을 받아 작동하지 못하는 상황이 발생할 수 있습니다. 이러한 경우를 대비하여 여러 대의 배스천 호스트 혹은 빠르게 대처할 수 있는 백업 시스템을 구성하고, 백업 시스템이 감시하고 있는 배스천 호스트로 신속하게 서비스를 이전하는 방법 또한 있습니다.
'정보처리기사' 카테고리의 다른 글
[Spring] 스프링 프레임워크의 동작 방식 (0) | 2023.04.21 |
---|---|
[정보처리기사] CSRF 와 XSS 공격의 차이점 (0) | 2023.04.21 |
[운영체제] 운영체제에서 메모리 관리를 위한 기법들 (0) | 2023.04.20 |
[정보처리기사: 운영체제] 라운드 로빈(Round Robin, RR) 스케줄링 알고리즘 (0) | 2023.04.20 |
[정보처리기사] 관계 대수와 관계 해석이 무엇이며 어떤 차이가 있을까? (0) | 2023.04.20 |