본문 바로가기

AWS

[AWS] Auto Scaling (1/2)

Auto Scaling이란?

운영 서버에서는 대부분 단일 서버가 아닌 다중 서버로 구성이 되어 있습니다.

이는 많은 트래픽에 대응하고 어느 한 서버에 장애가 생기더라도 서비스가 안전하게 돌아가게 하기 위함입니다.

늘어나는 트래픽에 대응하기 위한 방법 중 하나는 scale out입니다.

Scale out이란 서버의 수를 늘리는 것인데, 단순히 서버의 수를 늘리는 것 뿐만 아니라

트래픽에 따라 자동으로 서버의 수를 늘리고 줄이는 auto scaling에 대해 보겠습니다.

 

https://docs.aws.amazon.com/autoscaling/

AWS Auto Scaling은 AWS에서 제공하는 자동 다중 서버 서비스입니다.

Auto Scaling Group이란 동일한 사양, 환경 등(동일한 AMI)을 가지고 있는 EC2 인스턴스들의 그룹입니다.

Auto Scaling은 인스턴스의 수를 트래픽에 따라 자동으로 조절해줍니다.

 

예를 들면, 2대의 인스턴스가 클라이언트의 요청을 나눠서 처리하고 있고 두 인스턴스의 평균 CPU 사용량이

10분동안 90%가 넘는다면(조절 가능) Auto Scaling Group에 같은 인스턴스를 하나 더 생성하여

요청을 같은 인스턴스 3대에서 나눠서 처리하게 됩니다.

사용량 뿐만 아니라, 사람들이 서비스에 많이 몰리는 시간에 맞추어서 조절 또한 가능합니다.

 

이를 저번에 만든 인스턴스 기반으로 실행을 해보겠습니다.

 

1. 저번에 만든 인스턴스를 중지시킵니다.

 

2. 인스턴스의 상태가 stopped가 된다면, 우클릭 후 이미지 생성을 해줍니다.

 

 

 

 

3. 왼쪽의 AMI 탭에 들어가면 생성한 AMI의 정보가 나오고, 상태가 available이 된다면 AMI ID를 복사해줍니다.

    그라고 복사를 할 인스턴스의 보안 그룹 또한 복사해둡니다.

 

4. 왼쪽의 시작 템플릿을 선택합니다.

    시작 템플릿이란 Auto Scaling Group에게 인스턴스를 생성할 때 어떠한 AMI 기반으로 생성할지, 

    그리고 서버 사양이나 보안 그룹 설정은 어떻게 할지 등 인스턴스에 대한 설정을 미리 정의해둡니다.

 

 

5. 시작 템플릿에 대한 정보를 설정해줍니다.

 

 

6. AMI ID는 아까 복사해 둔 AMI를 선택하고, 보안 그룹 또한 아까 복사해둔 보안 그룹으로 설정해줍니다.

 

7. 다음으로는 Auto Scaling 그룹 탭에서 Auto Scaling 그룹 생성을 클릭해줍니다.

 

8. 시작 템플릿을 클릭한 후 아까 설정한 템플릿을 선택해줍니다.

 

9. 다음으로는 Auto Scaling의 그룹을 설정해줍니다.

    그룹 이름과 최초의 인스턴스 수 등을 정해줍니다.

    서브넷은 인스턴스들을 어떤 네트워크 망에 띄울 것인지를 정하는 것이고,

    ap-northeast-2a와 ap-northeast-2c의 기본값을 모두 지정해줍니다.

    이는 인스턴스들 중 절반은 서울 리전의 a 가용 영역에, 다른 절반은 서울 리전의 c 가용 영역에 생성한다는 의미입니다.

 

10. 다음으로는 Auto Scaling 그룹 내 인스턴스 수를 자동으로 조절하기 위한 조정 정책을 설정합니다.

     조정 범위에서 최소 1대에서 최대 2대의 인스턴스를 실행해서 평균 CPU 사용률이 90%를 기준으로 설정해줍니다.

     이같이 설정해주면 CPU 사용률이 90%가 넘는지 안 넘는지에 따라 인스턴스의 수가 1대에서 2대까지 조절이 됩니다.

     

 

11. 다음으로는 알림 설정을 지정해줍니다.

    저는 테스트를 위한 것이므로 생략해주었습니다.

 

12. 다음으로는 태그 구성입니다.

     Auto Scaling 그룹 내 생성된 모든 인스턴트들은 여기서 설정한 태그와 값들로 생성됩니다.

     

 

13. 마지막으로 검토를 해보고, 이상이 없으면 Auto Scaling 그룹 생성을 클릭해줍니다.

 

14. 다음과 같이 Auto Scaling 그룹이 잘 생성된 것을 확인할 수 있습니다.

 

'AWS' 카테고리의 다른 글

[AWS] Elastic Load Balancer  (0) 2020.07.07
[AWS] Auto Scaling (2/2)  (0) 2020.07.02
[AWS] AWS EC2를 이용하여 인스턴스 생성 및 접속하기  (0) 2020.06.29
[AWS] EC2, AMI, 보안 그룹, 키 페어  (0) 2020.06.27
[AWS] 운영 서버  (0) 2020.06.26