백앤드(Back-End)/AWS

[AWS] EC2 Auto Scaling 개념 및 설정

RyanSin 2021. 4. 3. 16:31
반응형

- 개요

안녕하세요. 이번 시간에는 EC2 Auto Scaling에 대해 알아보겠습니다.

 

AWS Auto Scaling은 정책(내가 정의한 법)에 따라서 시스템을 자동으로 늘리고 줄여주는 서비스입니다.

대표적인 EC2 인스턴스를 내가 정의한 설정에 따라 서버를 늘리고 줄여줄 수 있습니다.

 

간단하게 동작 방식을 설명하면 하나에 서버에 트래픽이 폭주하면 해당 서버에 CPU 사용률은 점점 높아집니다.

그러다, CPU 점유율이 내가 지정한 값을 몇 분간 지속적으로 유지되면 미리 준비된 이미지(AMIs)를 이용해서 인스턴스를 생성하고, ELB에 연결해 트래픽을 새로 생성한 EC2 인스턴스에 분산합니다.

 

만약, 트랙픽이 줄어들면 CPU 사용률이 줄어들면 EC2 인스턴스가 순차적으로 제거됩니다.

 

신기하죠?ㅎ 저도 실 서비스에 적용해 운영해본 적이 있었는데 정말 좋았습니다.(제가 해야 할 부분을 다 해결했습니다.)

 

그럼 지금부터 설정하는 방법에 대해 알아보겠습니다.

 

- 설치

우리는 몇 가지 선행 작업을 해야 합니다. 

1. EC2 인스턴스 생성 및 설정

2. 해당 EC2 인스턴스 AMI 생성

3. ELB 생성

 

위 3가지를 먼저 진행해야 됩니다. 아래 링크를 통해 세팅하고 오시는 걸 추천드립니다.

 

EC2 인스턴스 생성 : any-ting.tistory.com/66

 

[AWS] EC2 인스턴스 생성

- 개요 안녕하세요. 이번 시간에는 AWS EC2 서비스에 대해 알아보겠습니다. 클라우드 서비스에 대한 이해도가 있다면 좋겠지만, 모르시는 분들도 있기 때문에 간단하게 설명하도록 하겠습니다. 클

any-ting.tistory.com

EC2 인스턴스 AMI 생성 : any-ting.tistory.com/70

 

[AWS] EC2 인스턴스 이미지(AMI) 만들기

- 개요 안녕하세요. 이번 시간에는 AWS EC2 인스턴스 이미지를 만들어 보는 시간을 가져보겠습니다. 이미지(AMI)란 무엇일까요? Amazon Machine Image의 줄임말입니다. 사실 우리는 EC2 인스턴스를 생성할

any-ting.tistory.com

로드 밸런서 생성 : any-ting.tistory.com/69

 

[AWS] 로드 밸런서(Load Balancer) 개념 및 사용법

- 개요 안녕하세요. 이번 시간에는 AWS 로드 밸런서(Load Balancer)에 대해 알아보겠습니다. 로드 밸런서(Load Balancer)는 무엇일까요? 그리고 왜 사용해야 할까요? 로드 밸런서는 요청이 들어오는

any-ting.tistory.com

설정이 완료됐다면 이제 시작하겠습니다.

 

EC2 서비스 목록에서 Auto Scaling 항목에 Auto Scaling 그룹을 선택합니다. 그럼 아래와 같은 페이지로 이동합니다.

기본적으로 시작 템플릿 또는 시작 구성을 먼저 만들어야 Auto Scaling을 만들 수 있습니다.

 

시작 구성 생성 버튼을 눌러 생성하겠습니다. 그럼 아래와 같은 페이지로 이동합니다.

 

이름, 우리가 생성한 AMI, 새롭게 생성할 인스턴스 유형을 선택합니다.

 

그리고 디스크 볼륨을 설정하며, 보안 그룹을 설정하고 마지막으로 우리가 사용할 키 페어를 선택한 후 시작 구성 생성 버튼을 누릅니다.

 

생성이 잘 안료 됐다면 아래와 같은 화면이 보입니다.

 

이제 시작 구성을 만들었기 때문에 다시 Auto Scaling 그룹으로 이동합니다.

 

방금 우리가 생성한 시작 그룹을 선택합니다.

 

다음을 선택하고 네트워크 설정을 합니다.

 

서브넷은 항상 2개 이상 설정합니다.

 

VPC와 서브넷을 설정하고 다음 버튼을 클릭합니다.

 

우리는 로드 밸런서를 만들어 사용하기 때문에 "기존 로드 밸런서에 연결"을 선택합니다.

 

우리가 생성한 로드벨런서를 선택하고 다음 버튼을 클릭합니다.

 

그룹 크기 및 조정 정책을 설정하는 부분은 아주 중요합니다.

 

조정 정책에서 "대상 추천 조정 정책"을 선택하면 CPU 사용률에 따라 인스턴스를 생성하고 종료하는 여부를 판단합니다.

 

저는 대상 값을 30으로 설정했기 때문에 CPU 사용률이 30을 넘으면 그룹 크기에서 설정한 인스턴스를 생성합니다.

 

원하는 용량 : Auto Scaling을 설정 된 인스턴스 수

최소 용량 : 조정 값이 미만이면 해당 인스턴스 유지 수

최대 용량 : 조정 값이 초과 했다면 인스턴스 최대 생성 수

 

위 설정을 맞췄다면 다음 버튼을 클릭합니다.

 

알림 설정은 말 그대로 EC2 인스턴스가 시작되거나 종료할 때 그때 알림을 받을 때 사용됩니다.

 

기본 주제가 있다면 설정하고 없다면 아래와 주제 생성 버튼을 클릭해서 생성할 수 있습니다.

 

 

저는 만들지 않고 다음으로 넘어가겠습니다.

 

태그는 다른 서비스와 동일 기능입니다.

 

마지막으로 검토 화면에서 내가 설정한 부분을 체크한 후 문제가 없다면 생성 버튼을 클릭합니다.

 

우리가 생성한 Auto Scaling이 생성됩습니다.

 

그런 다음 인스턴스 항목을 보면 새롭게 인스턴스가 생성된 걸 확인할 수 있습니다.

 

해당 인스턴스를 로드벨러스에 연결해서 사용하면 됩니다.

 

해당 인스턴스 세부 사항을 보면 AMI를 통해 생성된 걸 알 수있습니다.

 

 

 

 

 

이번 시간에는 Auto Scaling에 대해 알아봤습니다. 꼭 실습을 해보시는 걸 추천드리겠습니다.