가용성이란 해당 시스템이나 서비스가 가동 및 실행되는 시간의 비율이다.
매우 중요한 업무 시스템이나 평상시 서비스 중지 및 다운 타임을 가져갈 수 없는 시스템을 설계해야 하는 경우 인팔의 가용성을 극대화 할 수 있는 아키텍처로 인프라를 구성한다.
이러한 시스템을 '고가용성 시스템'이라 한다.
확장성이란 서비스나 응용프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도이다.
트래픽이 10배에서 100배까지 증가한다 하더라도 손쉽게 자원이나 리소스를 추가/삭제 할 수 있어야한다.
이러한 확장성은 물리적 하드웨어 환경에서 스케일 업과 스케일 아웃이라는 두 가지의 확장성 전력을 이용하여 구현할 수 있다.
Auto Scaling은 트래픽이 급증하면 인스턴스를 늘려 성능을 유지하고, 평상시 상태가 유지되면 인스턴스를 자동으로 줄여 비용을 줄이는 효과를 볼 수 있다.
Auto Scaling 그룹은 인스턴스의 조정 및 관리 목적으로 구성된 논리적 그룹으로 Auto Scaling을 수행하는 인스턴스의 모음이다.
그룹을 사용하여 지정된 조건에 따라 자동적으로 인스턴스의 수를 늘리거나, 비정상적으로 동작하는 경우 고정된 수의 인스턴스를 유지하거나, 비용 절감을 위해 인스턴스의 수를 자동으로 조정할 수 있다.
이러한 Auto Scaling 그룹은 인스턴스의 수를 조건에 따라 자동 조정 및 관리하는 Auto Scaling 핵심 기능이다.
시작 구성은 Auto Scaling 그룹에서 인스턴스를 시작하는 데 사용하는 템플릿입니다.
시작 구성을 생서앟는 경우 Amazon Machine Image(AMI), 인스턴스 유형, 키 페어, 하나 이상의 보안 그룹, EBS 등 인스턴스에 대한 정보를 지정한다.
시작 구성은 여러 개의 Scaling 그룹에 지정될 수 있으나, Auto Scaling 그룹은 하나의 시작 구성만을 지정할 수 있다.
또한 시작 구성은 한 번 생성한 이후에는 수정/변경할 수 없다.
이 기능은 인스턴스의 수를 늘리거나 줄이는 기능이다.
조정 작업은 이벤트와 함께 시작되거나, Auto Scaling 그룹의 인스턴스를 시작하거나 종료하도록 수행하는 조정 작업과 함께 수행된다.
조정 옵션은 아래와 같다.