Auto Scaling에서 자동 스케일, 수동 스케일을 통해 EC2 인스턴스를 추가 및 제거해 보기

Auto Scaling에서 자동 스케일, 수동 스케일을 통해 EC2 인스턴스를 추가 및 제거해 보는 방법을 정리해 봤습니다.
2023.11.04

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 Auto Scaling에서 자동 스케일, 수동 스케일을 통해 EC2 인스턴스를 추가 및 제거해 보는 방법을 정리해 봤습니다.

Auto Scaling 그룹 생성

먼저 자동 스케일, 수동 스케일을 테스트하기 전에 Auto Scaling 그룹을 생성해야 합니다.

생성하기에 앞서 시작 템플릿을 생성합니다.

스펙은 다음과 같이 설정했습니다.

  • 인스턴스 타입 m6i.large
  • OS : Amazon Linux 2 Kernel 5.10 AMI 2.0.20231101.0 x86_64 HVM gp2

  • Auto Scaling 그룹의 이름을 입력합니다.
  • 조금 전 생성한 시작 템플릿을 선택합니다.

  • VPC를 선택합니다.
  • Auto Scaling을 통해 EC2가 생성될 가용 영역 및 서브넷을 선택합니다.

  • 그룹 크기를 지정합니다.
  • 크기 조정 정책의 경우「없음」으로 선택합니다.
    • 이후 별도로 정책을 생성하여 스케일 작업을 실시할 생각입니다.

그 외 설정값들은 디폴트로 진행하여 Auto Scaling 그룹을 생성했습니다.

자동 스케일

Auto Scaling 그룹에서「동적 크기 조정 정책 생성」을 클릭합니다.

  • 「단순 크기 조정」을 선택합니다.
  • 아직 생성한 CloudWatch 알람이 없기 때문에「CloudWatch 경보 생성」을 클릭합니다.

지표에서 EC2 → Auto Scaling 그룹별에서 대상이되는 Auto Scaling 그룹의「CPUUtilization」지표를 선택합니다.

  • 「정적」을 선택합니다.
  • 「보다 크거나 같음」을 선택합니다.
  • 보다 수월한 테스트를 위해 임계값을「35」로 설정했습니다.

그 외 디폴트 값으로 CloudWatch 알람을 생성합니다.

이번에는 EC2 인스턴스를 제거하기 위한 CloudWatch 알람입니다.

  • 「보다 작거나 같음」을 선택합니다.
  • 10보다 작은 경우 추가 인스턴스를 삭제합니다.

CloudWatch 알람 설정이 끝났다면 다시 Auto Scaling 그룹으로 돌아와서 정책을 생성합니다.

  • 「단순 크기 조정」을 선택합니다.
  • 조금 전 생성한 CloudWatch 알람을 선택합니다.
  • CPU 사용률이 35%를 넘으면 EC2 인스턴스 1대를 추가합니다.
  • 「생성」을 클릭합니다.

반대로 CPU 사용률이 10% 보다 작거나 같은 경우 EC2 인스턴스 1대를 삭제한다는 정책도 생성합니다.

테스트를 위해 인위적으로 CPU 사용률을 올립니다.

상세한 명령어는 아래 블로그를 참고해 주세요.

실제로 CPU 사용률이 35%를 넘었더니 하나의 EC2 인스턴스가 추가 되었습니다.

작업 기록을 확인해 보면, 설정한 CloudWatch 알람을 통해 EC2 인스턴스가 추가된 것을 확인할 수 있습니다.

이후 CPU 사용률이 10% 밑으로 떨어지면 한 대의 EC2 인스턴스를 삭제합니다.

수동 스케일

수동 스케일의 경우 직접 Auto Scaling 그룹을 편집하여 EC2 인스턴스를 늘리는 방식입니다.

그룹 크기에서 원하는 용량을 수정합니다.

상태가「용량 업데이트 중」으로 변경됩니다.

용량 업데이트가 끝난 후 EC2 인스턴스를 확인해 보면 한 대의 인스턴스가 추가되어 총 3대의 EC2 인스턴스가 실행 중인 것을 확인할 수 있습니다.

본 블로그 게시글을 읽고 궁금한 사항이 있으신 분들은 kis2702@naver.com로 보내주시면 감사하겠습니다.