Tokomon - Digimon
티쿠스 IT 블로그

Azure

[Azure] 가용성 집합 (Availability Set)

티쿠스 2020. 1. 30. 14:34

1. 가용성 집합 (Availability Set)이란?

Availability Set이란 가용성 집합을 말한다. 여기서 가용성 집합이란 기존 온프레미스 또는 클라우드 환경에서 중요하게 여겨지는 고가용성을 보장하기 위해서 논리적인 그룹을 만들어주는 것이다.

그럼 여기서 또 가용성, 고가용성이란 무엇일까?

1.1. 가용성 및 고가용성의 개념

위는 가용성(Availability)에 대한 설명이다. 따라서 고가용성(High Availability)이란 일정 수준 이상의 높은 가용성을 뜻한다.

Microsoft에서의 리소스간 SLA 예시 (출처 : https://vincentlauzon.com/2018/01/22/solution-slas-in-azure/)

1.2. 고가용성의 이면

99.9%가 넘어가는 수치만 보면 굉장히 높은 수준의 가용성을 보장하는 것 같지만, 실상은 다르다.

먼저 가용성이 99.95%인 사례를 보면, SLA 단위는 1년이고 전체 1년을 초 단위로 환산했을 때, 가용성을 제한받는 0.05%는 1,576,800초. 다시 이를 일 단위로 환산하면 무려 18.25일이다.

1년이라는 시간에 비하면 18일이라는 시간은 많이 적어보이지만, 갑자기 어느 순간 18일동안이나 어떤 시스템이 다운된다고 한다면 굉장한 손해가 발생할 것이다. 또한 그만큼의 피해는 보통 그 시스템을 운영하는 회사가 고스란히 진다고 한다.

따라서 MS에서는 이만큼의 가용성을 보장한다는 협약을 SLA를 통해 보장하는데, 방식은 이렇다.

MS가 해당된 가용성만큼의 서비스를 제공하지 못하게 될 경우, 예를 들어 99.95% 가용성일 때 18일을 초과하는 시간동안 다운이 되는 경우라면, 월간 리소스 비용의 일정 부분을 크레딧을 통해 지급해준다.

1.3. 가용성 집합(Availability Sets)과 가용성 영역(Availability Zones)의 차이점

가용성 집합(이하 AS)과 가용성 영역(이하 AZ)의 차이점을 보자면, 우선 집합보다는 영역이 더 큰 단위의 개념이다.

AS는 하드웨어 장애를 방지하기 위한 방식이다. 바로 아래 FD에서 다시 언급하겠지만 단일 데이터 센터 안에서 여러 서버 랙 단위를 묶는 것이다.

그리고 AZ는 단일 데이터 센터 전체에 장애가 발생하는 경우를 방지하기 위해 여러 데이터 센터를 묶어 분산 구성하는 방식이다.

이러한 차이점으로 인해 SLA 또한 달라질 수 밖에 없다. AS의 경우 99.95%이며, AZ는 99.99%로 보다 더 나은 가용성을 보여줄 수 있게 되는 것이다.

2. 장애 도메인 (Fault Domain)과 업데이트 도메인 (Update Domain)

2.1. Fault Domain과 Update Domain의 개념

가용성 집합에 대한 개념을 다루면서, 빼놓을 수 없는 개념들이 바로 장애 도메인과 업데이트 도메인이다.
하나의 가용성 집합 안에 복수의 가상 머신을 생성 후 배정할 때, 상세하게 Fault Doamin(이하 FD)과 Update Domain(이하 UD)을 통해 분류가 된다. 이로 인해 가용성을 보장할 수 있는 것이다.

FD와 UD의 개념

2.2. Fault Domain과 Update Domain의 차이점

FD와 UD의 배치 방식 차이 (출처 : http://www.prof-its.be/wp/public-cloud/difference-between-upgrade-domains-and-fault-domains/)

FD의 경우 말 그대로 장애가 발생할 경우 데이터의 손실을 막기 위한 방식이다. 범위는 다를 수 있지만 기존 데이터 센터에서는 Disaster Recovery라고 해서 다른 Region간에 데이터를 분산 저장하는 경우가 바로 이것이라고 볼 수 있다. 

즉, FD는 물리적인 서버 랙 단위로 나뉘어 설정된다.

반면에 UD는 같은 물리적인 단위 안에서도 설정이 가능한데, 이는 애초에 FD와는 목적이 다르기 때문이다.
말 그대로 업데이트를 위한 방식이다. 특정 UD의 펌웨어(물리 장치) 업데이트가 필요할 경우, 그 위에 올라가는 OS 및 서비스 데이터는 다른 UD의 펌웨어로 라이브 마이그레이션(Live Migration)되는 것이다.

2.3. Fault Domain과 Update Domain의 범위 및 동작방식

위는 가용성 집합 생성 시에 나타나는 FD와 UD의 설정 화면이다. 값의 범위는 각각 FD : 2 ~ 3, UD : 5 ~ 20이다.
예외로 FD의 경우 1로 설정하면 UD까지 1로 설정이 가능하지만, 이 경우 가용성이 보장되지 않는다.

VM의 가용성 집합에 가입한 순서대로 범위의 미니멈인 0번부터 맥시멈인 x번까지 배치가 되며, 이 방식은 아래와 같이 이해할 수 있다.

FD에서의 분류 방식 (VM 생성 순서대로)
UD에서의 업데이트 동작 방식 (배치는 FD와 같으므로 생략)