Auto Scaling - 생성
앞서 설정한 것은 새로 생성되는 인스턴스에 대한 것 이었고,
언제 어떤 조건에서 만들것이냐 하는 조건을 설정하는 것이 오토 스케일링 그룹이다.
프로그래밍과 비교했을 때 이벤트라고 생각하면 된다.
Group name은 해당 오토 스케일링 그룹의 이름이다.
우리가 먼저 설정한 Launch Configuration이 Group name 위에 있는데, 이는 해당 오토 스케일링이 실행될 경우
미리 설정한 인스턴스가 만들어지는 것을 뜻한다.
Group Size 라는 것은 오토 스케일링을 시작했을때 몇개의 인스턴스로 시작할까를 지정 하는 것이다.
그 다음 subnet이라고 하는것을 클릭해서 안에 있는 내용을 다 적용해준다.
이 Subnet이라고 하는 것은 가용 구역을 나타낸다.
가용 구역은 지역 내에 독립된 데이터 저장소로써 위와 같이 2개를 적용해 주면
번갈아가면서 인스턴스를 만들기때문에 가용구역 1개에서 문제가 일어나도 안정적으로 서비스를 제공할 수 있다.
모든 설정이 마무리 되면 아래의 Advanced Details를 눌러준다.
가장 처음에 Load Balancing이 있는데,
우리가 오토 스케일링을 정의해서 인스턴스를 만들면
오토 스케일링을 통해 인스턴스를 특정한 로드 밸런서에 자동으로 붙일 수 있다.
그때 사용하는 것이 Load Balancing이다.
따라서 이를 위해 우리가 만들어준 로드 밸런서를 입력해야한다.
나머지는 그대로 두고 다음으로 넘어간다.
이 페이지는 어떤 정책(상황)에 따라 인스턴스를 생성할 것 인지를 지정 한다.
첫번째 있는 Keep this group at its initial size는 초기에 지정해놓은 사이즈를 유지하는 것이다.
즉, 몇개의 인스턴스로 시작할것인지 지정 했던 내용에 맞추어 인스턴스를 생성한다.
인스턴스의 개수가 가변적이지 않다는 이야기이다.
아래에 Use scaling policies to adjust the capacity of this group은
컴퓨팅의 필요에 따라서 인스턴스를 늘리고 줄이는 작업을 처리하는것과 관련되어 있다.
인스턴스가 상황에 맞춰서 가변적으로 변하는 것이다.
우리는 가변적으로 처리하기 위해 Use scaling policies to adjust the capacity of this group을 선택한다.
그러면 위의 그림과 같은 페이지가 펼쳐진다.
아래의 scale between ~ 은 생성되는 인스턴스의 상한과 하한을 지정한다.
이를 설정함으로써 인스턴스가 너무 많이 생기거나 적게 생기는 것을 방지할 수 있다.
그아래 Increase Group Size는 어떤 상황에서 인스턴스를 증가시키거나 감소시키는 정책에 해당한다.
Excute policy when에 주황색으로 Add new alarm이라고 적혀있는데,
이는 오토 스케일링을 통해 만들어 놓은 인스턴스등을 감시를 하는 과정에서
인스턴스들이 특정한 상태에 도달했을때 알람이 오토 스케일링에 전달 되도록하는 기능이다.
주황색 알람 추가 버튼을 누르면 위와 같은 팝업이 뜬다.
Send a notification 이라고 되어있는 부분은 알람이 울렸을때 이메일이 가게하는 것이다.
다음으로 Whenever에서 CPU Utilization은 CPU 점유율을 뜻한다.
따라서 이 오토 스케일링 으로 인해서 만들어진 컴퓨터들의 CPU 점유율이, 예를 들어 60% 이상이고,
For at least에서 '이 상태가 5분 이상 지속된다면 알람을 울려라' 라는 식으로 설정이 가능하다.
이와 같은 설정이 끝났으면 알람 설정을 마친다.
Take the action은 위에서 만든 알람이 왔을때 오토 스케일링이 하는 일을 설정한다.
위에서 설정한 내용은 CPU 점유율이 60에서 80사이에 있으면 1대의 인스턴스를 만든 것이고
80이상이 되면 2개의 인스턴스를 한번에 더 만든다는 것이다.
Increase에 대한 설정이 끝났으면 동일하게 Decrease에 대한 설정도 마무리하고 다음 스텝으로 넘어간다.
오토 스케일링이 동작한다는 것은 단순히 자동화를 넘어, 상당히 중요한 정보이다.
왜냐하면 이러한 상황에는 시스템에 큰 문제가 생겼을수 있기 때문이다.
그래서 특정한 경우에 AWS로부터 통보를 받는 기능이다.
가장 먼저 통보 받을 수단을 설정(send a notification to)하는데,
누가 이메일을 받을것인지(With these recipients),
어떤 상태(Whenever instances)에서 받을 것인지에 대한 설정이 가능하다.
만약 복수의 담당자가 통보를 받아야한다면 Add notification을 다시 클릭해 준다.
설정이 완료되었으면 다음 스텝으로 계속 넘어가고 리뷰페이지에서 최종적인 상태를 점검하고
오토스케일링 그룹을 생성한다.
최종적으로 위와 같은 화면이 나오면 성공이다.
인스턴스가 현재 1개이며 최소 1개 최대 3개의 인스턴스를 만든다.
그리고 300초의 대기 시간을 가지며 이후에 인스턴스 생성과 삭제가 가능하다.
로드 밸런서로 들어가보면 위의 그림과 같이 오토 스케일링을 통해서 자동으로 만들어진 인스턴스가
로드 밸런서에 붙어있는 것을 볼 수 있다.
이와 같이 오토 스케일링을 생성했다면
트래픽이 몰릴 때 자동으로 인스턴스를 생성해서 자동으로 로드 밸런싱을 해줄 수 있다.
출처 : 생활코딩, 아마존 웹 서비스
'개발' 카테고리의 다른 글
[AWS] Nodejs를 위한 AWS SDK (0) | 2017.05.18 |
---|---|
[AWS] AWS를 제어하는 방법 (0) | 2017.05.17 |
[AWS] Auto Scaling - Launch Configuration (0) | 2017.05.17 |
[AWS] Scale Out - ELB 적용 (0) | 2017.05.13 |
[AWS] Scale Out - ELB 생성 (0) | 2017.05.13 |
댓글