본문 바로가기

AWS Design Pattern/가용성 향상 패턴

Multi-DataCenter 패턴 - 데이터 센터 레벨의 이중화

ㅁ  풀어야 할 문제

서버 장애를 고려할 때 가용성을 높이는 데 Multi-Server 패턴이 적절하지만 데이터 센터 레벨의 장애를 고려 시 Multi-Server로는 대처할 수 없다.

데이터 센터 레벨의 장애를 고려할 때 여러 곳의 데이터 센터를 이용할 필요가 있다. 그러나 충분한 거리를 둔 데이터 센터를 여러 곳 확보하고 거기에 시스템 이중화를 위해 미리 하드웨어를 구입하는 것은 규모가 큰 대기업에서도 쉬운 일은 아니다.

또 데이터 동기화나 데이터 센터가 통신을 고려해 고속 전용선을 구성할 필요가 있고 이 또한 Data Center 이중화를 방해하는 요인이다.

 

ㅁ  해결/패턴

클라우드 서비스를 제공하는 데이터 센터는 여러 곳이 있고 각 데이터 센터간의 전용선이 구성되어 있다.

사용자마다 이용하는 데이터 센터 지정이 가능하기 때문에 부하에 따라 시스템을 각 데이터 센터에 구축한다.

 

ㅁ  구현

AWS는 서울이나 싱가폴 등의 지역에 가용존(Availability Zone, AZ)이라는 데이터 센터가 여러 곳에 존재

이용할 가용존은 선택할 수 있고, EC2 인스턴스를 어느 가용존에 배치할지는 이용자가 자유롭게 결정 가능

가용존(AZ)끼리는 고속 전용선이 연결되어 있어 가용존 간의 시스템 구축이 가능

웹 계층뿐 아니라 DB 계층이 존재할 때도 모든 계층을 다른 가용존에 구축

 

ㅁ  장점

-       데이터 센터 레벨의 큰 장애가 발생해도 서비스가 지속 가능한 시스템을 구축 가능

-       DR 구성을 빠르게 구축 가능

-       AWS는 가용존마다 비용이 다르지 않음.

 

  주의점

-       마스터 슬레이브 구성의 DB를 이용하는 경우 가용존 어느 한쪽에 마스터를 두게 되어 가용존 간의 통신 속도가 떨어지게 되므로 병목 구간이 되지 않도록 주의 필요

가용존 간 통신 속도 걱정 시 애플리케이션이나 HAProxy 등의 미들웨어에서 기본적으로 같은 가용존의 EC2와 통신하게 하고,  EC2에 장애가 있을 때 다른 가용존의 EC2와 통신이 되도록 구성

'AWS Design Pattern > 가용성 향상 패턴' 카테고리의 다른 글

Multi-Server 패턴 - 서버 이중화  (0) 2021.02.05