티스토리 뷰
□ 고가용성
서버와 네트워크, 프로그램 등이 오랜 기간 동안 지속적으로 정상 운영 가능한 성질을 말합니다. 고가용성은 흔히 가용한 시간을 99%, 99.9% 등과 같은 비율 값으로 표현합니다. 즉, 가용성을 극대화 시키는 구성을 말하는 것으로 클러스터링, 이중화, RAID는 HA를 이루기 위한 방식이라고 볼 수 있습니다.
고가용성을 달성하기 위한 수많은 설계 방법이 있지만, 대표적인 몇 가지 예시로는 다음과 같습니다.
1) 네트워크 연결의 이중화 구성
2) LAG
3) 로드밸런서
4) RAID 방식의 스토리지
보통 AWS에서 아래처럼 이중화를 위해 물리적으로 떨어져있는 영역인, Availibility Zone 줄여서 AZ라고 불리는 개념이 존재합니다. AZ를 통해 일반적으로 같은 데이터 센터에 서버만 여러개 구성하는 이중화보다 더욱 높은 가용성을 구현할 수 있게 됩니다.
참고로 AZ의 구분은 특정 데이터센터를 a,b,c,d로 지칭하는 것이 아닌 논리 구분이기 때문에 VPC(Virtual Private Cloud)가 다를 경우 같은 AZ-a라고 해도 실제 데이터 센터는 다를 수 있습니다.
고가용성의 대표적인 구성방식은 Active - Active / Active - Standby 형태로 구성이 됩니다. 또한 HA의 한계점은 다음과 같습니다.
□ Active - Standby
- 실제 요청을 받아 처리하는 Active 서버와, Active 서버에 장애가 발생하면 대신 받아 요청을 처리하는 Standby 서버로 나뉩니다.
- 평소에 Standby 서버는 별다른 요청이나 역할을 수행하지 않는다. 모든 요청과 수행은 Active 서버가 담당합니다.
- Standby 서버는 계속해서 Heart를 주기적으로 정상상태인지 체크하면서 특이사항이 생기면 Active 서버를 대신해서 서비스 수행합니다.
- 단점으로는 Standby 서버는 평상시에 대기 상태이므로 자원의 비효율성이 될 수 있습니다.
□ Active - Active
- 로드 밸런싱을 주 목적으로 생각하되 일반적인 부하 분산처리가 목적이라면 주로 Active - Active로 구성합니다.
- Active - Standby 비용으로 동시에 2배가 되는 서버를 가동하므로 성능 향상도 기대 가능합니다.
- 장애가 발생하면 Active 서버의 대수만큼 처리량이 낮아지기 때문에 서비스 장애로 확대될 수 있습니다.
- 장애가 발생해도 시스템을 사용할 수 없는 시간인 다운타임(downtime)이 발생하지 않습니다.
- 관리포인트가 증가하고
□ HA 한계점
- External Disk 자체장애발생 시 HA Solution을 해결하지 못합니다.
- 장애 발생으로 시스템이 다운 되지 않는 경우 자동으로 Failover가 되지 않습니다.
- HA구성에 따른 정보교환으로 시스템의 안정성, 보안성, 성능에 Overhead가 존재합니다.
'DevOps' 카테고리의 다른 글
AWS EC2 디스크 용량 증설 (0) | 2022.05.27 |
---|---|
Pinoint server 구축 및 Kubernetes pod 연동 (0) | 2021.12.21 |
Gitlab root password 변경 (0) | 2021.07.07 |
Mairadb / postgresql SSL (0) | 2021.07.07 |
Cloud Native Infra / MSA / Kubernetes (0) | 2021.03.25 |