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
반응형