Question) 

Azure 가상 머신을 생성할 때 가용성 옵션에서 가용성 집합의 개념은 무엇입니까?


Answer) 

가용성 집합은 가상머신의 가용성을 높일 수 있는 Azure에만 있는 개념입니다.


본 솔루션에서 가용성 영역과 가용성 집합에는 어떠한 차이점이 있는지, 어떻게 구성이 되는지에 대해서 알아보겠습니다.


가용성이란?


우선 가용성에 대해 간단히 설명하자면 서버와 네트워크, 프로그램 등의 정보 시스템을 정상적으로 사용 가능한 정도 말합니다.


Microsoft에서 보장해주는 SLA(서비스 수준 협약)는 리소스에 따라 99.9%, 99.95%를 보장한다는 것을 흔히 보실 수 있으실 것입니다. 

  • 이때 말하는 SLA 라는 것은 Service Level Agreement(서비스 수준 약정) 로서 Azure 상 리소스의 작동 시간 및 연결을 보장하는 서비스입니다.
  • 99.9%가 넘어가는 수치만 보면 고가용성이라고 생각할 수도 있지만, 99.95%인 가용성은 일년에 18.25일의 가용성 제한을 받는 것이므로 운영계에 영향을 미칠 수 있습니다.



본격적으로 가용성 옵션에 대해서 보겠습니다. 

Azure 가상머신 생성 시 가용성옵션에는 아래 사진처럼 가용성 영역과 가용성 집합이 있습니다.



Availability Zone : 가용성 영역


Microsoft 는 전세계 다양한 지역에 데이터 센터 집합이 있습니다. 그 곳의 서버를 사용하여 Azure상의 리소스를 만드는 것입니다.

단일 데이터 센터 전체에 장애가 발생하는 경우를 방지하기 위해 여러 데이터 센터를 묶어 분산 구성하는 방식으로 각 영역은 독립된 전원, 냉각 및 네트워킹을 갖춘 하나 이상의 데이터 센터로 구성되어 있습니다. 

리전당 3개의 가용성 영역을 가지며 SLA는 업계 최고의 99.99%를 보장하고 있습니다.



가용성을 보장할 수 있는 이유는 고객사가 Web 서버용 가상머신을 2개 이상 운영할 때,

Availability zone 1, 2, 3에 분산 배포한다면  zone 1번에 장애가 발생하더라도 나머지 zone 2, 3번은 정상 작동이 되어 서비스 연속성을 보장할 수 있기 때문입니다.


가용성 영역에 가상 머신 배포하기


아래는 가용성 옵션을 추가한 가상머신 만들기의 예시이므로, 가용성 옵션 선택을 제외하고 각 설정을 고객의 상황에 맞추어 변경해줍니다.


    1. [Azure 포털 > 가상머신 > 새 가상머신 만들기]


       

    

   2. 기본 사항 입력 


       기본사항으로 구독과 리소스 그룹, 인스턴스 정보, 관리자 계정을 입력합니다.

       가용성 옵션에서 가용성 영역을 선택합니다.

       


 3. 디스크


      디스크 옵션에서 사용하고자 하는 OS 디스크 유형과 암호화 형식을 선택합니다.

       

   4. 네트워킹


       IP대역대를 지정하여 가상 네트워크, 서브넷, 공용 IP를 설정합니다. 

       네트워크 보안 그룹은 보안을 위해 생성하며 새로 만들기를 눌러 이름과 인바운드 룰을 지정합니다.

       

   5. 관리     

     

      가상머신 옵션으로 부트 진단 설정, OS 게스트 진단 사용 등 고객사에 맞게 설정합니다.

      24시간 동작되지 않아도 되는 가상머신이라면 자동 종료를 사용하여 사용하지 않는 시간에 자동으로 종료될 수 있도록 옵션 추가가 가능합니다.

   

   6. 확인


      생성된 가상머신의 가용성 영역 속성을 보면 1번 영역에 배포된 것을 확인할 수 있습니다. 

     


현재 한국 지역에서 아직 가용성 영역을 제공해주지 않지만 Availability Set(가용성 집합)을 제공해줍니다.




Availability Set : 가용성 집합


가용성 집합은 다른 클라우드 제공 업체와는 다르게 Azure 상에서만 제공되는 기능입니다.

가용성 영역물리적 데이터 센터에 분산 배치를 하지만,

가용성 집합은 중복성과 가용성을 제공하는 VM의 논리적 그룹의 개념입니다.

⇒ 따라서, 가용성 영역의 오류 범위는 데이터 센터이고 가용성 집합의 오류 범위는 단위입니다. 


고가용성을 제공받기 위해 하나의 가용성 집합 안에 둘 이상의 VM을 생성해야하며 99.95%의 SLA를 제공해줍니다.

각 가용성 집합은 최대 3개의 Fault Domain(장애 도메인)과 20개의 Update Domain(업데이트 도메인)으로 구성되어 있습니다.



장애 도메인


동일한 전원과 네트워크 스위치를 사용하는 가상 머신의 집합. 즉 하나의 물리적 rack을 말합니다.


VM을 단일 랙 하나에만 가상머신을 분배하지 않고 분산 배치하기 때문에,

  • 하나의 장애 도메인 이슈나 유지 보수 작업은 다른 장애 도메인에 영향을 끼치지 않습니다.
  • 따라서 예상치 못한 하드웨어 실패에 대비하거나 계획된 하드웨어 유지 보수 작업에 대비하기 위해 장애 도메인을 사용합니다.


예를들어, 5대의 가상머신을 3개의 Fault Domain에 배포할 때 각 장애 도메인에 아래 그림처럼 분산 배포해줍니다.




업데이트 도메인

  • 예약된 유지 관리, 성능 또는 보안 업데이트는 업데이트 도메인을 통해 순서가 정해집니다.

  • 동시에 두개의 업데이트 도메인에서 업데이트를 하지 않습니다.

    ⇒ 때문에 업데이트 도메인을 분리하면 유지 보수로 인한 호스트 재기동과 같은 상황에서 서비스 유지가 가능합니다.



? 따라서 장애 도메인과 업데이트 도메인을 사용하여 가상머신을 분산 배포시키고 

     각 장애 도메인 안에 있는 업데이트 도메인은 동시에 업데이트 되지 않기 때문에 가용성을 보장할 수 있는 것입니다.



가용성 집합에 가상 머신 배포하기 


    1. [Azure 포털 > 가상머신 > 새 가상머신 만들기] 

           


   2. 기본사항 입력 및 가용성 집합 추가

  • 기본사항으로 구독과 리소스 그룹, 인스턴스 정보, 관리자 계정을 입력합니다.
  • 가용성 옵션에서 '가용성 집합'을 선택하고 가용성 집합에서 새로운 집합을 생성해 줍니다.
  • 본 예시에서는 2개의 장애 도메인, 5개의 업데이트 도메인으로 구성하였습니다.
  • 가용성 집합은 추후에 추가될 수 없으니 반드시 가상머신 생성 시 추가되어야 합니다.

        

    3. 기타 디스크, 네트워킹, 관리 속성은 위의 가용성 영역 예시와 동일하게 진행하였습니다.


    4. 장애 도메인과 업데이트 도메인의 배치를 확인하기 위해 위에서 생성된 가상머신과 같은 가용성 집합에 5대의 가상머신 배포 하였습니다.


    5. [Azure 포털 > 가용성 집합]에서 몇 번 장애 도메인에 배포가 되었는지 확인이 가능합니다. 

       


각 장애 도메인과 업데이트 도메인에 위치한 가상머신을 그림으로 나타내보면 아래와 같이 겹치지 않게 분산된 것을 확인하실 수 있습니다. 



지금까지 가용성 영역과 가용성 집합에 대해서 알아보았습니다.

가상 머신을 가용성 영역과 집합에 배치한다고해서 운영 체제나 애플리케이션 오류로부터 가상머신이 완전히 보호되는 것은 아니지만 잠재적인 물리적 하드웨어 오류, 네트워크 중단 또는 전원 중단의 영향을 최소화할 수 있을 것입니다.


감사합니다.