[Practitioner] 가용성 확장 인프라

2020. 9. 3. 02:10AWS/Practitioner

1. 가용성, 확장성

1) 가용성 (Availability)

가용성은 해당 시스템이나 서비스가 가동 및 실행되는 시간의 비율을 말한다. 즉, 가용성이 높다는 말은 서비스의 가동률이 높다는 것이고 이런 가용성은 '9'로 측정한다. 세개의 '9'는 99.9%의 시간만큼 지원한다는 것이고 1년간 서비스 중지가 8.76 시간이다.

 

중요한 업무 시스템이나 평상시 서비스 중지 및 다운타임을 가져갈 수 없는 시스템을 설계해야 할 경우 인프라의 가용성을 극대화할 수 있는 아키텍처로 인프라를 구성한다. 이러한 시스템을 고가용성 시스템이라고 한다.

가용성 비율 가동 중지 시간 (24시간 기준)
90 % 876 시간 (36.5일)
95 % 438 시간 (18.25일)
99 % 87.6 시간 (3.65일)
99.9 % 8.76 시간
99.99 % 52.56 분
99.999 % 5.256 분

2) 확장성 (Scalability)

서비스나 응용프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도를 나타낸다. 동시 접속자가 100명인 시스템이 있을 때, 특정 시즌이나 이벤트로 인해 동시 접속자가 10배, 100배 이상 많이 접속하는 경우 확장성이 높은 시스템은 사용자 증가에 따라 시스템의 자원이나 리소스를 손쉽게 추가/삭제할 수 있다.

 

이런 확장성은 물리적 하드웨어 환경에서 Scale-Up, Scale-Out이라는 두 가지의 확장성 전략을 이용하여 구현할 수 있다. Scale-Up은 단일 하드웨어에 대해 시스템 리소스(프로세서, 메모리, 디스크, 네트워크 어댑터 등)를 추가하거나 기존 하드웨어를 더욱 강력한 것으로 교체하는 작업이 포함되며, Scale-Out은 서버를 여러 대 추가하여 처리 능력을 향상시키는 방법이다. AWS의 Auto Scaling은 클라우드의 이점을 살려 인프라의 증설/축소를 손쉽게 구현할 수 있어 확장성 및 탄력성 높은 시스템을 구축할 수 있다.

 

 

 

2. Amazon Auto Scaling

1) Amazon Auto Scaling

많은 사용자가 동시에 접속했을 경우 클라우드가 아닌 HW로 시스템을 구성한다면 접속 예상 최대치를 산정하여 HW를 구매해야하지만 AWS의 Auto Scaling을 사용하면 초기 HW 구매나 투자는 필요하지 않고 사용자 급증에 따른 성능을 자유자재로 늘리거나 줄여서 관리할 수 있다.

 

즉, 성능과 비용을 최적화하도록 애플리케이션 규모를 조정하고 Auto Scaling을 이용하면 애플리케이션의 가용성을 간편하게 관리할 수 있다. 사용자가 정의한 조건에 따라 EC2 용량이 자동으로 확장되거나 축소가 된다. 프리티어로의 사용은 무료지만 AWS 리소스에 대한 비용과 Cloudwatch 비용은 발생된다.

2) Amazon Auto Scaling 그룹

인스턴스의 조정 및 관리 목적으로 구성된 논리적 그룹으로 Auto Scaling을 수행하는 인스턴스의 모음이다. 여러 인스턴스로 나누어 서비스를 할 경우 성능 향상을 위해 그룹을 지어 조건에 따라 자동으로 Scaling을 수행하도록 할 수 있다.

3) 시작 구성

시작 구성은 Auto Scaling 그룹에서 인스턴스를 시작하는데 사용하는 템플릿이다. 시작 구성 생성 시 AMI, 인스턴스 유형, 키 페어, 하나 이상의 보안 그룹, EBS 등 인스턴스에 대한 정보를 지정한다. 시작 구성은 여러 개의 Auto Scaling 그룹에 지정할 수 있으나, Auto Scaling 그룹은 하나의 시작 구성만을 지정할 수 있다. 또한 한번 생성한 구성 이후에는 수정 및 변경이 어렵다.

4) Amazon Auto Scaling 그룹 조정

Auto Scaling 그룹 조정은 인스턴스 수의 늘리거나 줄이는 기능이다. 조정 작업은 서비스의 특정 이벤트와 함께 시작하거나 Auto Scaling 그룹의 인스턴스를 시작하거나 종료하도록 수행하는 조정 작업과 함께 수행된다.

옵션 설명
현재 인스턴스 수준 유지 관리 최소 또는 항상 지정된 수의 인스턴스를 실행 유지 관리하도록 구성한다.
수동 조정 Auto Scaling 그룹에서 최소, 최대 또는 원하는 용량의 변경 사항을 조정 변경할 수 있다.
일정을 기반으로 조정 예측 가능한 일정에 따라 수요가 증가하거나 감소하는 경우 일정에 따른 확장 및 축소 작업을 시간 및 날짜 함수를 통해 자동으로 수행되도록 구성한다.
온디맨드 기반 조정 리소스를 조정하는 가장 효과적인 방법으로 인스턴스의 CPU 사용률이 15분간 90% 유지될 때마다 확장하도록 구성이 가능하다. 즉, 변화하는 조건에 따라 효과적으로 조정을 한다.

[참고] 아마존 웹 서비스 AWS Discovery Book

[참고] AWS - Practice - Practitioner Auto Scaling

728x90