[2023 기능대회 준비] 17. AutoScaling 개념 깎기

Yohan_05·2023년 3월 24일
2
post-thumbnail

오토 스케일링이란

클라우드의 유연성을 돋보이게 하는 핵심기술. CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭 값을 모니터링하여 서버 사이즈를 자동으로 조절하는 서비스를 말함.

클라우드 환경에선 Scale Out(수평확장)을 항상 염두하며 설계를 해야한다. 수직 확장보다 훨씬 유연하고 성능도 보장되기 때문.

스케일 인(Scale In)

Scale out으로 늘린 인스턴스를 다시 축소시키는 것.

이처럼 오토스케일링은 이런 스케일 인,아웃을 자동화하기 위해 나온 서비스임.
애플리케이션을 모니터링하고 용량을 자동으로 조정하는 역할을 하며, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지함.

오토스케일링의 목표

정확한 수의 ec2 인스턴스를 보유하도록 보장

  • 그룹의 최소 인스턴스 숫자와 최대 인스턴스 숫자를 관리
  • 만약 애플리케이션을 실행하기 위해 인스턴스가 3개 필요하다면, 3대 이상의 인스턴스가 항상 떠있을 수 있게 보장.
  • 최대, 최소 숫자 이하로 내려가고 늘어나지 않도록 인스턴스 숫자를 유지

다양한 스케일링 정책 적용 가능

  • CPU의 부하에 따라 인스턴스 크기 늘리기/줄이기

가용영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스를 분배

  • 서비스 장애가 발생허더라도 문제없이 서비스 이용.

오토스케일링 구성 요소

오토스케일링 그룹

  • ec2 인스턴스를 조정 및 관리 목적의 논리 단위로 취급될 수 있도록 그룹으로 구성
  • 그룹을 생성할 때 ec2 인스턴스의 최소 및 최대 인스턴스 수와 원하는 인스턴스 수를 지정하고 이 범위 안에서 scale in /out 이 일어난다.
  • 인스턴스 증감은 이 그룹안에서 이루어지게 되며, 사용자가 지정한 조건을 통해 실행된다.

시작(구성) 템플릿

AUto Scaling 그룹에서 인스턴스를 시작하는데 사용하는 템플릿. AMI라고 생각해도됨.
템플릿을 오토스케일링 그룹에 지정시킴으로서, 오토 스케일링을 통해 인스턴스를 늘리면 그 인스턴스의 환경 구성이 템플릿에 설정된 환경에 따라 복제됨으로서 서비스를 늘린다는 개념원리.

오토 스케일링 조정 옵션

  • Auto Scaling 그룹을 조정하는 다양한 조건 방법을 설정하는 옵션.
  • 현재 인스턴스 수준 유지 관리, 수동 조절, 일정을 기반으로 조정, 온디맨드 기반 조정 등등이있다.
  • CloudWath이나 ELB와 연계가 가능하다.
  • 아래 사진과 같이 어느 when 일때 take the action할지 옵션 조정 메뉴가 있다.

오토스케일링 동작 원리

  1. 클러스터가 있는데 8개가 필요함
  2. Ec2 하나가 터져버림
  3. 오토스케일링이 감지
  4. 시작 구성에 맞는 인스턴스를 생성을 해서 오토 스케일링 클러스터에 넣어줌.

마치며

다음편은 오토스케일링 실습.

profile
안녕하세요 DevOps 엔지니어로 현업에서 활동중인 요한이라고 합니다.

0개의 댓글