이중화란?
시스템의 가용성 높이기 위해 장비를 다중화 시키는 방법을 말합니다. 이중화 구성은 가용성을 높여주기 때문에 고가용성을 뜻하는 HA(Hight Avaliability)라는 용어와 혼재하여 사용하기도합니다.
가용성이란 쉽게 말해 하나의 서버 장비가 문제가 생겨도 다른 장비에서 서비스가 될 수 있도록 구현 하는 것을 말합니다.
AWS는 이중화를 위해 물리적으로 떨어져있는 영역인, Availibility Zone 줄여서 AZ라고 불리는 개념이 존재합니다. AZ를 통해 일반적으로 같은 데이터 센터에 서버만 여러개 구성하는 이중화보다 더욱더 높은 가용성을 구현할 수 있게 되는 것이지요.
한국에는 현재 총 4개의 zone이 있으며 이를 논리적인 단위 AZ-a, AZ-b, AZ-c, AZ-d 로 구분합니다.
참고로 AZ의 구분은 특정 데이터센터를 a,b,c,d로 지칭하는 것이 아닌 논리 구분이기 때문에 VPC(Virtual Private Cloud)가 다를 경우 같은 AZ-a라고 해도 실제 데이터센터는 다를 수 있습니다.
이중화의 종류
이중화는 다중화한 장비를 모두 가동할 것인지, 아니면 한쪽 장비에 장애가 날때만 가동할 것인지에 따라서 2가지 종류로 나뉘게 됩니다.
Active-Active
다중화된 장비가 모두 가동되는 방식을 말합니다.
두대를 모두 사용하기 때문에 처리율이 높습니다 하지만 구성이 복잡해지는데, 사용자 세션관리는 어떻게 할 것인지 부하에대한 분산처리는 어떤 방식으로 할 것인지 등을 고려해야 합니다.
Active-Standby
우리가 흔히 HA를 말할때 이 형태의 구성을 말합니다. 두 대 중 하나는 가동이 되고, 하나는 장애 상황의 경우를 대비해서 말 그대로 준비 상태로 대기시키는 것을 말합니다.
장애가 발생하여 Active장비가 죽게되면 Standby장비가 Active상태가 되어 서비스에 문제가 없도록 처리하게 됩니다. 이 과정을 failover라고 하며 Standby상태가 Active상태로 되는 시간동안은 서비스가 불가능 할 것이므로 이를 인지하고 있어야 합니다.
AWS의 RDS를 사용하면 Active-Standby형태의 HA구성을 쉽게 할 수 있습니다. Multi-AZ기능을 사용하면 동기(sync)방식으로 다른 AZ에 standby 서버와 데이터를 동기화합니다.
동기방식이란 데이터의 정합성을 보장하는 것을 말합니다. 쉽게 말하면 A가 B한테 데이터를 보내는 것으로 끝나는 것이 아닌, B에게서 잘받았어 라고 응답까지 받아야 데이터 복제가 끝나는 방식입니다. 때문에 복제되는 속도는 비교적 느리겠죠
Active-Standby방식은 크게 3타입으로 구분할 수 있습니다. Hot이 failover시간이 가장 짧으며 Warm, Cold순으로 짧습니다.
- Hot Standby : Standby 장비가 가동되었을 때 즉시 사용가능
- Warm Standy : Standby 장비가 가동되었을 때 설정에 대한 준비가 필요함
- Cold Standby: Standby 장비를 평소에는 정지시켜두며 필요에 따라서 직접 켜서 구성을 함
오늘은 이중화에 대해서 알아보았습니다. 이중화에 대한 개념은 이해하는데 어려움이 없으시겠지만 이중화 구성에서도 어플리케이션 서버를 이중화 할것인지 DB 서버를 이중화 할 것인지 또, 이중화 했을때 데이터는 서로 어떻게 공유할 것인지 등등 고려해야 할 것이 많아서 어려움을 많이 느끼실 것입니다.
다음시간에는 일반적으로 구성하는 3-tier구조(WEB/WAS/DB)를 오픈소스기반으로 아파치,톰캣, MySQL을 이중화하여 AWS상에 구성해보도록 하겠습니다.
감사합니다.
'IT' 카테고리의 다른 글
[맥북단축키] iterm2 문장 맨앞 맨끝으로 커서 이동 + 단어로 커서 이동 설정 (0) | 2021.09.09 |
---|---|
visual studio code 단축키 모음(맥북, 윈도우) (0) | 2021.09.06 |
맥북 사용자를 위한 해피해킹 세팅(딥스위치, 한영키/물결키) 방법 (10) | 2021.09.02 |
Linux/Windows EOS, EOL 정리 (0) | 2021.08.04 |
스웨거(Swagger)란? 스웨거 세팅하기 (0) | 2021.08.04 |