Cloud 기반으로 애플리케이션 아키텍처를 설계할 때, '고가용성'은 빠질 수 없는 키워드입니다.
고가용성은 아래의 정의처럼, 쉽게 설명하자면 '절대 고장(fail)'나지 않는 아키텍처를 구성하는 것을 의미합니다.
고가용성이란?
서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한다. 고(高)가용성이란 "가용성이 높다"는 뜻으로서, "절대 고장 나지 않음"을 의미한다.
ko.wikipedia.org/wiki/%EA%B3%A0%EA%B0%80%EC%9A%A9%EC%84%B1
고가용성 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 고가용성(高可用性, HA, High Availability)이란 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말한
ko.wikipedia.org
절대 고장 나지않을, 즉 예기치 못한 장애에 보다 효과적으로 대응할 수 있도록 아키텍처를 구성하는 것은...
누구나 동의할 수 있는, 가장 기본적인 아키텍처 구성의 고려 사항일 것입니다.
따라서 많은 Cloud Service Provider 들은 '고가용성' 원칙을 구현할 수 있는 아키텍처 구성의 방법과 사례들을 공유하고 있습니다.
우선 DB 구성의 사례들을 통해서 살펴보도록 하겠습니다.
(다양한 CSP들의 사례들을 찾게되는 대로 업데이트할 예정입니다 ^^)
ㅇ Replica(Slave) 구성을 통한 가용성 확보 사례: AWS RDS, Aurora
- RDS 사례: Multi AZ를 통해 Master-Slave를 구성하는 방식(각각의 인스턴스가 별도의 볼륨을 가진 방식)
. master와 slave간에 replication delay가 발생할 수 있다는 단점이 지적되기도 합니다(#참조2 링크 참조)
> mysql replication 방식의 한계에서 비롯한 단점: 복제를 위해 3개의 각기 다른 3개의 단일 thread(bin log dump, io, sql) thread가 구동됨에 따라 예상되는 delay
- 아래 Aurora에서는 스토리지 노드들을 master-slave가 공유하는 형태로(shared storage) 구성되며, 복제 방식도 기존 mysql 방식이 아닌 page기반 replication 방식을 사용한다고 합니다.
> redo log 만 slave로 전송되면 되므로(데이터가 저장된 스토리지는 공유) relication lag 이 기존 mysql 대비 줄어들게 됨
ㅇ Multi-Master 구성을 통한 Write 가용성 확보 사례 - AWS Aurora
#참조1
docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
Amazon RDS를 위한 고가용성(다중 AZ) - Amazon Relational Database Service
이 작업을 통해 단일 AZ에서 다중 AZ로 변환할 때 다운타임을 방지할 수 있지만 다중 AZ로 변환하는 동안 또는 변환한 후 성능에 영향을 미칠 수 있습니다. 이 영향은 쓰기 집약적인 대규모 DB 인스
docs.aws.amazon.com
aws.amazon.com/ko/blogs/korea/building-highly-available-mysql-applications-using-amazon-aurora-mmsr/
Amazon Aurora Multi-Master를 통한 고가용성 MySQL 애플리케이션 만들기 | Amazon Web Services
Amazon Aurora는 고성능 상용 데이터베이스의 성능과 가용성에 오픈 소스 데이터베이스의 간편성과 비용 효율성을 결합하였으며 클라우드를 위해 구축된 MySQL 및 PostgreSQL 호환 관계형 데이터베이스
aws.amazon.com
#참조2
AWS Aurora란? [1탄 - RDS MySQL과 AWS Aurora의 큰 차이점]
항상 시작만 하고 제대로 끝마무리를 짓지 못한 상태로 티스토리를 이어가는 것 같습니다. 또 오랜만의 글인데요. 이번에는 Aurora에 대한 글입니다. AWS 상에서 Aurora를 구성하고 또 운영하시는 분
notemusic.tistory.com
#참조3
docs.microsoft.com/ko-kr/azure/azure-sql/database/high-availability-sla
고가용성 - Azure SQL Database and SQL Managed Instance
Azure SQL Database 및 SQL Managed Instance 서비스의 고가용성 기능 및 기능에 대해 알아봅니다.
docs.microsoft.com
'Tech-Cloud' 카테고리의 다른 글
나의 첫 서버리스(Serverless) 체험기 (1) | 2021.08.06 |
---|---|
Cloud 기반의 가용성과 확장성을 고려한 웹 호스팅 환경 구성 (0) | 2021.03.17 |
Amazon에서 AWS가 가지는 의미,존재감 (0) | 2021.03.15 |
AWS Solution Architect (0) | 2021.02.23 |
MS Azure - Telco를 위한 Cloud 제안(경쟁인가 협력인가?) (0) | 2021.02.17 |
댓글