Devops/Cloud(AWS)

[클라우드 컴퓨팅] 7. AWS Auto Scaling

KeyDi 2022. 10. 7. 03:21
728x90

AWS - Auto Scaling

(서버 용량 자동 확장/축소 EC2 instance 서버 수/용량 자동 확장 축소. (비용 절감))

 

가용성 (Avilability) : 시스템이나 서비스가 가동 및 실행되는 시간의 비율 (중지 X)

확장성 (Scalability) : 서비스나 응용프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도 (Scale up, Scale out)

 

Auto Scaling이란?

  • Application의 로드를 처리할 수 있는 정확한 수의 EC2 instance를 보유하도록 보장
  • Auto Scaling Group
    • EC2 instance 모음
    • 최대, 최소, 목표 instance 개수 지정
  • Application의 가용성을 간편하게 관리 : 조정 정책을 지정하여 application 수요에 따라 instance 시작/종료

-> 요구사항 많으면 많은 개수 인스턴스, 적으면 적은 개수 인스턴스 자동으로 유지할 수 있도록 지원하는 서비스.

-> 조정 정책을 이용한 수요 조절

 

장점

  • 내결함성 향상 : 비정상적 instance 탐지 및 정상적 instance로 대체
  • 가용성 향상 : 트래픽 처리할 수 있는 적절한 용량
  • 비용 관리 개선 : 동적으로 instance 시작 및 종료
  • 가용 용역 전반에 instance 분산 (이중화)
    • 이중화를 통한 보안, 안정성 확보
    • 재분배 활동 (AZ 간 불균형 시 재분배 - 이전 instance 종료 전, 새 instance 시작)
  • 가변 수요 대체

  • 웹 앱 아키텍처 지원
    • 고객의 트래픽을 처리하기 위해 여러 개의 app 사본을 하나의 EC2 instance에서 호스팅, 각각 고객 요청 처리
    • Auto Scaling은 EC2 instance의 시작/종료를 관리
    • 시작/종료를 결정하는 조건 (CloudWatch 경보 등) 집합 정의
    • application의 가용성, 내결함성 향상
    • ELB(Elastic Load Balancer)와 결합되어 인스턴스 간 트래픽 분산

 

Auto Scaling의 구성 요소

  • Amazon Auto Scaling Group
  • 구성 템플릿 (Configuration template) : EC2 instance의 사양을 정의. 템플릿을 이용해서 EC2를 자동으로 복제
  • 조정 옵션 : 수요를 판단하는 지표

Amazon Auto Scaling Group

  • 논리적 단위로 처리되는 EC2 인스턴스의 모음
  • 인스턴스의 조정 및 관리 목적으로 구성된 논리적 그룹
  • 인스턴스의 수조건(템플릿)에 따라 자동 조정 및 관리하는 auto scaling의 핵심 기능
  • 그룹의 최소, 최대 및 원하는 용량 정의

 

구성 템플릿 (Configuration template) - 시작 구성

  • 인스턴스를 시작하는 데 사용하는 템플릿
  • auto scaling group이 생성되기 위해서 EC2 instance를 어떻게 만들 것인가를 설정
  • AMI, instance type, key pair, 보안 그룹, EBS 등 인스턴스에 대한 정보를 지정

 

조정 옵션 - auto scaling group 조정

  • 인스턴스의 수를 늘리거나 줄이는 기능
  • 이벤트와 함께 시작 또는 auto scaling group의 조정 작업과 함께 시작
  • 조정 옵션 : 그룹 조정 방법/정책
  • 현재 인스턴스 수준 유지
  • 수동 조정 / 일반 기반 조정
  • 온디맨드 기반 조정 - 사용률에 따른 조정

 

수명 주기

  • auto scaling group이 instance를 시작하고 서비스 들어갈 때 수명 시작
  • instance 종료, auto scaling group에서 instance를 제외시키고 종료할 때 수명 종료
  • 확장
    • EC2 instance를 시작하고, 그룹에 연결하라고 지시
    • 수동 조정, 조정 정책에 따른 동적 조정, 특정 시간에 조정하는 예약/일정 조정
  • 축소 (분리)
    • 수동 조정, 조정 정책에 의한 동적 조정, 특정시간에 조정하는 예약/일정 조정

 

Auto Scaling 관련 서비스

  • Amazon EC2 클라우드에서 가상 머신 생성/실행
  • Amazon CloudWatch : 지표를 관찰하기 위함
    • 조정 정책 활성화
    • Auto Scaling 그룹과 EC2 인스턴스에 대한 지표 모니터링 (사용량을 모니터링)
  • Elastic Load Balancing 과 결합 가능
    • 수신되는 application traffic을 AS group의 instance에 자동으로 분산

 


요약 )

AWS auto scaling

  • 쉬운 인프라의 증설 / 축소, 확장성, 탄력성
  • 서버나 애플리케이션 모니터링하고 리소스 자동 조정 (Scale in / out)
  • 비용 절감

 

EC2 auto scaling의 동적 조정

  • Application의 수요에 따름
  • Application 로드 지표 선택 (CloudWatch)
  • 조건부 또는 일정 예약 설정 가능

 

EC2 auto scaling을 사용한 플릿(함대) 관리

  • 중단 없이 손상된 EC2 instance 교체
  • 실행 중인 인스턴스 상태 모니터링
  • 손상된 인스턴스 자동 교체
  • 여러 AZ에서 용량 밸런싱 (ELB 연결)
728x90
반응형