AWS
Scailing
동 캄
2023. 3. 13. 10:00
반응형
Scaling
- 기존의 인스턴스보다 더 좋은 성능( CPU, Memory, Storage등)의 인스턴스가 필요할 때, 사용하는 방법으로 인스턴스 성능을 높이거나(Scale Up), 여러 인스턴스에 분산 시켜(Scale Out) 성능을 높이는 방법이다.
- Capacity를 높이는 작업이다.
Scale Up
Scale Up 이란?
- 기존의 인스턴스보다 더 좋은 성능의 인스턴스로 교체하여 성능을 높이는 작업이다.
방법
- Elastic IP (고정 IP)를 할당 받아, 기존의 인스턴스에 사용한다.
- Scale up 하고 싶은 인스턴스를 선택하고, 해당 인스턴스를 이미지화 시킨다.
- 성능이 좋은 인스턴스를 생성하고, Elastic IP를 할당한다.
- 이전 인스턴스는 Terminate 시켜 삭제한다.
Scale Out
Scale Out 이란?
- 기존의 인스턴스를 포함하여 인스턴스를 추가하여 사용하는 작업이다. 여러 인스턴스를 사용하므로, Load Balancer라는 기술을 사용한다.
- 인스턴스에 문제가 생겼을 때 자동으로 관리해주는 기능도 있다.
Auto Scaling을 사용하면, 주기적으로 사용자의 인스턴스에게 요청을 보내, 요청에 제대로 응답하는지 확인하고, 응답이 늦거나 없으면 해당 인스턴스를 UnHealthy 하다고 보고, 해당 인스턴스를 중지시킨다. UnHealhy 한 상태에서도 주기적으로 응답을 보내, 응답이 TimeOut전에 정상적으로 온다면, Healthy한 상태로 보고, 해당 인스턴스를 다시 실행시킨다.
방법
- 추가로 사용할 인스턴스들을 생성한다.
- Load Balancer를 생성하여, 환경설정을 마친다.
- Load Balancer에 인스턴스들을 추가한다.
Scale In 이란?
- Scale Out 으로 늘렸던 인스턴스들을 다시 줄이는 작업이다.
Auto Scaling
- AWS에서 제공하는 Auto Scaling은 사용자의 환경 설정(CPU, Storage, Memory 사용량등)에 따라 자동으로 인스턴스를 Scale Out, Scale In을 해주는 자동화 작업이다.
EX) 사용자가 인스턴스들의 5분 평균 CPU 사용률이 60% 이상이면 추가로 인스턴스를 생성, CPU 사용률이 30%이상이면 인스턴스를 삭제하게 지정할 수 있다.
- 인스턴스에 문제가 생겼을 때 자동으로 관리해주는 기능도 있다.
Auto Scaling을 사용하면, 주기적으로 사용자의 인스턴스에게 요청을 보내, 요청에 제대로 응답하는지 확인하고, 응답이 늦거나 없으면 해당 인스턴스를 UnHealthy 하다고 보고, 해당 인스턴스를 중지시킨다. UnHealhy 한 상태에서도 주기적으로 응답을 보내, 응답이 TimeOut전에 정상적으로 온다면, Healthy한 상태로 보고, 해당 인스턴스를 다시 실행시킨다.
반응형