본문 바로가기
AWS

[AWS] ELB - ASG ; Auto Scaling Group

by 가영리 2024. 5. 27.
728x90

Auto Scaling Group이란?

Auto Scaling 이란, 자동으로 서버 인스턴스에 대해 크기(Scale)을 관리해주는 기능

1. CPU, 메모리, 네트워크 응답 속도 등의 지표를 통하여 갑자기 몰려드는 요청이나 , 특정 인스턴스에 장애가 나더라도 사람이 직접 나서기 전에 시스템이 자동으로 대처하게 할 수 있습니다.
2. Auto Scaling Group에서 어떤 경위로 인스턴스 수가 자동으로 변경됐는지 아메일로 알림을 받아 서비스가 이상이 생겼는지 파악할 수 있습니다.
3. 서비스 특성 상 사용자가 몰리는 시간, 몰리지 않는 시간에 최소/최대 값을 지정하여 서버 비용을 효율적으로 관리가 가능합니다.
 

Auto Scling Group 생성하기

1. 그룹 이름을 작성한다.

2. 시작 템플릿을 생성한다. 이렇게 하면 ASG 내부에서 EC2가 시작되는 방식을 정의할 수 있다.

2.1 시작 템플릿 이름 및 설명을 작성한다.

2.3 애플리케이션 및 OS 이미지를 선택한다.

2.3 인스턴스 유형

2.4 키페어 적용

2.5 네트워크 설정

2.6 스토리지

2.7 사용자 데이터

3. 시작 템플릿을 적용한다.

4. 인스턴스 시작 옵션

VPC를 선택하고, 서브넷으로 실행할 가용 영역도 선택한다.

5. 로드밸런서에 연결하기

5.1 기존에 만들어 놓은 로드밸런서의 대상 그룹을 선택한다.

5.2 상태 확인

ELG가 인스턴스를 비정상으로 간주하면 ASG가 자동으로 인스턴스를 종료한다.

6. 그룹 크기

오토스케일링 될 때 그룹에 인스턴스의 개수를 1개로 정한다.

 

7. 생성 완료

이제 ASG 생성이 끝났다.

이제 ASG가 1개의 EC2 인스턴스를 생성해 줄 것이다.

ASG가 EC2를 생성하는 지 확인하려면 작업 기록을 보면 된다.

현재 오토 스케일링 그룹 용량은 0인데 우리는 최소 1로 지정했기 때문에 EC2 인스턴스 한 개를 생성한 것을 볼 수 있다.

이렇게 이름없는 인스턴스 한 개가 생성되어있다. 

시작 템플릿에서 대상 그룹을 연결하도 설정해놓았기 때문에 ASG가 만든 EC2 인스턴스도 자동으로 대상 그룹에 추가된 것을 볼 수 있다. 

8. 테스트

ALB의 DNS 주소로 접속한다.

My First Instance와 My Second Instance가 중지되어있어도 ASG가 생성한 인스턴스 때문에 연결이 잘 된다.

계속 새로고침을 해도 ip주소가 하나인 것은 현재 ASG의 인스턴스 개수를 1개로 지정했기 때문이다.

 

스케일링 하기

오토 스케일링 그룹 크기를 조정하여 스케일링을 해보자.

1. 그룹 크기를 업데이트한다.

2. 작업 기록을 확인해보니 EC2 개수가 1개에서 2개로 변경된 것을 확인할 수 있다.

3. 다시 웹 페이지를 새로고침 해본다.

두 개의 ip주소가 반복해서 출력되는 것으로 보아 2개의 인스턴스가 잘 생성된 것을 알 수 있다.