참고 영상
Scaling이란?
인스턴스 혹은 컴퓨팅 파워를 늘리는 것을 의미한다.
Scaling 종류
1. Vertical Scalie(Scale Up)
인스턴스의 성능을 올린다.
단점
- 성능과 가격이 비례하지 않는다 (ex. 성능 16배 가격 30배)
- 성능을 많이 올리는 것에 물리적 불가능이 존재한다.
- 사용량 변경에 따라 scale 변경이 유연하지 못하다.
2. Horizontal Scale(Scale Out)
인스턴스의 규모를 늘린다.
장점
주의점
- 많은 인스턴스를 관리하고 운용하기 위한 아키텍쳐 설계가 필요하다.
Auto Scaling이란?
애플리케이션을 모니터닐하고 용량을 자동으로 조정하여, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지한다.
AWS Auto Scaling 종류
EC2 Auto Scaling
목표
- 정확한 수의 EC2인스턴스를 보유하도록 보장
-> 그룹의 최소 인스턴스 숫자 및 최대 인스턴스 숫자를 정할 수 있다.
-> 다양한 스케일링 정책 적용할 수 있다. (ex. CPU 부하(유저의 접속)에 따라 인스턴스 크기 조절)
- 가용영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스를 분배
-> 서비스의 장애를 최소화 시킬 수 있다.
구성
- 시작 구성(launch configurations)/시작 템플릿(launch template) : 무엇을 실행 시킬래? 어떤 인스턴스를 늘릴래?
- EC2의 타입, 사이즈
- AMI
- 보안 그룹, Key, IAM
- 유저 데이터
- 모니터링 : 언제실행 시킬래? + 상태확인
- CloudWatch(모니터링), ELB(부하 분산)와 연계
(ex.CPU 점유율이 일정 %를 넘어섰을 때)
- 설정 : 얼마나, 어떻게 실행시킬래?
- 최대 / 최소 / 원하는 인스턴스 수
- ELB와 연동 등
Autoscaling 동작 방식
EC2 인스턴스에 문제가 모니터링을 통해 감지되면 Autoscaling이 시작구성을 통해서 인스턴스 생성우 문제가 발생한 인스턴스를 대신한다.